Michael Harvey
Verified Expert in Engineering
Embedded Systems Developer
Beaverton, OR, United States
Toptal member since May 11, 2023
Mike is a senior developer with three decades of experience building software for embedded systems and cloud platforms, including more than 15 years at Intel. He has substantial experience with Linux, C, C++, Python, and Java and has worked with media technologies, networking, eCommerce, and payments. Mike is an experienced technical lead.
Portfolio
Experience
Availability
Preferred Environment
Linux, C, C++, Python 3, Java, Git, Startups, Embedded Software, Back-end, SDK Development
The most amazing...
...project I've worked on is Shockwave 3D that was shipped to 40 million desktops.
Work Experience
Software Engineer
Mirion Technologies - Main
- Analyzed Python codebase and prepared it for phase 1 production. Fixed bugs in REST API functions.
- Provided support during the integration of phase 1 software and hardware for environmental sensors. Resolved GPS and networking problems. Shipped units to a customer, fulfilling an existing contract.
- Completed phase 2 implementation of the codebase, communicating with a Docker service via MQTT.
Linux/Embedded Systems Developer
Ripple Two LLC
- Developed WiFi configuration features for an embedded communications device, communicating with Android over USB.
- Developed a persistent configuration mechanism for the embedded device.
- Isolated and fixed a bug in a USB-based command parser. Helped with integration and testing between an Android app and the embedded device.
Senior Back-end Engineer
Apto Payments
- Developed microservice fintech components for ISO 8583 payment processing using Python, PostgreSQL, and Kafka on AWS Lambda.
- Created a framework for abstracting ISO 4217 currencies and cryptocurrencies.
- Built a scalable microservice for authorization hold expiration, scheduled by Amazon EventBridge.
- Built a low-latency distributed transaction authorization framework using a modified two-phase commit pattern.
- Used threads for concurrent Lambda processing to achieve 120 millisecond time overhead, resolving a performance bottleneck and meeting the time budget.
Senior Software Engineer
Digimarc
- Developed features for an embedded image processing SDK running on 40+ platforms and architectures, including Linux, Windows, macOS, 32-bit, 64-bit, Intel, AMD, and RISC.
- Built a GS1 barcode codec library in C. Designed a GS1 abstraction layer using C++17.
- Redesigned an image processor (IPA) using C++17 and threads, increasing throughput tenfold.
- Optimized C++ algorithms using ARM SIMD assembly and intrinsics.
- Created native API wrappers for C, Python (CPython, ctypes), and .NET (C#, SWIG, PInvoke).
- Developed a RESTful web app and server using JavaScript, Emscripten, WebAssembly, C#, and .NET.
- Maintained a continuous integration system based on Docker and CMake.
Software Engineer IV
Vetsource
- Developed features for cloud-native eCommerce, web services, and process automation systems. The company was in the pharmaceutical healthcare domain, and the work involved order management, wallets, payments, inventory, and automation.
- Created REST web services for back-end partner integrations.
- Developed front-end features using Apache Flex (ActionScript/JavaScript) and REST.
- Maintained microservices in a Google Cloud cluster. The team performed its own DevOps.
- Built a dependency graph generator and Mule/Swing XML config analyzer in Python.
- Refactored classes, microservices, and SQL schemas.
- Tracked and resolved defects and performance issues. The team performed its own validation.
- Instrumented the codebase for cloud-based logging using New Relic.
- Supported the call center and participated in rotating on-call handling of emergent issues.
Senior Software Engineer
Comscore
- Developed the customer-facing command-line query interface in Python for a NoSQL data warehouse product.
- Implemented and maintained customer integration REST APIs.
- Created an SQLite3 extension in C, providing a custom view supporting business needs.
- Managed Amazon EC2 servers using Ansible and developed monitoring scripts using boto3.
Senior Software Engineer
Lightfleet
- Developed an SDK and library for an FPGA networking product targeted at high-speed trading. Achieved 13 million packets per second in C, with three-microsecond latency.
- Implemented client-server and peer-to-peer patterns utilizing multithreaded and distributed patterns.
- Analyzed functionality, latency, throughput, and congestion between servers on a 24-way optical interconnect.
- Created a network stack emulating Ethernet, UDP and TCP/IP, with a socket API on top. Performed benchmark comparison with competitors using SockPerf. Results were used directly in marketing materials.
- Developed a native Java transport driver for Netty, achieving five million packets per second.
- Tuned CentOS Linux for real-time performance on multi-core Xeon servers.
- Built an OOP abstraction layer for C++ and native wrappers for Java and Python.
- Developed testing and maintenance scripts in Python and shell script. Redesigned the Makefiles for the library and drivers. Created man pages and other documentation for the SDK.
Senior Software Engineer
Intel
- Acted as a technical lead for SDK 2.0 team. Migrated embedded Linux SDK from Buildroot to the Yocto Project, to Git, and continuous integration. Drove SDL through requirements, planning, architecture, and development on a shortened schedule.
- Served as a product owner and release manager for an embedded Linux SDK. Drove a 47% reduction in priority defects, managed 20 releases per year, and automated license manifests. Received department award for high-quality releases.
- Developed automation scripts for SDK release using Python, SQL, and Microsoft Excel. Automated BOM generation and open-source license attribution. Led a project to extract license information from source code during the build automatically.
- Proposed and delivered concurrent initialization for embedded Linux in C, reducing the boot time to five seconds. The lightweight solution eliminated the need to integrate systems or upstart.
- Maintained embedded Linux drivers for OpenGL ES, OpenVG, and DirectFB. Optimized embedded Java Blu-ray stack for customers, delivering a threefold performance improvement.
- Developed an OpenGL ES video-as-texture demo with shader-based color conversion for presentation at CES, earning an award for quick delivery and a flawless demo.
- Ported GLQuake to OpenGL ES on an embedded SoC platform. Created a GL ES compatibility layer and supplied keyboard and mouse input via a socket over SSH. Wrote three whitepapers about the project.
- Spearheaded an embedded validation and tools team to create a multithreaded 802.16 client MAC simulator in C on a tight schedule. Created the Wireshark WiMAX plugin that was praised for clean code and excellent quality.
- Led the simulation team for Shockwave 3D that was delivered to 50 million desktops and earned the prestigious Intel Achievement Award. I also developed a simulation scheduler and co-wrote an article in Game Programming Gems 3.
- Maintained the 3D RSX audio library using C++ and Java. Migrated technology to DirectSound Retained-Mode framework. Facilitated the sale of Rad Game Tools and provided training and integration onsite. Now integrated into the Miles Sound System.
Software Engineer
Viridian Systems
- Ported an industrial process controller from OS/2 to Windows using C++ and integrated onsite with the client.
- Developed software to display Windows NT GUI on X terminals using C++ and X protocol.
- Researched networked collaboration software using Java and sockets.
- Built a web calendar app for a client's web page using C and CGI.
Experience
Intel SoC SDK
I started on the team as an OpenGL driver developer and moved to SDK lead, initially focused on packaging and release but then taking technical leadership for the SDK 2.0 initiative. I managed around 20 SDK releases per year. I also led bug scrubs, performed initial triage of issues, and interfaced with customers. For the SDK 2.0 project, we built a new CI infrastructure. I co-architected the design, led the planning, and supervised the development team during implementation.
Native Netty Driver for Java
I identified the Netty project as suitable for our purposes. I developed a JNI wrapper for our C library and built a Netty datagram transport on the native layer. A multi-threaded Java client/server demo achieved five million packets per second, fully half the speed of optimized C.
Wireshark 802.16 Protocol Analyzer
https://gitlab.com/wiresharkShockwave 3D
Education
Bachelor's Degree in Computer Science
Portland State University - Portland, Oregon, USA
Skills
Libraries/APIs
Sockets, REST APIs, SQLAlchemy, Requests, OpenGL ES, Win32 API, Python Asyncio, API Development, Beautiful Soup
Tools
Shell, Makefile, GNU Toolchain, Git, IntelliJ IDEA, BusyBox, PyCharm, CLion, Java GUI, GNU Debugger (GDB), Jira, Apache ZooKeeper, Apache Tomcat, JRebel, Apache Maven, GitLab, Buildroot, Subversion (SVN), GitHub, Emscripten, Ansible, Boto 3, Gerrit, TeamCity, Artifactory, Microsoft Visual C++, Slack, Google Sheets, MQTT, Azure DevOps Services, CMake, Pytest, pylint
Languages
C, C++, Java, Python, Embedded C, Bash, Bash Script, C++98, SQL, Python 3, Embedded C++, XML, Groovy, JavaScript, C#, HTML, C++17
Paradigms
Object-oriented Programming (OOP), Unit Testing, Event-driven Programming, Refactoring, Object-oriented Design (OOD), Agile, Continuous Integration (CI), Test-driven Development (TDD), Requirements Analysis, DevOps, REST, Event-driven Architecture, Automation, Compiler Design, Microservices, Azure DevOps, Design Patterns, Microservices Architecture
Platforms
Linux, Embedded Linux, Docker, Cloud Native, AWS Lambda, Mule ESB, Kubernetes, Apache Kafka, Windows, Google Cloud Platform (GCP), New Relic, Amazon EC2, Win32, Amazon Web Services (AWS), Raspberry Pi
Frameworks
Swing, Spring, Adobe Flex, Netty, JNI, Spring Boot, Spring Microservice
Storage
Databases, Relational Databases, PostgreSQL, MySQL, Memcached, Amazon S3 (AWS S3), NoSQL, SQLite, Microsoft SQL Server
Other
Multithreading, Embedded Systems, Cross-compilation, Team Leadership, Design, SDKs, OOP Designs, SDK Development, Software Development Toolkits (SDK), Processing & Threading, Software Design, Data Structures, Optimization, Memory Management, C++ Memory Model, Embedded Software, Firmware, Debugging, Concurrency, Software Development, Network Programming, GUI Development, Simulators, Network Protocols, Mentorship, Java Native Interface (JNI), Performance Testing, Performance Tuning, APIs, Libraries, Simulations, Validation, Remote Work, Cross-platform Libraries, Graphical User Interface (GUI), Release Management, Defect Management, Product Owner, Bug Discovery & Tracking, Project Planning, Architecture, Task Scheduling, Leadership, Startups, Algorithms, Networking, SSH, Technical Leadership, Software Architecture, Code Review, Low-level Programming, Game Development, CI/CD Pipelines, RESTful Services, RESTful Web Services, Communication, Documentation, Scalability, Embedded Hardware, User Interface (UI), Integration, 3D Graphics, Natural Language Processing (NLP), Google BigQuery, Loggly, Distributed Software, TCP/IP, Peer-to-peer Networking, Linux Device Driver, Yocto, Embedded Java, Job Schedulers, 3D, WiMAX, System-on-a-Chip (SoC), Back-end Development, Fintech, Card Payments, eCommerce, Inventory Management, SaaS, Direct Memory Access (DMA), X11, JTAG, CGI, Bug Triage, Cloud, Amazon EventBridge, Spatial Audio, Distributed Team Management, Front-end Development, Credit Cards, ARM Embedded, WiFi, Linux Kernel, Linux Kernel Drivers, Linux Kernel Modules, Graphics Processing Unit (GPU), Back-end, Full-stack, WiFi Integration, POS, GPS, Distributed Systems, Technical Project Management, RESTful Microservices, Serverless, Web Platforms, API Integration, Front-end, Abstract Syntax Trees (AST), Scrum Master, Agile Leadership
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring