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.