This paper is a reflection on the author’s career in software engineering over the last 35 years, with an emphasis on what he has learned along the way and its relevance to safety-critical avionic software development.