Senior Software Engineer Resume
4.00/5 (Submit Your Rating)
Boulder, CO
SUMMARY
- Results driven software engineer with embedded software experience in the AV, server, mobile devices, printer and telecomm industries.
- Motivated and energized by actively collaborating with various groups and disciplines, with experience interacting cross site and globally.
- Self - directed programmer capable of turning requirements into highly reliable customer facing code.
- Utilizes advanced degree in applied mathematics to solve quantitative problems, measure performance, and communicate insights to others.
TECHNICAL SKILLS
- Programming languages: C, C++, Python, bash
- Embedded Environment: Linux, firmware, u - boot, VxWorks, JTAG, ARM, i.MX6, x86, PowerPC
- Development Environment: Linux, Windows, git, gerrit, Perforce, repo, ClearCase, Agile, Jira
- Communication: Design specs, release notes, bug tracking, multi-site collaboration, data graphics
- Other: Comfortable working with hardware specs, schematics, and test equipment
PROFESSIONAL EXPERIENCE
Confidential, Boulder, CO
Senior Software Engineer
Responsibilities:
- Created and tuned video pipeline using gstreamer i.MX6 and internally developed elements, bridging RTSP h.264 and MJPEG to USB; increased performance by mapping USB buffers to user space (zero copy) and replacing gstreamer pipeline with original code written to the MjpEG RFC; leveraged wireshark, Python pcap libraries, and Beagle USB analyzer to develop algorithms and characterize performance
- Assigned responsibility for bringing up i.MX6 device produced by ODM; developed and documented functional verification tests which were used to mentor an offsite SQA engineer; validated subsequent hardware revisions and worked with foreign ODM to solve issues, and provided functional test definitions for inclusion in SQA audit testing
Confidential, Boulder, CO
Staff Engineer
Responsibilities:
- Worked independently to port mobile platform memory protection driver to server firmware; designed and implemented console message logging including per CPU logs; traveled to silicon bring up and successfully validated image features ahead of schedule; modified ARM firmware interrupt driver to enable ISR registration, support proprietary interrupt sources, and define their handlers
- Tasked with owning the trusted firmware image for server upon arrival; demonstrated technical expertise in supporting contributors to code base and approving submissions; developed a Windows build environment, documented on an internal wiki and supported developer team; migrated code base from git to Perforce and internal tools with minimal supervision
- Delivered firmware releases to meet the project schedule often working outside of standard business hours to ensure on time delivery; defined and documented the firmware test process and trained test team members in its execution; responsible for verifying legal scans, providing release notes, integrating late feature deliveries, and providing patches for failures found during test to meet project deadlines
Confidential, Beaverton, OR
Senior System Software Engineer
Responsibilities:
- Involved in silicon and board bring-up for Tegra based mobile platforms, booting Linux, Android, Chrome, and Windows RT; modified u-boot source code and integrated memory config and device tree files for bring up; resolved Lauter- bach JTAG debugger setup issues and provided reference material on internal wiki; debugged code flashing and bootloader issues, including I2C errors and board straps; worked with teams across the country and India during bring-up to provide software patches, verify software fixes, and participate in the bug process
- Wrote test scripts in bash, Perl, Python, and proprietary scripting environment for functional and validation testing; developed manufacturing tests used by overseas contract manufacturer to exercise I/O, stress CPU cores, and exercise GPU; configured DAQ and ran partner provided power measurement tests; independently ported diagnostics kernel environment to support new platforms, and worked with offsite developers to update and validate their diagnostics code
- Integrated audio codecs, cameras, temperature sensors, wifi, touch, and display drivers for ARM embedded platforms; ported Linux power management controller (PMIC) driver from third party vendor to help validate silicon and prepare for platform bringup; modified board files and device tree files to configure GPIOs, voltage regulators, and pinmux
Confidential, Wilsonville, OR
Senior Software Engineer
Responsibilities:
- Developed a comprehensive suite of power on self-tests for an A3 solid ink printer; worked with electrical engineers and HW specs to access in-system measurement capabilities via an FPGA register interface; validated test designs with statistical characterization, by building test boards for fault insertion, and confirming device behavior with test equipment; supported test, manufacturing, service, and failure analysis teams at internal and customer sites
- Developed the software architecture for front panel service diagnostics on multiple solid ink printers; leveraged object oriented design to encapsulate process and memory management, messaging, and graceful exit; redesigned diagnostics framework to simplify the integration of tests developed by other team members and leverage features of the core design
- Developed image analysis software for printer test patterns; created reference images using PostScript to verify software and provide research scientists with inputs for printer simulation tools; automated dispatch of the tool to analyze scanned images, log the analysis results, and catch test errors and send email alerts