Responsibilities
- Partner with a global, cross-disciplinary engineering team to develop advanced embedded solutions.
- Design and build real-time embedded systems compliant with strict functional safety and cybersecurity standards.
- Operate within an agile workflow utilizing Azure DevOps, with training provided for those unfamiliar with the platform.
- Deliver progress reports and development metrics to leadership and guide teams through product definition phases.
- Lead the documentation of system and product architecture, along with system and user interface requirements.
- Break down and assign system-level requirements to subsystems and technical domains.
- Report directly to the local manager or team lead for all assigned tasks and deliverables.
- Oversee and manage all stages of software development, from planning to execution.
- Define and create software architecture for embedded platforms.
- Apply object-oriented design principles and develop real-time embedded code.
- Develop comprehensive software requirements through analysis, elicitation, and documentation, including module and integration testing.
- Engage in sprint planning as part of agile development cycles.
- Conduct thorough peer code and design reviews.
- Track and manage source code changes using version control systems.
- Develop and run unit and integration tests to validate firmware functionality.
- Troubleshoot and resolve software defects and hardware-software interface issues.
- Perform software prototyping on custom hardware and execute low-level board initialization.
- Mentor and supervise two to three engineers, providing technical direction and coaching.
- Identify inefficiencies in software and recommend technical improvements.
- Utilize test equipment such as oscilloscopes, multimeters, power supplies, logic analyzers, and protocol sniffers as needed.
Work Arrangement
Remote (Worldwide)
Responsibilities
- Collaborate with a multi-disciplinary global development team
- Design/implement embedded real-time systems that meet rigorous functional safety and cybersecurity requirements
- Work in an agile development environment that uses Azure DevOps (don’t worry if you don’t have experience in these tools)
- Present status updates and development metrics to management. Lead cross-functional teams through product definition processes, leading documentation of:
- System/product architecture, system requirements, user interface requirements
- Allocation of system requirements to technical areas subsystems and requirements.
- Report Local Manager / Team Leader for all the activities.
- Plan, lead, and execute software development activities, including:
- Creation of software architecture.
- Performing Object-Oriented Design and coding of real-time embedded software.
- Development of software requirements, including elicitation, analysis, and documentation, module testing, and integration.
- Participate in sprint planning sessions.
- Performing extensive peer reviews.
- Manage code changes using version control tools.
- Creation and execution of unit and integration tests for verifying firmware requirements.
- Debugging software and hardware/software integration issues.
- Prototyping software on custom hardware and performing low-level board bring-up
- Potential to lead two to three engineers by providing work direction, coaching and technical expertise.
- Propose improvements to identify software inefficiencies and deficiencies.
- Use scopes, meters, power sources, logic analyzers, sniffing tools etc. as necessary to complete the task.