Career Profile
Software manager and engineer with over 12 years of experience in leading software engineering and program management across diverse industries. Strong expertise in embedded software development, distributed systems, and operating systems. Experienced in managing and coaching teams of varying sizes (50+), including managing other managers, developing project strategies, and driving technical innovation. Excels at stakeholder relationships, project management, and driving continuous process improvement. Programs in C/C++, Java, and Python.
Experiences
- Engineering Leader - Bringing wireless power to consumer electronics!
- Group Manager - Manager of a diverse team of 50+ managers and software engineer ICs focusing on camera control, display, calibration, and program management.
- Reliability - Corrected troubled IVAS program software reliability issues by instituting a rigorous Failure Mode and Effects Analysis and creating both short and long term roadmaps to fix deep technical debt. Instituted regular risk management reviews. Reliability increased by 2 orders of magnitude.
- Device Production - Corrected yield problems in production of IVAS units. Collaborated effectively with diverse cross functional teams across Microsoft to increase First Pass Yield by 30% on initial production run.
- Open Source - Team collaborated with open source maintainers to fix dozens of code scanning and security issues.
- Security and Compliance - Led core system code through first Security Technical Implementation Guides (STIG) compliance. Enabled automated code scanning with tools such as Fortify, binskim, credscan, and CodeQL.
- Third Party Engagement - Drove software engagement with chip manufacturers such as Qualcomm on HoloLens 2 and IVAS programs. Worked closely to fix 100+ code scanning and reliability software issues.
- Software Planning and Execution - Managed platform software planning and releases. Deeply involved in software branching and repository structuring. Delivered 10+ software releases for both IVAS and HoloLens 2.
- Communication - Held weekly and biweekly team meetings where I presented current program goals and priorities and what the team progress was. Sent regular mails across the organization to ensure everyone was informed on program changes. Internal poll scores on communication increased 30%.
- Engineering Leader - Championed multiple roles including system architect, platform subsystem lead, and the software technical lead for 100+ hardware and software engineers on the Prime Air drone program.
- Software Architecture - Architected and implemented from scratch the safety critical application programming model including process definition, thread priorities, interface definitions, and system performance KPIs.
- Technical Roadmaps - Created both short and long term technology roadmaps across a highly matrixed organization. Worked closely with Directors and VPs to continually update.
- Operating Systems - Selected and configured OSes for functions such as navigation, flight control, and mission management. Partnered with external companies to customize VxWorks and Yocto Linux BSPs.
- Software Manager - Managed a small team focusing on device drivers such as CAN Bus and Ethernet. Personally wrote 5+ software sensor drivers spanning FreeRTOS / VxWorks / Yocto Linux for ARM SoCs.
- Data Processing - Designed an automated data pipeline that automated log extraction and KPI review using Python running in a Docker container and plotting tools such as Bokeh and Jupyter. Started up Jenkins server and incorporated AWS Batch and SQS to automate MATLAB control system gain tuning.
- Software Development Life Cycle - Developed first business unit wide software design, coding, and quality standards. Trained hundreds of Prime Air employees on software certification with DO-178C and supplements. Contracted external DER to ensure independent auditing of software processes.
- Java Development - Coded 5+ Java features for autonomous aerial vehicle mission planning. Improved both coarse and fine routing of graph based planning software.
- Customer and Partner Integration - Represented BAE Systems in integration and planning meetings with other defense entities such as Northrop Grumman, Raytheon, Lockheed Martin, Mitre, and USAF. Visited partner Riverside Research weekly to ensure that engineering features were meeting expectations. Met with USAF personnel to ensure user feedback was incorporated into the product.
- Continuous Integration - Bootstrapped and administered Jenkins instance, integrated code coverage for nightly and weekly tests, and added in Fortify code scanning for security.
- Distributed Message Passing - Set up and maintained XML based message passing systems such as ActiveMQ. Messages would pass between a clustered backend system written in Java through the queue and into a thin UI layer written in C#. In charge of updating and upgrading XML schema when necessary.
- Virtual Machines - Provisioned and deployed virtual machines running Linux on Microsoft Server 2012. Configured ports, resource allocation, and monitored KPIs such as RAM and CPU loading.
- Security Clearance - Held Top Secret Clearance (currently inactive).
- Leadership - Software lead for helicopter inertial navigation system. Drafted key software requirements and certification artifacts for DO-178B Level A certification.
- Customer Engagement - Visited customer sites to gather direct feedback from users of the products. Delivered status in weekly meetings and regular milestone updates.
- C Development - Wrote 10+ C drivers for IMUs, accelerometer, temperature sensors, discrete IO, storage such as flash. Customized bootloader and bootstrap programs for PowerPC chipsets. Performed board bring up on both development boards and form factors.
- Software Architecture - Designed and implemented redundancy management software for 30+ networked computers for fly-by-wire blimp. This included both duplex and triplex redundancy subsystems.
- Database - Managed Microsoft Access database which stored interface definitions and auto-generated interface glue code between 12+ networked applications.
- C# Development - Developed and shipped customer facing C# based code loading application for Windows. This application was capable of updating the core firmware including bootloader and main images as well as extracting logging information.
- Production - Created production testing software to collect calibration information and store it on target. Introduced special stress testing suite for DO-160G environmental testing.
Projects
Small Listing of Side Projects