DavidHowland


About Me

I am a Computer Engineer and family man.

I work at Pratt & Whitney where I have designed, maintained, and debugged real time embedded control systems in both commercial and military jet engines. I hold a BS and MS from UMass Amherst.

I live with my wife and two daughters in West Hartford, CT. I am a hobbyist runner. I enjoy tinkering with PCs and home automation, watching documentaries, and retro video games.

I am interested in opportunities to work with exciting technologies on interesting and challenging projects, preferably those that are beneficial to the world. I seem to have a knack for working at the hardware/software boundary such as device drivers, low-level optimization, scheduling & concurrency, etc.

Skills and Assets

I am a US citizen and I have Secret Security Clearance.

Embedded software engineer with 15 years of experience in aerospace engine control systems, DO-178B/C formal development process and verification, embedded real-time system design and debugging, low level hardware/software interfaces, real-time applications, diagnostic/development tooling, and embedded cybersecurity.

Programming languages

I prefer C for low-level programming and certified software, Python for high-level programming or tooling, and Rust for new projects. I have experience with C++, Java, C#, JavaScript, LabVIEW, and Unix scripting (bash). I can leverage my experience to pick up other languages as needed. At various times I have found it necessary to work with assembly, including PPC and AVR. I am familiar with hardware description languages such as VHDL and Verilog.

Platforms

I prefer Linux/FreeBSD for development and have light administration experience on those platforms. I prefer Windows and VS Code on the desktop. I typically use SVN and Git for CM. I have some experience with MATLAB/Simulink.

Professional Experience

July 2007 – Present

Embedded Software Engineer
Engineer (2007-2012), Senior Engineer (2012-2016), Staff/Principal Engineer (2016-2022), Senior Principal Engineer (2022-)
Control and Diagnostic Systems
Pratt & Whitney, East Hartford, CT

Projects

PW1100G Cybersecurity

Prepared our existing FADEC system for EASA cybersecurity certification.
  • Performed a DO-326A vulnerability analysis on the engine control software for the customer's certification effort.
  • Trusted software and secure software loading. Project details under NDA.
  • Created and implemented a novel embedded cryptography solution. Project details under NDA.
  • Technology: C, Python, WolfSSL

PW1100G FOMAX

Added general-purpose Ethernet support to our existing FADEC system and integrated with the FOMAX system for engine diagnostic and prognostic data collection.
  • Worked with customers to define protocol requirements.
  • Coordinated teams at three companies.
  • Designed a novel embedded networking API.
  • Design for safety and security, and performed network security analysis.
  • On-site integration support at customer facility.
  • Technology: Ethernet, network protocols, C, Python, Github, Jira

VCAT Embedded DSP Library/Multicore support

Participated in a technology development program for the Navy's Variable Cycle Advanced Technology demonstration.
  • Next generation embedded microcontroller evaluation and CAST-32A multithreading analysis.
  • Developed embedded DSP library for FFT, FIR, IIR, etc.
  • Technology: C, VisualDSP, NXP QorIQ eval boards, Linux, DDC-I Deos

PW1100G Embedded Software IPT Lead

Managed an Integrated Product Team during the push to achieve PW1100G type certification. I was responsible for planning and tracking software development for a monthly release cadence. The embedded software team included members spread between the home office, offsite contractors, and at the remote office in Puerto Rico.
  • DO-178B Level-A software development, requirements development, static analysis, verification, etc.
  • Release engineering.
  • Worked to overcome complex software build requirements, including extensive source code generation.
  • Served as embedded software specialist for field support issue investigations.
  • Technology: ARINC 429, CAN bus, NXP MPC microcontroller, MATLAB/Simulink, DOORS, C, Python, PPC, SVN, Mantis

F100 Engine System Software

Supported fault investigations in F100 DEEC and managed software releases.
  • Project specifics subject to US export laws.
  • Typically required use of logic analyzers and closed loop test benches.
  • Technology: proprietary assembly and Ada

OME Support Equipment

Development and on-site support of various support tools for Operational Military Engines.
  • Supported F100 CEDS system for real-time data capture and engine diagnostics and F119 EIU for off-wing engine maintenance.
  • Project specifics subject to US export laws.
  • Worked with customers (USAF, etc.) defining requirements, supporting integration, and troubleshooting field issues.
  • Required travel to air bases across the US and abroad.
  • Required a combination of Windows software development and working knowledge of the embedded control systems.
  • Technology: VisualC++, Python, LabVIEW, MIL-STD-1553

Academic Experience

2004 - 2006

Research Assistant
RTL and logic-level FPGA power estimation/optimization (masters thesis)
  • Development of optimizing Verilog compiler in C
  • FPGA layout and simulation with Quartus II (funded by Altera)

2003 - 2005

Teaching Assistant
  • Introduction to Programming (100 level)
  • Data Structures (200 level)
  • Parallel Computer Architecture (600 level)

Degrees

Master of Science in Electrical and Computer Engineering
May 2007
University of Massachusetts, Amherst, MA
Department of Electrical and Computer Engineering

Bachelor of Science in Computer Systems Engineering
May 2003
University of Massachusetts, Amherst, MA
Department of Electrical and Computer Engineering

Publications

D. Howland and R. Tessier, "RTL Dynamic Power Optimization for FPGAs", in Proceedings of the IEEE Midwest Symposium on Circuits and Systems, Nashville, TN, August 2008.

K. Tinmaung, D. Howland, and R. Tessier, "Power-aware FPGA Logic Synthesis Using Binary Decision Diagrams", in Proceedings of the ACM/SIGDA International Symposium on Field Programmable Gate Arrays, Monterey, CA, February 2007.

Personal Experience

Custom AVR keyboards

I designed and built a series of custom keyboards and created EasyAVR, an open-source firmware project.
  • Designed an AVR microcontroller-based PCB from scratch using KiCad. Fabricated by PCBWing.
  • Designed a low-cost acrylic case from scratch using QCAD. Fabricated by BigBlueSaw.
  • Sourced parts and soldered/constructed by hand.
  • Developed a full-featured firmware (C and AVR assembly) supporting multiple programmable layers, recordable macros, media keys, configurable debounce, LED lighting effects, etc.
  • Developed a user-friendly keymapping application (Python) for configuring the programmable layers and other settings.
  • Adapted the firmware and keymapper to other (50+) AVR-based custom keyboards for use by the community. Open sourced with GPLv2.