This course provides an introduction to the craft and associated skills for engineering high-quality systems and software for anybody who wants to create secure or safety-critical systems. It starts by explaining the basic terminology used in software engineering. It then discusses the processes that should be followed to avoid systematic risks, it articulates the benefits of adopting good software engineering practices, and provides resources that will help you increase your knowledge.
This course is designed for open source developers, product managers, security professionals, safety engineers, directors and anyone who wants to develop an embedded software system to be supported over multiple lifecycles. Learners should have some prior software development or product integration experience, ideally in open source projects, but this course is also relevant to those with only proprietary software development experience.
The key to a successful open technology project is to ensure a neutral playing field for all developers, technologists, and companies to collectively contribute to project evolution and growth. The Linux Foundation was built on the idea of the democratization of code and scaling adoption, for all projects equally. Expert legal and governance support programs ensure everyone is on the same playing field.