Professional focus
A brief summary of the work and ideas that have shaped my career.
Firmware • Real-Time Systems • Software Engineering
I’m Joe Maybee. My professional work has centered on firmware, embedded systems, real-time process control, wireless networking, device drivers, manufacturing tools, and the engineering practices needed to build reliable software-intensive systems.
Although I am retired from full-time engineering work, I remain interested in mentoring, tutoring, technical discussion, and helping younger engineers develop sound engineering judgment.
A brief summary of the work and ideas that have shaped my career.
I spent much of my career working where software meets the physical system: firmware, device drivers, operating systems, board bring-up, diagnostics, automated test fixtures, and real-time behavior. That work included small no-OS systems, Unix-style I/O, embedded Linux, OpenWrt, Yocto, U-Boot, SPI, UART, GPIO, TCP/IP, 802.11 wireless systems, and custom hardware interfaces.
I taught undergraduate and graduate software engineering courses at Portland State University, the Oregon Master of Software Engineering program, and Saint Martin’s University. My courses included software engineering principles, software quality, requirements engineering, software architecture, domain analysis, and real-time systems.
I continue to enjoy thoughtful technical conversation, especially around requirements, testability, debugging, timing, design tradeoffs, and the habits that help engineers build systems that remain understandable and maintainable over time.
Firmware, process control, timing-sensitive behavior, no-OS systems, electromechanical interfaces, and reliable product behavior under practical constraints.
Device drivers, memory-mapped devices, FPGA and chip-level interfaces, SPI, UART, GPIO, diagnostics, and kernel support facilities.
Linux kernel work, U-Boot, Yocto, OpenWrt, wireless AP firmware, TCP/IP, 802.11, SNMP, Wireshark, and system diagnostics.
Instruction in requirements, quality engineering, architecture, domain analysis, real-time systems, and practical engineering discipline.
Automated test harnesses, requirements-to-test traceability, release evaluation, exception reporting, and strategies for volatile requirements.
Helping engineers diagnose difficult systems, ask better questions, understand tradeoffs, and develop habits that support long-term maintainability.
A co-authored book concerned with the disciplined habits, practices, and technical judgment required of individual software engineers.
A paper on automated testing for a real-time embedded printer control system, with emphasis on testable requirements, fast QA turnaround, and maintaining requirements and tests together.
A follow-on paper describing formal real-time requirements, Prolog-based specification, automated test generation, and the shift from writing tests to writing requirements.
Good engineering depends on more than clever implementation. It requires clear thinking under constraints: understanding the system boundary, making requirements testable, measuring what matters, designing for change, and building feedback loops that expose reality early. That is the perspective I try to pass along when working with engineers who are developing their own judgment.
I am not seeking full-time employment, but I remain open to useful conversations where my background in firmware, embedded systems, real-time behavior, software quality, or engineering education may be helpful.
The best way to reach me is by email or LinkedIn.
Email: joe@joemaybee.com • LinkedIn: linkedin.com/in/joemaybee