Software Engineer2020 - 2020Clients (via Toptal)
Technologies: wxWidgets, Perl, C++
- Collaborated with the client to understand their goals and timeline and devised a game plan to release an MVP that fits into their schedule.
- Developed a native C++ application from scratch using the GUI framework wxWidgets that hooks into the client's current processes and provides new and richer user experience.
- Packaged the application into a Microsoft installer that sets up all its dependencies, allowing end-users to immediately get going.
- Researched various licensing methods and presented plans to move forward using different approaches with pros and cons for each.
- Provided frequent updates to iterate quickly.
Lead Software Engineer2016 - 2019FactSet
- Managed portfolio batches, a portfolio dashboard, and nextgen migration teams in the portfolio-analytics division to develop the back-end infrastructure and web apps to fulfill mission-critical production processes for more than 1,000 clients.
- Initiated the project to create a unified web application (a portfolio-reporting batcher) to replace four legacy batching apps, by delivering a one-stop solution for clients’ batching workflows (AngularJS, TypeScript, Node.js).
- Designed a long-running infrastructure to offload portfolio reporting batcher complex operations to background processes which significantly increased the success rate of job runs by 40% (Node.js, Redis).
- Created a centralized batch API to orchestrate and manage 50,000+ reports per job, reducing code redundancy by one-third (C++).
- Led the design and development of an automated conversion system to seamlessly migrate 10,000+ client documents and jobs onto our next-gen platform, saving product managers six months of manual work (Perl, C++, MySQL, and SQL Server).
- Collaborated with project managers and other engineering groups to plan and prioritize projects and then break them into scrum epics and stories for my teams (agile).
Senior Software Engineer2011 - 2016FactSet
- Led a team of four to develop the portfolio publisher application and all portfolio-batching applications to provide large-scale analytics and client-reporting solutions.
- Redesigned the legacy portfolio batcher infrastructure from running jobs in-process to running with distributed services, improving scalability and stability with no disruption to clients’ production processes (C++).
- Created a unified API to replace the different legacy frameworks used by three portfolio publisher applications, reducing the number of client issues by more than 50% (C++).
- Optimized the publisher document manager application, shortening runtime of loading 9,000+ documents from an hour to two minutes (C++).
Software Engineer2007 - 2011FactSet
- Developed both the front end and back end of the portfolio publishing applications to implement major enhancements and solve client issues.
- Built a private wealth manager from scratch by introducing FactSet into the wealth management space, and now it has become the foundation for FactSet to develop its next-generation wealth solutions (C++).
- Optimized portfolio-lookup widgets, by improving performance in speed and space by more than 50% (C++).