Post Job Free
Sign in

Senior Systems & Embedded Software Engineer

Location:
Rochester, NY
Posted:
February 20, 2026

Contact this candidate

Resume:

Contact

585-***-**** (Mobile)

**************@*****.***

www.linkedin.com/in/mew2020

(LinkedIn)

leanpub.com/

buildingembeddedsystemsonlinuxamoderncapproach

(Other)

Top Skills

Code Generation (C++, Python)

Technology Leadership

Boost (C++ libraries)

Publications

An Introduction to Clang Part 2

An Introduction to Clang

Qt Signal Adapter Library

Working with LLMs Like an Engineer

AI Will Get Better. That Doesn’t

Mean It Will Replace Engineering

Judgment.

Mark Wilson

Senior Systems & Embedded Software Engineer Deterministic C+

+, Linux, Sensors, Timing Systems

United States

Summary

I’m a senior systems and embedded software engineer who builds deterministic, reliable systems in environments where correctness, timing, and long-term maintainability matter.My work centers on modern C++ and Python for embedded Linux and distributed systems, often modernizing legacy codebases into explicit, testable architectures that engineers can reason about and trust.I’ve led and contributed to software for precision navigation and timing systems, including core components such as GPS receiver APIs, data pipelines, and device-level interfaces. I’ve also introduced Python-based automation and test frameworks that improved production efficiency, repeatability, and quality.Additional experience includes:Embedded and hardware-facing softwareNetworking and distributed systemsDiagnostic, tooling, and GUI developmentTest automation, verification, and quality improvement initiativesI operate comfortably at the intersection of architecture, implementation, and engineering process, and I’m often brought in to clean up unclear designs, reduce hidden complexity, and make systems easier to evolve.I care deeply about mentorship and engineering craft. I support junior engineers, publish technical material, and advocate for designs that favor clarity over cleverness and discipline over expediency.My goal is simple: build software that can be understood, reasoned about, and trusted years after it ships.

Experience

Autumnal Software

Author — Systems & Embedded Software

January 2026 - Present (2 months)

Writing a technical book on deterministic embedded and systems design, focused on PNT, timing integrity, and long-lived software architecture. Page 1 of 6

This work distills production experience into concrete design patterns, examples, and tooling used in real systems.

Rochester Institute of Technology

Adjunct Professor

August 2023 - Present (2 years 7 months)

Advising senior capstone project teams on software architecture, implementation quality, and delivery to industry sponsors. Iridium

Senior Software Engineer

October 2024 - January 2026 (1 year 4 months)

United States

Working on Iridium's line of Satellite Time and Location PNT receivers. Debugging and adding features to several different receivers, including PetaLinux and STM32/FreeRTOS.

Currently developing a database-backed Qt GUI to help internal experts activate PNT accounts.

Developed new NMEA messages.

Safran Federal Systems

Senior Software Engineer

August 2020 - November 2024 (4 years 4 months)

Rochester, NY

Worked on several different PNT platforms, including SecureSync and VersaSync.

Debugged existing issues.

Developed code to handle complex binary GPS satellite receiver protocols, both commercial and military. Implementation used Boost ASIO for serial port communications.

Integrated a sophisticated gyroscopic inertial navigation device using UDP over a complex binary protocol.

Page 2 of 6

Developed multi-threaded programs for resource constrained embedded devices.

Debugged PTP issues, and worked with SFS proprietary PTP code AND open source code.

IMAGINANT INC.

Senior Software Engineer

November 2017 - October 2019 (2 years)

Rochester, New York Area

Worked on a team to convert company's flagship product PELT gauge from WinCE/C# to Linux/C++/Qt. Designed new display "widgets", networking, and database libraries and applications.

Designed and programmed a C++/Qt/SQLite based application to consolidate and track data produced by the company and used for PELT gauge customer operations. Replaced numerous disparate Excel spreadsheets with a single integrated management tool.

Designed and programmed a new, more efficient file format for PELT data. Format allowed for random access in potentially thousands of records, vs. the sequential only access in the old format. Also provided capability to add attributes as open ended string/string pairs, on a per file and/or per record basis.

Created a new Qt/C++ chart widget to display PELT waveforms. Widget works across platforms, on both Windows/Linux desktops and the more limited screen of the gauge.

