Embedded Software Engineer
Embedded Software Engineer who will develop, modify and maintain customized or standardized applications using software engineering best practices and standards, and participate in the full life-cycle of software development, to include requirements development, modeling and design, application development, unit to CSCI testing, integration, formal system testing, release, installation, and maintenance.
- Develop and integrate software for existing embedded systems
- Full Lifecycle design, implementation, and unit testing of software
- Develop SW products from all phases of SW life cycle.
- Review customer requirements and specification for developing software and hardware solutions
- Produce and/or review technical documents, specifications, and standards.
- Review of software requirements against specific criteria.
- Analyzing project requirements to translate into specifications and programming deliverables.
- Works under direction of technical leadership with some expected self-direction.
- Utilizing internal processes and tools for the development of software.
- Review, develop and document software level operational concepts.
- Prepare and/or review documentation for software designs and architectures in accordance with established software development processes and procedures.
- Perform system/product integration.
- Verify and validate aspects of software designs to ensure conformance with functional specifications and customer requirements.
- Conduct design and code reviews and other defect prevention activities
- Actively participate in code reviews
- Design and promote new components and sub-processes
- Participate in activities related to software debugging and issue resolution
- Execute code integration, configuration management, and release processes
- Candidate must be able to conduct incremental component level testing and integration of product functionality.
- Creating Test Plans and Procedures that acknowledge technical and schedule constraint. Executing Test Procedures to ensure requirements compliance.
- Performing troubleshooting as required.
- Resolve defects and perform Component to Component Integration.
- Develop device drivers for embedded Linux using C Language
- Experience with embedded Linux
- Experience with C Linux Kernel level development and debug
- Experience with integrating software with custom processor-based circuit card assemblies.
- Working knowledge of high-order programming languages (C, C++, Python).
- Experience with development and management of requirements.
- Experience with development of formal verification procedures.
- Experience with any of the following is a plus, but not required:
- C - Lower-level software development
- Embedded C
- Embedded C++
- Version Control Systems: SVN, Git, Mercurial, etc
- Linux-based Environment
- Register-level configuration/setup software
- Device driver software for UARTs, I2C, etc device drivers
- Tool Suite: JIRA, Confluence, BitBucket (GIT), Bamboo, Jenkins
- Proficient model-based development with Matlab/Simulink
- Demonstrated leadership ability to lead small working groups.
- Candidates should possess strong communication skills both written and oral.
- Experience with wireless protocols a plus
- Experience with software defined radios a plus
- Bachelor’s Degree and minimum 4 years of prior relevant experience; or Graduate Degree and a minimum of 2 years of prior related experience
- 2+ years of experience in C++
- 2+ years of experience with embedded Linux
- Software Development: 5 years (Preferred)
- Proficient programming skills with embedded C/C++ and Python
- Excellent communication skills, written and verbal
- Systematic approach, attention to detail, and good problem-solving skills
- Experience in creating required engineering documentation.
- Experience in integration and verification testing of electronic equipment via software.
- Understanding of Microcontrollers and related requirements, constraints, and capabilities
- A willingness to learn and desire to be challenged
- Experience developing software / writing code in C/C++
- Experience integrating and testing software subsystems into systems
- Should be familiar with writing Test Scripts
- Experience in scripting language such as python
- Should be familiar with Atlassian tool suite with add-ons like git and confluence
- Should be familiar with Agile SW development process
- Should be familiar with Hardware Software Compatibility matrix process
- Position does not require a clearance to start however, it does require the ability to obtain and maintain a DoD Secret level clearance
- An active DoD Interim Secret or Secret level clearance is preferred
For more information on this opportunity, please contact us.