Principal Software Engineer
• Led a team of developers 4-10 in the development of a new Biotech research device. o Interfaced with all stake holders to create requirements, documentation (technical and user), diagrams, flowcharts and videos.• Cut years off the necessary development time for software, hardware and scientists by finding ways to remove software development as an impediment to other work flows. o Hardware was waiting on development 1-2 weeks every time they needed to test new functionality. I designed a “Direct Commands” system that allowed them to pass their commands directly to the hardware, while still using the monitoring and logging from the rest of the system. This allowed them to do all their work without having to wait on developers. o Changed software workflow to catch design problems earlier and avoid rework.• Automated many parts of the software to increase experiment speeds, reduce complexity for scientists and engineers, and improve safety.• Created a hardware programming system (Classes, Objects, Variables (Class and Instance), Polymorphism, parallel operations, and breakpoints) to allow our scientists and engineers to quickly program all the hardware. o Taught scientists basic programming.• Reduced the costs of each system by: o Removing the need for 2 of 3 computers. o Reducing the file sizes for the experimental data down to < 1% of its’ previous size using various strategies for more efficient packing, and removing irrelevant data.• Designed a data driven experiment wizard, which allowed scientist to create new experiments without developer involvement.• Improved the data acquisition system to create more accurate data, then increasing its’ speed by ~7x, meeting the requirements for their next gen system.• Designed a learning algorithm that allowed us to get the experiment run-time estimations down to ~1 second per hour (way lower than the desired hour per day). This also allowed long term diagnostics by showing performance changes.