Software Engineer: Tools and Infrastructure @ Google
National Ignition Facility Front End Processor (FEP) Developer @ Lawrence Livermore National Laboratory
Research Assistant @ BYU Configurable Computing Lab
BS, Computer Engineering @
Brigham Young University
I’m an engineer that loves to work at the level where hardware meets software. I’ve been able to do this a few different ways in my career so far, from designing FPGA-based experiments for on-orbit platforms to developing controls software for the world’s largest laser facility. I am particularly interested in computer architecture, embedded systems development, and
I’m an engineer that loves to work at the level where hardware meets software. I’ve been able to do this a few different ways in my career so far, from designing FPGA-based experiments for on-orbit platforms to developing controls software for the world’s largest laser facility. I am particularly interested in computer architecture, embedded systems development, and reconfigurable computing.
Software Engineer @ From October 2015 to Present (3 months) Greater New York City AreaNational Ignition Facility Front End Processor (FEP) Developer @ I developed, tested, and maintained front-end processor software for the National Ignition Facility target area controls system. Some of my main responsibilities included:
- Interfacing the NIF Integrated Computer Control System (ICCS) with hardware including laser trackers, power sources, temperature sensors, PID controllers, PLCs, and network-attached I/O modules, using sockets, RS-232, GPIB, and Modbus TCP.
- Software implementation, testing, and maintenance using Java, C, JNI, Ant, JUnit, and scripting languages (Bash and Python), using concurrency best practices to facilitate safe multithreaded access of the FEP layer and its associated hardware resources.
- Integrating FEP software with supervisory/automation software and Oracle databases using CORBA and JPA.
- Porting functionality from legacy Ada-95/VxWorks platform to Java/Linux as part of the NIF control system’s ongoing modernization effort.
- Interacting regularly with NIF scientific and operations customers to provide technical support and to gather requirements for desired enhancements. From June 2011 to October 2015 (4 years 5 months) Research Assistant @ I worked as a research assistant in the department's Configurable Computing Laboratory under the direction of Dr. Michael Wirthlin. My research focused on enabling the reliable use of field-programmable gate arrays (FPGAs) in radiation environments. Specific projects included:
- Using VHDL, C, and the Xilinx ISE toolset, designed and implemented hardware and software for on-orbit FPGA reliability and radiation measurement experiments. These experiments operated on the International Space Station and the Cibola Flight Experiment satellite.
- Developed and maintained experimental CAD tools for automatic application of FPGA design reliability techniques. Implemented graph- and simulated annealing-based algorithms in Java for circuitry replication tools and a reliability-aware FPGA placement and routing suite. From April 2007 to May 2011 (4 years 2 months) Student Intern @ During my two summers at LANL, I designed and implemented DSP and reliability experiments for the Cibola Flight Experiment satellite. This effort involved using MATLAB/Simulink, VHDL, and Xilinx System Generator to prototype and develop FPGA logic, then integrating it with the satellite’s C/VxWorks control and communications software. From May 2008 to August 2009 (1 year 4 months)
MS, Electrical and Computer Engineering @ Brigham Young University From 2009 to 2011 BS, Computer Engineering @ Brigham Young University From 2003 to 2009 Will Howes is skilled in: FPGA, Computer Architecture, Embedded Systems, VHDL, Matlab, LaTeX, Java, C, C++, Algorithms, Xilinx, Programming, ModelSim, Synplify Pro, Software Development