======================================================================================== | Chris Haverkate (503) 828-1807 ch@chrishaverkate.com https://chrishaverkate.com | | | | Engineer - Software / Firmware | | Hobbyist - Hardware / Maker | ======================================================================================== ************************ * Summary * ************************ Senior developer, designer, and project leader with strong focus on customers, quality, and business value delivery. - 11 years of experience in project types from embedded systems to SDKs - Skilled in all aspects of system development from initial design to test automation in Agile, traditional sequential, and hybrid settings. - Natural mentor and coach who is dedicated to life-long learning and continuous improvement. “Chris is a strong technical and philosophical leader. He has been a source of essential mentorship for team members. He is an influential thought leader on Agile development for the department.” – Eric Evans, Director of Engineering, Digimarc ************************ * Experience * ************************ -------------------------------------------------------------------- Digimarc - 2013-present - Staff Software Engineer (currently) -------------------------------------------------------------------- Embedded System SDKs: Encapsulate proprietary algorithms in customer facing C and C++ SDKs for numerous hardware / software configurations. - Responsible for API design, architecture of multiple SDKs, system build automation, and continuous integration process. - Mentor and coach team members through new feature implementation, refactoring legacy code, test automation. - Work with customers to integrate our SDK and gather feedback for continuous improvement. - Collaborate with internal teams who use the SDKs for other applications. Experimental projects: Contributed to various innovation focused projects building new skills in areas including: laser engraving, 3D printing, robotic arm automation (control software), patent development, and trade show demonstration systems. Scrum: Scrum master for over 3 years (two software teams, and an R&D team) and co-lead our Scrum Guild; helping guide Scrum Masters across the company. Worked closely with our CTO and a small group to design a refresh of our Scrum process; over 80% of those in the pilot reported it made their job better and over 90% said it improved culture. Ongoing contributions toward helping others adopt Scrum was recognized by the CTO and Director of Engineering. Continuous Integration: Worked with a small group to demonstrate the effectiveness of using Git and Bamboo that lead to full adoption across the engineering department. Helped several teams move to a Git Flow continuous integration model; improving QA and speeding up feature integration. Continue to be a technical resource for both tools. -------------------------------------------------------------------- General Electric (GE) – 2010-2013 – Software & Firmware Engineer -------------------------------------------------------------------- Firmware: Worked on a team under the guidance of the Principle Firmware Engineer to design and implement firmware for custom hardware systems designed for monitoring critical rotating machinery, mostly used in power generation. The project was working toward SIL 3 certification. - Co-design and implementation of Ethernet Global Data (EGD) protocol used on SCADA networks. - Design and implementation XML-RPC protocol for diagnostics accessible to developers and QA - Implementing a wiki-based documentation system for internal use. Software: Acted under the guidance a mentor to write code for condition based monitoring software that allows technicians to actively track the health of their assets, schedule downtime & maintenance, and improve reliability. Focused on release testing software by simulating conditions through hardware. Six-Sigma Green Belt: Learned Lean Six-Sigma and applied it to my team’s hardware & firmware QA process, decreasing full test cycles to 1/3 the time. Earned my Six-Sigma Green Belt certification. Conversion to CMake: Converted shared firmware code base from separate Visual Studio and Makefile projects to unified CMake structure. Simplified maintenance by reducing the number of build projects and making upgrades to new version of Visual Studio trivial. Also decreased build time for two products and their desktop simulation builds by 50%. Created a starting point for writing platform independent code. ************************ * Areas of Expertise * ************************ - Six Sigma Greenbelt - Scrum Master - Agile Leading & Coaching - Agile Development using Scrum & Kanban - Paired & Mob programming - Group design - Mentoring - Designing interviews - Continuous Integration - Test automation - Test Driven Development - Git Flow ************************ * Hobby Projects * ************************ -------------------------------- Laser Training Target -------------------------------- Custom laser sensing target with multiple zone detection, adjustable audible feedback, visual feedback, and adaptive lighting calibration. Every step designed from ground up: breadboard prototype, PCB design, 3D printed enclosure, and firmware. Tools: C++, CMake, TDD, Arduino, KiCAD, Autodesk Fusion360, soldering & assembly -------------------------------- Lux Meter and Colorimeter (pico-eye) -------------------------------- Integrated a light sensor and color sensor with a Raspberry Pi Pico to measure ambient light level and calculate the Correlated Color Temperature (CCT). Used I2C for communication and a small color LCD for display. Open sourced at https://github.com/chrishaverkate/pico-eye. Tools: C++ 17, CMake, Raspberry Pi Pico, I2C, TDD -------------------------------- Fan Controller -------------------------------- Controls two fans based on temperature input and configured setpoint, using a PID controller. Custom designed PCB to support multiple fan types via two standard connector types. Tools: C++, CMake, Arduino, 1-wire temperature sensor, PID controller, TDD, custom reflow oven, hot-air pencil soldering -------------------------------- Single Axis Stepper Controller -------------------------------- Control a NEMA 23 stepper motor for accurate and repeatable positioning of printed media to an imaging device. Leveraged microstepping for precise placement; calibration switch for automatic positioning; an overrun protection switch; and serial based command protocol for control. Designed and printed mounting fixture for media. Tools: C++, CMake, Arduino, Stepper Motors, TDD, 3D printing ************************ * Education * ************************ ------------------------------- Oregon Institute of Technology ------------------------------- ~~ Bachelors of Science ~~ 1. Computer Hardware Eng. 2. Computer Software Eng. ~~ Minors ~~ 1. Applied Mathematics 2. Business ************************ * Patents * ************************ - 10,593,007: Methods and arrangements for configuring industrial inspection systems - 10,990,865: Methods and arrangements for reconciling data from disparate data carriers - pending: Image processing methods and arrangements