About

About the Author

I’ve been in the industry for quite some time now, diversifying my experience across software, firmware, ASIC design, and test and verification. My career has spanned high-volume consumer products, low-volume R&D, industrial controls, and semiconductor companies. Throughout this journey, I’ve witnessed a lot done well and a lot done poorly.

I currently focus on embedded software development, but also have experience in full-system design. I primarily code in C and C++, and have experience with assembly and Verilog. I can read schematics.

At a glance, I might appear to be a jack of all trades and a master of none. I sometimes think of embedded programming as glorified plumbing, as it often involves connecting a range of devices and directing data flow. However, whenever I encounter a challenging problem, my love for the job is reignited.

For more about my professional background, visit my website or connect with me on LinkedIn and GitHub.

About the Blog

Welcome to my corner of the internet, where I delve into the fascinating world of embedded software engineering. This blog is a blend of technical insights, personal anecdotes, and practical advice aimed at anyone interested in the intricacies of embedded systems.

What You’ll Find Here

  • Technical Deep Dives: Detailed explorations of embedded software development, from coding in C and C++ to working with assembly and Verilog. I aim to break down complex concepts into digestible pieces, making them accessible whether you’re a seasoned professional or a curious beginner.
  • Anecdotal Stories: Drawing from my diverse experience across software, firmware, ASIC design, and more, I share stories from the trenches. These tales highlight the triumphs and pitfalls of the industry, offering lessons learned and a bit of humor along the way.
  • Practical Tips: Real-world advice on debugging, system design, and best practices. Whether you’re dealing with high-volume consumer products or low-volume R&D projects, you’ll find tips to improve your workflow and problem-solving skills.
  • Career Insights: Reflections on my journey through industrial controls, semiconductor companies, and beyond. I discuss the challenges and rewards of a career in embedded systems, providing guidance for those looking to navigate their own paths.

Why This Blog?

Embedded programming can sometimes feel like glorified plumbing, connecting a range of devices and directing data flow. But it’s also a field filled with challenging problems and opportunities for innovation. This blog is my way of sharing the passion and expertise I’ve accumulated over the years, with the hope of helping others find their own love for the job.

Blog Policies

  • AI Usage
    • I was leaning into AI for content review, that is fact-checking and readability metrics. I was accepting rephrasing from the AI tools but found I stopped sounding like me. I had several people read my source material and the AI rewording, and it was decided that my style was good enough, in fact, more approachable.
    • I was using Dall-e-generated illustrations, but they look like Dall-e-generated illustrations. In deference to the artists I know who object to AI, I have elected to use my own photographs and diagrams.
  • Work related content
    • I try to talk in abstract terms about problems and situations I have encountered at work. The last thing I want to do is to reveal trade secrets and privileged information. Even if I have good blog content, I will not share here information that could reveal what technologies we are adopting at work.
    • I have had some employers who are happy to have me share current events. I have past employers who have granted the use of images of devices already deployed to the field.
  • Inclusiveness
    • As a British ex-pat living in California, I remember the time when I didn’t understand American sports metaphors. I try to avoid regional terminology in technical posts. I do, however, use some colloquialisms when adopting a conversational tone to add color. If I do, I typically add a “translation”. If I ever use an unexplained turn of phrase, I apologize now.
    • Font and color choices, indeed, the overall theme is intended to be accommodating. The initial style, though elegant (grey text on an off-white background), had contrast issues.
    • Alt-text is being added to images on new posts. Popular old posts will be updated over the coming months.

Join the Conversation

I encourage you to engage with the content, share your thoughts, and connect with me. Visit my website for more about my professional background, or find me on LinkedIn and GitHub to stay updated on my latest projects and posts.

Thank you for visiting, and happy coding!

Leave a comment