EMBEDDED SOFTWARE ENGINEER
The Embedded Software Engineer will be a member or leader 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.
- 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’s degree in computer science, computer engineering, or software engineering with 3 – 10+ years of experience developing real-time embedded software in C++ or C.
- Experience with OOD and/or OOP.
- Experience in full development lifecycle for software projects.
- Software development and design experience with C#, .NET, Java or Python.
- Software testing experience.
- Digital Signal Processing (DSP) experience.
- Ability to analyze and debug software and related hardware issues. Experience with emulators and debuggers.
- Experience with TCP/IP network protocols, routing, and writing network communications software.
- Experience designing and developing device drivers.
- Experience with embedded Linux.
- Experience with waveforms.
- Experience/knowledge of Capability Maturity Model (CMM)/Capability Maturity Model Integration (CMMI) systems and software development processes or other defined SW development process.
- Radio communications experience.
- Experience leading small product development teams and mentoring other engineers.
- S. DOD Security Clearance desired, but not required.