Software Engineer Resume
Boulder, CO
SUMMARY:
Experienced in the design, development and implementation of software, including real - time embedded C/C++ software with subsequent integration with hardware, object oriented programming using UML and use cases, digital signal processing/image processing, data visualization, graphical user interfaces (GUIs), interactive displays, graphics, and bit mapped displays.
TECHNICAL SKILLS:
Languages: C, C++, Python, some Java, Fortran, Forth, several assemblers
Operating Systems: Ubuntu Linux, Red Hat Linux, Windows, VxWorks, pSOS, Confidential, uCOS
IDEs: Code Composer, Visual Studio 2005/08/10, True Studio Atollic, EclipseAtmel Studio
PROFESSIONAL EXPERIENCE:
Software Engineer
Confidential, Boulder, CO
Responsibilities:
- Designed and implemented tools in Python to support triage diagnosis of problems with
- Linux - based Confidential software. The new Python tools provide various ways in which to view stored test results, obtaining their data from the database with SQL statements.
- To aid analysis of failing test results, these tools extract and display test factors such as test duration, issues that were recorded about the test, and check-in messages for the code segments that make up the image that the test ran against.
- Set up and maintained overnight cron job to run analysis of stored test results and send email reports.
Software Engineer
Confidential, Littleton, CO
Responsibilities:
- Designed and implemented new no - encoders feature for the AMAS robotic truck convoy project. Feature runs under VxWorks and compiles in VxWorks Workbench.
- Refactored and wrote new state machine C code for the AVR microprocessor used in the Dashboard Operation Command Interface (DOCI), mounted in AMAS trucks. DOCI components communicated using a CAN bus. Supported system integration.
- Performed on-going bug fixes.
Firmware Engineer
Confidential, Loveland, CO
Responsibilities:
- Integral member of team developing Confidential 's new Power Analyzer product, which was released for sale in 2015 . Responsible for understanding legacy C/C++ measurement algorithms and then presenting them for approval of their inclusion in the new product.
- Responsible for getting the approved measures and support code running against an in - house simulator and then on the hardware. Ported unsigned 8-bit code to signed 16-bit code. Also implemented new C/C++ measurement algorithms.
- Performed on-going bug fixes.
- Designed and implemented C++ controller for the Power Analyzer internal fan. Design used UML diagrams.
Firmware Engineer
Confidential, Westminster, CO
Responsibilities:
- Ported TI DSP processor code to TI Concerto dual processor chip. Responsible for partitioning the original code functionality between the two processors.
- Ported C interface code to the M3 ARM - variant. Implemented new C drivers for uarts, serial over usb, flash, based on TI example code.
- Led second engineer who ported the dsp filtering to the C28.
- Used Code Composer for the development environment.
- Developed C++ GUI based on customer's design, used Windows Visual Studio 2005.
Firmware Engineer
Confidential, Boulder, CO
Responsibilities:
- Designed and implemented the C code for a MSP430 - based home 911 assist caller.
- Design was based on use cases. Used Code Composer Studio for development environment.
- Provided crisis support for a customer when an employee quit abruptly.
- Provided support for stm32-based projects.
- Used True Studio Atollic development environment.
Senior Software Engineer
Confidential, Louisville, CO
Responsibilities:
- Designed and implemented C tool to produce MCS format files for download from elf files.
- Designed and implemented mini - bootloader to boot processor from power on to hello world app
- Provided software support for processor bring-up, writing tests to support hardware developers.
- Enhanced and performed bug fixes for custom built disassembler. Used ddd debugger.
- Mentored our engineering intern, choosing projects for him to work on.
- Wrote initial design documents to elicit comments and suggestions.
Senior Software Engineer
Confidential, Wheat Ridge, CO
Responsibilities:
- Integral member of team developing Confidential 's Agent product.
- Designed and implemented large portions of the agent, including C action and event handling routines.
- This successful product was sold to Confidential, and deployed in 2011.
- Ported Confidential Agent HAL layer from NXP ARM platform to Broadcom MIPS platform.
Senior Software Engineer
Confidential, Lafayette, CO
Responsibilities:
- Designed and implemented new C/C++ features for Dbm optical instruments. Changes included code to bit - bang out of the serial port in order to control laser diodes and their optical switch, code to calibrate laser output power, code to display new plot traces of Tmax and Tmin parameters, and changes to the Confidential GUI.
- Used valgrind/callgrind/KCacheGrind profiling information to speed up data sweeps.
- Led effort to obtain and use CodeSonar to find and fix potential problems in the code base and introduced coding standard for optical instrument software.
- Maintained software, worked on urgent customer complaints and bugzilla-listed bugs.
Senior Software Test Engineer
Confidential, Broomfield, CO
Responsibilities:
- Wrote use cases for system design. Designed and implemented C test harness that communicated with the test controller pc via IPC sockets. Test harness used two POSIX threads - one thread communicated with the test controller, and the other thread communicated with the device under test (DUT).
- Extended Java parser to accept new message types in XML test scripts.
- Designed and implemented new graphics C code test routines for set top cable box.
Staff Firmware Engineer
Confidential, Longmont, CO
Responsibilities:
- Designed and implemented interrupt - driven C++ mailbox classes for ARM / MHX inter-processor communication on the SCSI SAS drive that was in development, using UML. This code was being reused on the newest Confidential drives in 2006.
- Designed and implemented GUI using Confidential graphics software on RedHat linux. GUI used the Model-View-Controller (MVC) pattern. The Model was implemented as a finite state machine ( Confidential ), designed using UML and use cases, and written in C++. This GUI used three POSIX threads: one for the Confidential View/Controller, one to monitor the socket for messages, and one to run the Confidential . Reused Confidential as Model with new View-Controller implemented with Borland Builder C++.
- Designed and implemented modifications to SCSI hard drive system image download. Modifications included changing the download file format, and the C++ download firmware to account for the new format. Implemented SCSI mode page Enable Background Tasks bit functionality.
- Restructured the Read Write Head Controller diagnostic firmware for the newest SCSI hard drive to adapt to a new head controller chip, and implemented a new algorithm for calculation of head resistance.
- Performed ongoing debug of Confidential s newest SCSI hard drive s C/C++ firmware. Diagnosed and fixed problems found with trace of code execution combined with debugger. Problems were caused to reoccur by running diagnostic self test scripts.
Senior Software Engineer
Confidential, Boulder, CO
Responsibilities:
- Designed and implemented C++ driver for digital loop carrier phone system board s backplane communication complex. Designed and implemented multi - board C++ timing driver pSOS tasks. Provided technical leadership for less-experienced developers. Investigated failed pulse dialing on port board; solved the problem with successful redesign of interrupt service routine and associated pulse dialing tasks. Designed and implemented C++ flash file system task for persistent storage and management of files. Designs were accomplished using UML and use cases. This phone system was ordered by Telia, Sweden s national telephone company.
- Designed and implemented the Confidential protocol C VxWorks task for Aztek s AR303 protocol stack product. Adapted AV5 Processor Redundancy check-pointing software. The successful product produced over 1 million dollars in sales.
- Designed and implemented Confidential protocol C VxWorks task for Aztek s AV5 protocol stack product. Designed and implemented the Protection protocol and Data Manager C tasks. The successful product produced over 1.9 million dollars in sales in 25 countries.
- Redesigned and implemented C software to control a 68HC11 mini-convectron to monitor and display gas pressures. This successful Granville-Phillips product is currently used in thousands of applications world-wide and this code has been reused in several other Granville-Phillips gas monitoring products.
- Designed and implemented pSOS C tasks for system initialization and hardware control for a 68040-based DLC phone system. Designed and implemented C TFTP (TCP/IP suite) system download to flash memory by boot ROM resident code. This successful phone system is in use in China, Brazil, Romania, and Poland.
- Designed and implemented C software to control a 6805-based nebulizer.
- Designed and implemented Confidential C task to manage and perform maintenance testing for the GTE Airphone seatback telephone system.
