Job Specification: Senior Software Engineer (Embedded Systems)
Purpose of the Role (Overview): The primary purpose of this role is to create, maintain, and release high-quality software in accordance with company standards. As a Software Engineer specializing in embedded systems, you’ll be responsible for designing, coding, debugging, testing, and maintaining software for embedded applications. This includes both low-level microprocessor code and higher-level software designs running within an embedded operating system environment. Your work will contribute to specific project goals derived from future product requirements.
Key Responsibilities:
- Design, code, debug, test, and maintain software for embedded applications.
- Collaborate with hardware and software engineers to achieve project goals.
- Develop and implement application logic, peripheral drivers, protocols, and human-machine interfaces.
- Ensure timely delivery of software within agreed-upon timescales and budget constraints.
- Demonstrate competence in using C for embedded programming.
Outline of Competencies:
- Experience in full software development lifecycle.
- Ability to work independently and propose process improvements.
- Analytical skills to identify areas for enhancement.
Qualifications and Experience Required:
- Strong teamwork and time management skills.
- Proficiency in C for embedded environments.
- Familiarity with embedded processors and real-time operating systems.
- Experience interfacing with hardware devices and peripherals.
- Solid understanding of software development life cycles and processes.
- Knowledge of source control tools (e.g., SubVersion and Git).
- Behavioral traits: self-starting, adaptable, problem-solving.
Desirable:
- C++ experience in an embedded environment.
- Object-Oriented Design and Programming expertise.
- Familiarity with desktop application and GUI/event-based design.
- Knowledge of issue-tracking tools (such as Jira).
- Understanding of software release processes.
- Familiarity with DO-178 standards would be advantageous.