Lead C++ Developer Resume
Santa Clara, CA
SUMMARY:
- I am seeking an opportunity to cooperatively develop capable high value systems and subsystems.
- Learning is important to me. I am continually learning the work, and I want to do it well.
TECHNICAL SKILLS:
STL, Boost, Code: C/C++11/14/17, C#, MFC Python, Perl, Bash scripting UI Development with Qt 4, 5 STL Threads, Posix Threads Linux Kernel Development
Graphics: CUDA, OpenGL DBus Experience ROS, starting with Kinetic Kame
Processes: XP pair programming, peer reviews, code inspections, design reviews. Software Development Life Cycle: requirements, design, code, unit test, system test.
Design: Interface descriptions, data flow, UML, OO Analysis and Design. Configuration management and process: Subversion, Git, Perforce, Agile, Jira Software design life cycle, change analysis.
Development environments: Code Composer Studio, QT Creator Eclipse, IAR, Net Beans, MPLAB, Trace32, Visual Stu dio, Autotools and Make.
Multitasking: Real - time Operating Systems, executive architectures, schedulers. Distributed Computing: 0MQ, CORBA GUI with system diagrams. TUI display and control. Headless with logging and reporting.
Power systems: process controls, load control, sensing, metering, protective relaying.
Low power systems: cellular, medical devices.
Office: Microsoft Office Word, Excell, OneNote, VBA, Visio, Project, Open Office
PROFESSIONAL EXPERIENCE:
Lead C++ Developer
Confidential, Santa Clara CA
Responsibilities:
- Work on porting DSP applications from Windows to Linux
- Designed and implemented control algorithms for a highly configurable systems that can be controlled locally and remotely via ROS
- Designed and implemented distributed framework for Linux systems to support
- Board bring up, construction of UEFI and BSP packages for new board designs
- Bench testing for validation and debugging
- Heavy use of networking configuration (routers and switches) for network debugging
- Created software packager system to bring up git branches, boot loaders, Designed XML “graph” system (this is a system that only allows modules to and BSP and assemble into a firmware image connect to each other if they have a “graph” entry)
- QT QML design and integration
- C++ in Visual Studio, QT Creator, CMake, autotools
- Python for build automation
- Ported medical diagnostic device to ARM Cortex 9
- Implemented LED readings to USB interface
- Qt/QML user interface
- Experience: Controls for charging batteries, monitoring device conditions, configuring modes of operation, and modulating diagnosis.
Lead C++ Developer
Confidential, San Francisco, CA
Responsibilities:
- Worked on electrical power systems, industrial controls, and robotics for a new 3D Metal printer
- Designed original print queue system based on a distributed architecture
- Leveraged the above to cut down on expensive 3d printing operations using CUDA
- Experience: Electrical schematic design, wiring diagrams, embedded preemptive real-time C control software, programmable logic controller (PLC) and SCADA system software design including touch screen QT GUI systems for switch gear. Intrinsically safe electrical control and monitoring system for use in a hazardous (100w laser) environment
- Created windows application to view 3D model files for defects using OpenGL
- Python for build automation
Controls Engineer
Confidential, Los Angeles CA
Responsibilities:
- Implemented AES-256 encryption layer on existing in-house DNP-3 stack.
- Wrote ladder examples for sales staff to demonstrate ProSoft PC-56 modules
- Installed same on a new version of the Taipei subway system
- Implemented several conversion modules (MODBUS - PROFIBus, CANBus - MODBUS, MODBUS/WiFi, LoRa stacks )
- Heavy use of network configuration equipment (routers and switches) for debugging network issues.
- Developed an original MQTT server in C++
- Led team of 2 other engineers to design and create an IEC-6185 GUI monitoring console for Windows in MFC.