Back to jobs
Job Description
Mission:
We’re looking for a Software Engineer who is strong in software engineering fundamentals, thrives in highly technical environments, and enjoys solving complex, real‑world problems. You’ll contribute to the design, implementation, testing, and maintenance of OSI’s mission‑critical software products used on naval platforms worldwide.
Responsibilities:
Design, implement, and maintain software features with a focus on high quality, scalability, and reliability.
Write clean, maintainable code in the languages used by your team (C, C++, and others depending on the component).
Contribute to automated testing at all levels — unit, component, integration, and system — with strong alignment to the test pyramid.
Participate in code reviews, technical design discussions, and architectural decisions.
Maintain and enhance existing software by diagnosing issues, debugging, and implementing fixes.
Collaborate with multidisciplinary project teams, including systems engineering, test engineering, and product teams.
Use modern tooling, including AI-assisted development tools, with understanding of their strengths, risks, and limitations.
Maintain documentation for your components or features including transforming customer needs into clear requirements specifications
Demonstrate ownership over assigned features, communicating progress, challenges, and deadlines to the team.
Knowledge and Qualifications:
Education or Equivalent Experience: Degree/diploma in Computer Science, Software Engineering, or equivalent related experience that demonstrates solid software engineering skills.
Professional experience developing software Our applications are written in C/C++, and those unfamiliar with pointers and threads will be expected to ramp up quickly on the job.
Strong understanding of software engineering fundamentals (data structures, algorithms, concurrency, design patterns, design principles).
Solid experience writing automated tests (unit, component, integration, system) and applying the testing pyramid in practice.
Experience with source control, code reviews, CI/CD pipelines, and collaborative development workflows.
Practical experience using AI tools for development (only using custom on-prem AI models due to the military sensitivity of our code) with awareness of biases, accuracy limitations, and appropriate usage boundaries.
Strong communication and teamwork skills.
