Principal Software Engineer
At Dell EMC I was a member of a team that used machine learning to determine the physical placement of data on different storage tiers in order to provide the customer with the best response time when accessing their data. This software was delivered on a large-scale distributed system.I was responsible for the design and development of the software infrastructure that scheduled and selected the data sets that were input into the machine learning algorithms. I also developed a thread pool infrastructure which allowed functionality to be executed using a generic multithreaded mechanism which removed the need for dedicated threads. This simplified the threading model of the system as well as reduced the use of system resources. I led the development of a Linux based software simulation environment which allowed offline code development and customer data analysis. This simulation environment increased engineer productivity by reducing software build and load times while providing a more conducive debug environment.