Description:
C++ Software Engineer responsibilities include:
Scrum Master Responsibilities:
- Serve as Scrum Master for one or more Agile teams, ensuring effective sprint planning, stand-ups, sprint reviews, and retrospectives.
- Coach team members and stakeholders on practical Agile principles and practices in a hybridized scrum environment.
- Remove impediments and foster a culture of continuous improvement and collaboration.
- Create dashboards, track and communicate team progress using Agile metrics (e.g., velocity, burndown charts).
- Maintain a healthy backlog and ensure clarity of backlog item requirements.
- Be able to understand the technical content of a scrum work item being managed to understand its true current state.
Software Engineering Responsibilities:
- Design, implement, and modify modular software components for an embedded system at multiple layers of the software architecture below the GUI.
- Act as Software SME in design discussions with Product Managers and Systems Engineers.
- Implement service abstraction layers to decouple application logic from hardware and OS dependencies.
- Develop integration test frameworks for multi-process embedded environments.
- Help define system architecture, configurations, and development processes to ensure long-term maintainability and traceability within a regulated quality management system.
- Determines technical / operational feasibility by conducting system analysis, developing POCs, etc.
- Contribute to system-wide synchronization, logging, and monitoring infrastructure to support observability of system performance, resource utilization, and health.
- Perform good software design practices throughout requirement gathering, architecture definition, unit testing, and code reviews.
- Be able to trace, analyze, and fix software issues from analysis of logging telemetry, source code, debugger, and other tools.
Desired Qualifications:
- BS in Computer Science / Software Engineering / adjacent computer degree is required.
- Minimum Five years’ related experience
- Certified Scrum Master (CSM) experience or equivalent Agile certification required.
- Experience serving as Scrum Master in a software development environment.
- Familiarity with Agile development practices and tools (Azure DevOps or JIRA, Git, CI/CD).
- Proficiency in C++ (Modern C++11 or newer preferred) with a strong focus on memory-safe design techniques.
- Familiarity with Agile development practices and toolchains, including Git, CI/CD integration, and issue tracking platforms such as Azure DevOps, GitHub, or JIRA.
- Strong analytical and debugging skills with a systematic approach to solving complex technical issues.
- Experience with TDD-style automated testing frameworks, including unit test and mocking frameworks.
- Experience in Linux or Linux-like environments