Software Architect
2017 - PRESENTThe Pro's Closet- Implemented a tool which auto-generates SKUs, customers, and POs from submission information (saves thousands of man hours for our purchasing team).
- Launched, maintain and improve the website www.theproscloset.com.
- Designed and launched a partner bike trading tool which allows customers to sell their bikes to TPC via a partner website (REI, Pivot Cycles, QBP, more to come).
- Implemented a tool which allows customers to save the filters they are currently looking at in order to receive email updates when new products matching the criteria are added to the site.
- Implemented a tool which auto uploads images from photographer computers to Channel Advisor.
- Implemented a tool which uses machine learning in order to find sold bikes which are most like a given bike to save purchasers time in researching a product.
- Deployed all of our services and apps in AWS.
- Wrote scripts that collect data from all of our third-party systems in order to create reports and other internal tools.
Technologies: Node.js, React, MySQL, Javascript, Shopify, AWS, PythonSenior Software Engineer
2016 - 2017Fresenius Kabi- Switched authentication from IIS Windows authentication to Microsoft Identity which provided a lot more flexibility with logouts, timeouts and working with multiple tabs.
- Implemented a driver from scratch for one of our legacy devices which uses ASTM protocol for communication, and cleverly made it read asynchronously from a TCP stream (not supported by .NET out of the box).
- Greatly reduced resource consumption of our system by using asynchronous programming and caching.
- Reduced the coupling between queues and messages when using RabbitMQ so the interface is a lot more reusable and friendly.
- Implemented React into our MVC application in order to create complex charts more easily than with jQuery.
Technologies: C#, JavaScript, SQL, RabbitMQ, ASP.NET, MVCSoftware Engineering Intern
2015 - 2015Motorola Solutions- Created a Wireshark Dissector for Google's Protocol buffers.
- Loaded shared libs at run-time to be able to swap Protobuf Messages dynamically (prevent recompiling).
- Parsed config files to find resources at run-time (prevent recompiling).
- Used preprocessor code in order to make the dissector compatible with Win and Linux under one source.
- Wrote installation scripts in Python.
Technologies: C, C++, Python