Discussion Overview
The discussion revolves around the roles and responsibilities of various engineering positions related to embedded systems, including embedded system engineers, embedded software engineers, embedded firmware engineers, and test engineers. The scope includes conceptual clarifications and technical explanations of each role within the context of embedded systems.
Discussion Character
- Technical explanation
- Conceptual clarification
- Debate/contested
Main Points Raised
- Some participants describe the role of an embedded systems engineer as ensuring the embedded computer interacts with and controls surrounding hardware.
- Others explain that embedded software engineers develop and maintain application software for embedded systems, often requiring specialized methods for software loading.
- It is noted that embedded firmware engineers manage the firmware, including updating and flashing ROMs or other storage media.
- Test engineers are said to conduct various tests on hardware and software, including functional and system tests, to ensure proper operation.
- One participant emphasizes the importance of including features like a watchdog timer in embedded systems to aid in troubleshooting failures.
- Another participant highlights the complexity of debugging in embedded systems, noting that it often requires collaboration between hardware and software engineers.
- Some contributions suggest that the field of embedded software engineering is challenging and often requires a background in electrical engineering.
- There is a distinction made between test engineers who write automated test scripts and those who merely run tests, with implications about the level of expertise required.
- One participant mentions that firmware engineers may work with hardware description languages for designing FPGAs, indicating a blend of software and hardware engineering skills.
Areas of Agreement / Disagreement
Participants express various perspectives on the roles of embedded engineers, with some agreement on the general responsibilities but differing views on the complexity and educational requirements of each role. The discussion remains unresolved regarding the exact distinctions and overlaps between these roles.
Contextual Notes
Some statements reflect assumptions about the definitions of roles and the nature of embedded systems, which may not be universally accepted. The discussion also highlights the challenges of debugging in embedded systems without reaching a consensus on the best practices.