Embedded Software Engineer
SAIC
- Arlington, VA
- Permanent
- Full-time
- Participate in the full software development lifecycle, working within broadly defined parameters on large, complex embedded systems
- Own the delivery of an entire piece of a system or application, and serve as a technical lead on medium to large, complex embedded software projects
- Break down large tasks into smaller tasks that can be executed by the rest of the development team
- Work closely with other engineers to develop the best technical design and approach for new product development
- Build software solutions where the solution is not always well defined but always considers the customer first
- Mentor other engineers in the art of building complex, web scale systems
- Resolve roadblocks for the development team, working collaboratively with the Product Owner, technical leadership, and other engineers
- Plan and estimate development tasks and work to improve performance metrics
- Operate as a software leader and as a senior level individual contributor
- US Citizenship and an active DoD Secret clearance
- Bachelor's Degree and 5 years of experience; Master's and 3 years of experience
- Hands-on expertise with embedded programming in 'C' and/or assembly
- Desired experience in higher level languages such as Java, C/C++ and object oriented programming
- Strong proficiency with basic web technologies including HTML, CSS, XML, SOAP, WSDL, REST, JSON, and JavaScript
- Proficiency with web application technologies, such as Apache Tomcat, JBoss, etc.
- Deep understanding of software design patterns
- Working knowledge of Agile Development and continuous integration and continuous delivery methodologies and tools
- Experience with a version control system (e.g., Git, RCS, Clearcase, SVN)
- Experience with an issue/problem tracking system (e.g., Jira, GitLab, GitHub, Rally, Azure Boards, Planview)
- Proficiency with multiple operating systems (Mac OSX, Windows, LINUX, etc.)
- Proficiency with at least one Relational Database Management System (Oracle, MySQL, PostgreSQL, SQL Server, Accumulo, etc.)
- Strong knowledge of low level Linux (static & dynamically loaded) driver development
- Strong knowledge of embedded software development using 'C' to modify Linux OS and custom Linux software threads
- Knowledge of Agile Development tools such as Jira, Bitbucket, Confluence
- Knowledge of continuous integration and delivery tools such as Jenkins, SonarQube, JUnit, Cucumber, Selenium, JMeter
- Ability to implement Agile processes and DecSecOps best practices
- Experience developing and delivering modern software, including microservices, containers, and serverless architectures