This role is vital to producing software solutions that meet electrical, mechanical and CONOPs needs. The ideal candidate has a solid depth of understanding of robotic systems and underwater technologies.
ESSENTIAL:
- BS Degree in a STEM (Science, Technology, Engineering or Mathematics) discipline. Commensurate experience will be considered.
- 8+ years of practical experience in software engineering.
- Experience with C and C++.
- Solid written and oral communications skills, including ability to effectively document, convey, and present engineering concepts and products to team members and customers.
- Ability to obtain and maintain a United States Government Department of Defense Security Clearance.
- Must be a US citizen.
:
- Experience developing in underwater vehicle or robotic software frameworks and expanding framework capabilities.
- Experience working on Department of Defense software efforts.
- Experience with Linux OS or bare metal firmware.
- Experience with microprocessors and single-board computer (SBC) based control systems that interface to sensors and hardware (e.g. cameras, navigation sensors, valve packs, other boards).
- Ability to implement and debug communication protocols including: UDP and multicast, TCP, serial protocols, SPI, I2C, CAN, etc.
- Experience with pub/sub communication middleware such as RTI, MQTT, or ProtoBuf.
- Experience with microservices based architectures utilizing containerization and orchestration.
- Experience with Model-Based System Engineering.
- Experience with CI/CD, specifically utilizing Jira, GitHub and Artifactory.
ADDITIONAL:
- Additional duties as assigned.
EEO:
All qualified candidates will receive consideration for all positions without regard to , , , , (including ), , , , veteran status, , genetic information, or other non-merit factors.
- Apply working knowledge of the software lifecycle to develop and lead software efforts.
- Make and implement decisions for designing and maintaining software architecture.
- Lead small software development teams.
- Actively interface with the electrical and mechanical leads, customer, and program manager
- Ensure project CDRL’s are delivered and accepted by the customer. This includes requirements management, software documentation, unit testing, software safety testing, and software qualification testing.
- Lead trade studies for hardware such as navigation units, board stacks, and power monitors.
- Support software testing on the factory floor, offsite, and offshore.
- Perform analysis of user requirements, concept of operations documents, and high-level system architectures to develop system requirements specifications.
- Guide system development and implementation planning through preparation of concept of operations, interfaces control documents, hazard analysis, and test plans and procedures.
- Display excellent technical judgment, attention to detail, and ability to look at the “big picture” in system design.
- Demonstrate ability to devise innovative solutions to problems when conventional solutions are insufficient.
- Review progress and evaluate results of work accomplished by self and others.
- Prepare reports and presents results to management and client.
- Schedules can be demanding throughout the year and occasional work outside normal working hours should be anticipated.
- Staff Engineers are also expected to take a leadership role within the software group. This includes helping craft and enforce policies and procedures for software development, mentorship, and potential functional management responsibilities of team members.