We are currently seeking a highly skilled and experienced Software Design Engineer to contribute to the design and development of systems for our products – particularly with defense programs. The successful candidate will play a crucial role in ensuring the reliability and performance of product software, from concept through to production, including re-engineering existing products to meet customer requirements and specifications.
Duties/Responsibilities
- Design and development of software solutions that meet stringent requirements of defense systems. Implement efficient algorithms, data structures, and maintainable code.
- Develop and execute comprehensive test plans, including unit testing, integration testing, and system testing, to validate the functionality and performance of the software.
- Ensure that software designs adhere to protocols and standards, including security measures, to safeguard sensitive defense-related information.
- Create documentation, including design documents, technical specifications, and user manuals, to facilitate the understanding and maintenance of the software.
- Identify opportunities for performance optimization and implement solutions to ensure the software operates efficiently under demanding conditions.
- Utilize version control systems to manage and track software changes, ensuring traceability and easy collaboration with team members.
- Provide ongoing support, troubleshooting, and updates software, addressing issues that may arise.
- Ensure that designs comply with relevant safety and industry regulations, and MIL standards.
- Collaborate with cross-functional teams, including program management, and mechanical, electrical and systems engineers, to ensure successful project execution.
- Identify and resolve technical issues and challenges related to software design, both independently and as part of a team.
- Stay current with industry trends, emerging technologies, and best practices in software engineering to drive continuous improvement in our designs.
Required Skills/Abilities
- Strong knowledge of software development methodologies, design patterns, and best practices.
- Familiarity with software security and encryption techniques.
- Experience with version control systems and collaboration tools.
- Knowledge of defense industry regulations and standards.
Required Software Skills
- Java / C++ development
- Apache Kafka
- Memory management
- Object Oriented Programming
- Multi-threading / Asynchronous Programming
- Networking libraries (e.g. Retrofit)
- Encryption Protocols
- Git/Github
Preferred Requirements
- Familiarity/previous work history with Android development
- RealTime Databases
- Websockets
Education and Experience
- Bachelor's degree in Computer Science, Software Engineering, or a related engineering field. Master's degree preferred.
- Demonstrated experience in software design and development, with a focus on defense systems or similarly complex, safety-critical applications such as missile systems and loitering munitions.
- Security clearance or eligibility to obtain required.