Embedded Software Design Engineer will be a member of a cross functional team with hands on responsibility for all phases of the software development process from requirements definition through integration and testing of completed product. Responsibilities will include system/software analysis, architecture definition, high-level design, detailed design, implementation, testing, documentation, and government certification of embedded software for radio or other communications products. Requires the application of the principles and techniques of computer science, engineering, and mathematical analysis.
- This position requires the candidate to already possess an active DOD Secret clearance (or a DOD Secret clearance inactive less than 2 years which can be immediately reactivated), and to maintain the clearance.
- Research, design, develop, modify and evaluate embedded computer software for electronic equipment or other communications systems in conjunction with hardware product development
- Determine design approaches and parameters. Analyze software requirements to determine feasibility of design within time and cost constraints. Analyze equipment to establish operating data, conduct experimental tests and evaluate results
- Perform detailed analysis including: requirements analysis, use case scenarios, conceptual design, trade studies, test, operation, maintenance, and reliability analysis of radio communications products, internal subsystems, and external systems
- Perform the functional analysis, requirements allocation and technical interface definition to translate customer requirements into software development specifications for the radio and associated subsystems.
- Develop block diagrams and interface design specifications
- Work with product design, test, manufacturing, logistics engineering teams, product and program management and other groups, and external customers as needed to define and execute radio product development projects and deliver high-quality radio products
- Prepare design and implementation reviews and oversee the configuration management and control of requirements and design documentation, and development software. Present technical briefings and status reviews
- Ensure the conversion of customer requirements, including informal requirements, into total systems solutions that balance the technical, schedule and cost constraints of the program
- Consult with electrical engineers and other engineering staff to evaluate interface between hardware and software and operational performance requirements of the overall system
- Develop software system testing procedures and design documentation
- Bachelor of Science in Electrical Engineering, Computer Science, Software Engineering, or Computer Engineering and a minimum of 4+ years of experience (or 2 years with an MS degree) developing real-time embedded software in C or C++.
- 4+ years’ experience developing and testing software developed in C or C++.
- 2+ years’ experience with OOA/OOD software development methodology.
- 4+ years’ experience in full development lifecycle for software projects.
- 2+ years of experience producing software development documents, such as design documents and test plans.
- Active Secret U.S. DOD Security Clearance (or inactive for less than 2 years).
Preferred Additional Skills:
- Experience developing software on an embedded microprocessor using an RTOS in C or C++
- Experience designing and developing device drivers
- Experience contributing to the development of software architecture.
- Experience with UML and OOA/OOD software development methodology
- Experience with TCP/IP network protocols, routing, and writing network communications software in C or C++
- Experience in full development lifecycle for software projects.
- Experience/knowledge of Capability Maturity Model (CMM)/Capability Maturity Model Integration (CMMI) systems and software development processes or other defined SW development process
- Familiarity with software analysis, design, development, testing (including software unit testing), and automation tools
- Highly motivated, a self-starter, and able to operate with little supervision in diverse environments
- A successful track record in planning, executing, and tracking personal task assignments
- Experience leading small product development teams and mentoring other engineers
- Demonstrated ability to analyze and debug software and related hardware issues
- Strong verbal and written communication skills
- Cryptographic experience
- Radio communications experience