Goals

I am interested in working on projects that have a positive impact on the environment. In a hardware development setting, I enjoy working on architecture, schematic capture, layout, and test infrastructure. In a software development setting, I enjoy developing regression and stress test software for embedded and Linux domains. Most of my software development experience is in Python, Bash, and C, though I use C++ for personal projects and I am beginning to learn Rust.

Contact Details

Joshua Smith
joshua at giliath dot org
LinkedIn

Education

Penn State University

B.S. Electrical Engineering August 2012 - May 2015

  • Army Research Laboratory internship: Designed software for a spectrum sensing system (C/LabVIEW).
  • Formula SAE: Led the electrical subsystems team.

Work

Argo AI

Senior Hardware Engineer / Manager I April 2017 - Present

  • FPGA MPSoC tools and testing (current)
    In this role, I manage a team of 10 cross functional engineers. This team is responsible for maintaining build and test infrastructure for the FPGA teams, developing test frameworks and software, and coordinating firmware releases across multiple customers.
    In addition to managing the team, I:
    • Created a failure-averse distributed HIL test infrastructure using Docker Swarm.
    • Developed a compute cluster from decomissioned fleet compute hardware with an easy to use software interface for quickly deploying large simulation and data processing jobs.
    • Architected and broadly popularized an automated release process that enforces traceability.
    • Centralized most documentation into a single website built with Asciidoctor and Antora.
    • Supported engineering process definition in alignment with ASPICE and ISO26262 guidelines.
  • Compute hardware
    • Designed (schematic + layout) a PCIe mezzanine card for an automotive reference design platform.
    • Designed a GPU heatsink.
    • Designed multiple high speed and high power PCBAs within Argo's first prototype autonomous vehicle computer.
    • Developed manufacturing end of line test fixtures and scripts (Bash/Python) for computer PCBAs.
    • Supported second generation compute hardware architecture and schematic reviews.
    • Developed software for compute hardware bringup and stress testing (Python).
    • Designed a PCBA set for a cabled external accelerator card.
  • Argo Lidar
    • Designed a PCBA for power regulation and motor control.
    • Brought up and characterized the motor controller.
  • Development hardware
    For each of these projects, I designed the archtecture, made proposals to get funding, did schematic capture, layout, mechanical design, firmware development, software API development, documentation, and managed the manufacturing process.
    • All-in-one fault injection testing system that interacted with the external interfaces of compute modules. This was also used to automated CI test fixtures.
    • Automotive ethernet converter based on an automotive PHY reference design.
    • Low-cost automotive ethernet adapter to support large scale fleet operations.
    • Portable Xeon development server (using an automotive reference motherboard) with a low profile MXM GPU mezzanine card and front panel with SFP+ modules, oculink, and accessory power.

Ford Motor Company

Ford College Graduate June 2015 - April 2017

  • Speech and signal processing
    • Developed a model for lombard speech.
    • Optimized speech synthesis software for faster operation in Matlab.
  • Additive manufacturing
    • Characterized 3D printed injection mold performance.
    • Designed and built a Selective Laser Sintering 3D printer.
  • Lidar research
    • Developed scenario-based lidar characterization software using BlenSor and QT.

Skills

Programming Languages
  • Python: advanced usage with dataclasses, threading, decorators, etc.
  • Bash: multithreaded scripting, GNU standard programs
  • C: proficient skill in embedded applications; some Linux kernel experience
  • C++: hobbyist level experience
  • Regex: can quickly create expressions without using a cheat sheet
Software Infrastructure
  • Linux: sysfs, procfs, systemd, netplan, journal, modules, dtoverlays, etc.
  • Docker: containers, images, services, swarm
  • Bazel: proficiency with rules, rule definition, configuration
  • Antora/Asciidoctor, Mermaid
Hardware Design
  • High speed, high density circuit board design
  • Communication protocols: SPI, I2C (and derivitives), UART, CAN, PCIe, *MII, *BASE-T*
  • Automotive electronics design: EMI/EMC compliance, power and data integrity, etc.
  • Sheet metal, CNC, injection mold, 3D print, etc. part design and manufacturing
Hardware Design Tools
  • Altium Designer, Altium PDN Analyzer, KiCAD
  • Solidworks, Fusion 360, FreeCAD, Catia V5
  • LTSpice, TinaTI
Process
  • V-model of development
  • ASPICE
  • ISO26262