Designed and programmed a new network library to enable data transfers and remote procedure calls between the PELT gauge and Linux/Windows desktops.

Explored web technologies and co-authored a proposal for a simple database backed web server to disseminate data from the PELT gauge and the robotic PELT. Investigated Django and Laravel frameworks (and web technologies in general) and described options for management, co-authored a preliminary design.

Harris Corporation

Page 3 of 6

Senior Software Engineer

February 2016 - November 2017 (1 year 10 months)

Rochester, New York Area

• Developed client code for spectrum data collection from tactical radios, utilizing Visual Studio 2012 with Qt extensions.

• Independently designed a C++/Qt application to automate radio device configuration, significantly reducing manual processes.

• Collaborated with the imaging characterization team to create C++ software for high-speed camera data acquisition, helping to realign project timelines.

• Created National Instruments TestStand code for satellite system testing, interfacing with complex subsystems to gather critical test data. Dematic Retrotech (contract position)

Software Engineer

June 2015 - February 2016 (9 months)

Rochester, NY

Worked on warehouse automation client/server software. Coded in C and C+

+, using Qt 5 as the client front-end. Contract position. Developed a Qt MVC application to display warehouse inventory and movement data.

The Gleason Works

Software Engineer

August 2014 - June 2015 (11 months)

Rochester, NY

Debugged various application and process issues in CNC gear cutting machine.

Developed HMI GUI's on Allen Bradley process controller. Integrated Computer Solutions, Inc.

Senior Software Engineer

September 2012 - May 2014 (1 year 9 months)

Rochester, NY

Worked remotely with a team on the GUI component of new generation John Deere tractor cab software. Involved creating a variety of custom widgets that controlled functions on the tractor via a CAN bus. Work done in C++ and the Qt framework.

University of Rochester, Laboratory for Laser Energetics Page 4 of 6

Lead Programmer/Analyst

May 2003 - September 2012 (9 years 5 months)

Design and develop a variety of imaging, data acquisition, and control software for a large laser system, primarily in C++ on Solaris and Linux. Developed video output service for an SDI interface as part of the Laboratory's new Digitial Image System. Service receives gray-scale image data from clients, adds overlays, and drives the output of the SDI interface board. Solely responsible for the design and development of the Energy Diagnostic service. Derives laser energy values at numerous points in the laser system using image acquisition and processing techniques and broadcasts the results over the Lab network to subscribers.

Solely responsible for the design and development of a communications library to GE Fanuc Programmable Logic Controller (PLC) units. Provides command and control of PLC units for motion and vacuum manifold control. Automatically polls the PLC and notifies subscribers of any changes to monitored control points.

Solely responsible for the design and development of a closed-loop adaptive optics control system that removes/reduces aberrations in the laser wave-front. This complex, highly visible project was successful due to close collaboration with research scientists on requirements and development, and due to flexible object oriented design.

Independently took lead on researching a middle-ware solution for Lab systems. Selected Internet Communications Engine (Ice, see www.zeroc.com).

Solely responsible for an image acquisition framework that handles a wide variety of cameras and interfaces, including CameraLink. Designed a set of abstract interfaces, utilities, and GUI elements that can be combined in a variety of ways. I

Took the lead in introducing Qt as the Lab’s primary GUI development system. Xerox

Software Engineer

June 2001 - May 2003 (2 years)

Page 5 of 6

Collaborated with an international research team (Xerox and Fuji Xerox) to design a next generation distributed “technology platform” for multi-function document handling intended to replace current Xerox technology:

• Reverse engineered existing Xerox platform code to discover areas of improvement. Applied automated code metric tools to characterize cohesiveness and coupling, and made recommendations for refactoring the code base to improve metrics and remove circular dependencies.

• Participated in design of abstractions and interfaces for various platform sub- systems.

• Studied distributed programming with CORBA, which was ultimately rejected. Designed and implemented a simple distributed system prototype using the Adaptive Communications Environment (ACE), which involved creating a binary protocol and marshalling via CDR, along with a means to identify and invoke operations remotely. Made extensive use of the ACE Reactor Framework.

Education

Syracuse University

BS, Computer Engineering

Page 6 of 6



Contact this candidate