Embedded Software Engineer
Current• Built and automated Docker containers to create a hardware agnostic data processing solution and significantly reduce engineering time necessary to deploy solution when hardware changed or went EOL.• Developed and maintained embedded software for monitor and control of high-rate modems, data processors, and other ground station systems – included writing C to aggregate and display data for users. • Led a team to design and implement feature to make modem compliant with Digital Intermediate Frequency Interoperability (DIFI) standard – included creating high-level architecture for RTL and SW design. • Designed, implemented, and verified FPGA programmable logic for demodulating and decoding satellite downlink data with a wide range of modulations, coding schemes, and baseband standards. • Based on primary literature of novel coding scheme, created low level design, developed Matlab simulation, and implemented System Verilog module to perform error detection and correction.• Conducted rigorous testing and simulation by developing testbenches, using SignalTap, and automating testcases to verify operation of RTL blocks, this led to a reduction of bugs discovered during QA.• Designed and implemented monitor and control software to coordinate modem workers in Edge Computing solution, used Data Plane Development Kit to transfer and aggregate data via worker’s network interfaces.• Authored and maintained documentation for software development processes, tool utilization, and build environment specifications.• Researched and configured COTS servers to use as HW agnostic Data Processor solution, later provisioned these serves and conducted regression testing to ensure compatibility and gauge performance.• Developed unit tests and software according to the Test-driven development cycle. Used mock classes to streamline development and maintain unit test compatibility until software was completed.