Prashant R Jain
Verified Expert in Engineering
The most amazing...
...and challenging opportunity I've had is at VMWare. I fixed many critical UI performance issues that were preventing business units from shipping the products.
- Implemented a mini framework based on React Testing Library and Antd component library. This made our custom components and the overall application testing easy for the entire team.
- Implemented an endpoint mocking framework to mock XMLHTTPRequest (XHR) using npm packages like xhr-mock and jest-fetch-mock.
- Won a hackathon that demonstrated how we could upsell to customers through the UI application.
- Evaluated, integrated, and customized Dynatrace for the application's APM and RUM needs.
- Identified a TMS platform that was development process friendly and led i18n of the UI application. Integrated with the TMS and internationalized the UI application.
- Created a POC to prove we could render 50,000 nodes in the HTML canvas without using any third-party library. This POC was solely based on the native HTML5 Canvas.
- Identified many performance issues in the entire stack and fixed them. Implemented CDN for CDN caching and content-hashed UI build for browser caching of static resource files.
Senior Staff Engineer
The Trade Desk
- Wrote complex unit tests using Jest and React Testing Library.
- Developed a mini framework on top of the component library to make testing easier and quicker for all developers.
- Created multi-step wizards related to campaign and advertisement management features.
- Worked on eliminating Redux from the UI application.
- Developed the UI application from scratch, including the scaffolding and the build.
- Mentored junior engineers and new college graduates.
- Built new complex infrastructure visualizations, namely a date-based heat map chart.
Staff II Engineer
- Acted as the hands-on UI lead engineer of an HTML5 application for the Networking and Security group.
- Developed complex networking topologies using SVG and D3.js.
- Fixed ship blockers for the VCloud director and NGC release.
- Identified and selected the UI framework and developed the scaffolding and the UI build system as the first UI engineer for the NSX product.
Senior Software Engineer
- Interviewed many Cisco employees to capture the future internal corporate directory application requirements.
- Wrote functional, technical, and design documents and shared them with architects and other cross-functional team members.
- Implemented many parts of the directory UI application.
Senior Software Engineer
- Developed a chip failure analysis application for the chip QA team.
- Built a board failure analysis application for the board QA team.
- Created a corrective action request application to improve processes within the company.
- Developed many HR applications, namely the Yearly Review tool.
VMWare | vCloud Director
I was one of the UI engineers on this project. The memory of the Chrome tab running the UI would go up to 2 GB and eventually crash. The memory leaks that vCloud Director was experiencing were a problem for many other UI applications developed within VMWare using Adobe Flex. I was assigned the task of fixing the performance issues in vCloud Director.
I started debugging the memory leaks when a view was removed from the DOM. Going from View1 to View2, I learned that all the objects in View1 would leak. Studied the framework code and built a generic view garbage collector that would de-reference all framework-created references, including parent or child references, event listeners, and data bindings. A hack in the flash VM also helped kick the garbage collector every 20 seconds.
The end result was the generic module that helped GC 80-90% of objects. This module was adopted by every business unit at VMWare and enabled them to ship their products.
Lacework | Polygraph CyberSecurity
There were many performance problems in the applications. Engineers refused to own these issues, and these performance issues also impacted sales. I was assigned to get to the root of these issues and find the performance bottlenecks.
I started with getting two APM/RUM tools in our environment, Dynatrace and Honeycomb. The data from these tools exposed performance issues in the entire stack, including infrastructure, UI, UX, back-end services, and database queries. This data was shared with the whole engineering organization.
On the infrastructure side, we enabled HTTP2, CDN, and browser caching of static resource files using webpack content hashing. The database and API teams worked on improving the performance in their layer.
As a result, customers who refused to renew licenses because of performance issues have renewed their yearly contracts, the UI runs much faster than it used to, and test cases were created for old APIs. Every new API now has to be backed by a performance test case.
Salesforce | Infrastructure Monitoring
I was assigned to build a weekly heat map that visually represents the predicted performance of the servers for the next two months. The data science team provided the performance data and future predictions.
I used AGGrid to build a grid-based heat map. Some of the features of this grid heat map include:
• Weeks represented in columns
• Sortable, moveable, and resizable columns. The column states were stored in the local storage and applied on every user visit.
• Columns pinned to the left and right
• Providing a column selector to show and hide the columns
• Weekly columns with gradient red, green, and yellow colors based on severity.
As a result, users were happy with the overall UX because it made their life easy. The data was well represented using gradient colors, making it easy to identify the week when a server would start peaking or run out of disk space. Also, a lot of code written was modularized for reuse and was reused in other parts of the UI application.
Jest, Redux, Adobe Flex, Express.js, MUI (Material UI), Ext JS, CanJS, ASP.NET
MySQL Server, RDBMS