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.
- Full Lifecycle design, implementation, and unit testing of software
- Develop SW products from all phases of SW life cycle.
- Review requirements and specification for developing software and hardware solutions
- Produce and/or review technical documents, specifications, and standards.
- Utilizing internal processes and tools for the development of software.
- Works under direction of technical leadership with some expected self-direction.
- 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.
- Participate in activities related to quality processes and documentation
- Develop and integrate software for existing embedded systems
- Develop device drivers for using Embedded C Language
- Design and promote new components and sub-processes
- Participate in activities related to software debugging and issue resolution
- Perform troubleshooting as required.
- Conduct design and code reviews and other defect prevention activities
- Actively participate in code reviews
- Perform system/product integration, configuration management, and release processes
- Conduct incremental component level testing and integration of product functionality.
- Resolve defects and perform Component to Component Integration.
- Create Test Plans and Procedures that acknowledge technical and schedule constraint.
- Executing Test Procedures to ensure requirements compliance.
- Verify and validate aspects of software designs to ensure conformance with functional specifications and customer requirements.
- Support development, integration, and execution of test pass/fail quantitative metrics.
- Document Test results and create Test Reports as needed.
- Support proposal development activities, including proposal text development, cost estimating and presentation activities.
- Experience with development and management of requirements.
- Working knowledge of high-level programming languages (C, C++, Python).
- 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
- Candidates should possess strong communication skills both written and oral.
- 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
- Bachelor's Degree in Computer Science, Electrical Engineering, or other relevant field of study
- Software Development: 3+ years (Preferred)
- Experience developing software / writing code in C/C++ or Python
- Excellent communication skills, written and verbal
- Systematic approach, attention to detail, and good problem-solving skills
- Experience with Linux (Preferred)
- Experience in creating required engineering documentation.
- Experience in development, testing, or familiarity of embedded systems
- Understanding of Microcontrollers and related requirements, constraints, and capabilities
- A willingness to learn and desire to be challenged
- Application software
- Experience with SW development tool suites: JIRA, Confluence, GIT, Bamboo, Jenkins, Subversion
- Should be familiar with Agile SW development process
- Agile – scrum/kanban – sprint planning, 2 week sprints
- Experience in scripting language such as python
For more information on this opportunity, please contact us.