Senior Embedded Software Engineer
Cubic
- Ashburn, VA
- Permanent
- Full-time
- Design, develop and test high-quality software
- Capture and review functional requirements and translate into a clear design, prototyping as required
- Integrate and troubleshoot firmware on a target platform in the lab environment using hardware analysis tools
- Utilise software development best practices to ensure code is well structured, unit tested and easy to maintain
- Work within an agile team to ensure minimum viable product development and seek early feedback from stake holders
- Able to lead projects, estimate task timescales and clearly report on their status
- Participate in design and development reviews across the wider team, including less familiar areas
- Able to work collaboratively and contribute constructively to team meetings and design discussions
- Contribute new ideas and tools for continuous improvement of the team development practices
- Provide mentorship to junior engineers
- Four-year college degree in computer engineering or other related technical discipline, plus a minimum of five years of related experience or a master’s degree with at least three years of related experience.
- Strong C/C++ experience
- Comprehensive understanding of embedded systems, including hardware-software interactions, real-time constraints, and low-level programming concepts
- Experience debugging in an embedded environment, using both software and hardware tools e.g. experience using oscilloscopes
- Experience using Unix commands and Linux based operating systems
- Able to analyse and solve complex software engineering problems
- Experience writing unit tests and using unit test frameworks
- Experience with tools & applications such as JIRA, Confluence and Git
- Experience with FPGA Hardware Description Language (HDL)
- A driven and self-starting individual, with a desire to write quality, effective software
- Good analytical skills, with a passion for finding simple solutions to complex problems
- Able to prioritize work and complete tasks to a deadline
- Good communication skills and ability to clearly convey complex ideas