Senior ISTAR Software Engineer
ExternalPrepare for this interview
EliteAI-generated questions, company research, and talking points tailored to this role
Responsibilities
- Contribute to SDK design: define clean interfaces, document contracts, and ensure third-party integrators can consume your APIs predictably
- Build and maintain J2EE enterprise data sharing pipelines that move sensor-dervied and human reported intelligence across organizational and coalition boundaries
- Develop and maintain rich Java desktop client applications that consume and present sensor-derived and human-reported data sources
- Write clean, testable, maintainable code against established coding standards - and enforce those standards in peer code reviews
- Integrate communication protocols and message exchange patterns (ZeroMQ, REST, protobuf, JSON) between sensors and command-and-control subsystems
- Participate in all Agile processes: sprint planning, backlog refinement, stand-ups, reviews, and retrospectives
- Develop and execute unit, integration, and system-level tests; support customer field trials and verification events
- Identify, document, and resolve defects across the full product lifecycle
- Provide technical mentorship to junior team members.
- What You Need to Have to Succeed
- Must have a technical Bachelor's degree in Computer Science, Software Engineering, or an equivalent related field.
- 5-8 years of professional software development experience, with a majority in Java (Java 8+; Java 17 preferred)
- Demonstrated experience building desktop or embedded Java applications (not exclusively web/microservices)
- Solid command of Java 2EE/Jakarta EE fundamentals: lifecycle management, dependency injection, concurrency, and JMS or equivalent messaging
- Practical experience with MVVM or MVC in a Java desktop context (JavaFX, Swing, or equivalent)
- Candidates with a Spring Framework or Java MVC background are considered provided they can demonstrate depth in backend class decomposition, layered architecture design, and domain modelling
- Experience designing or consuming SDKs or integration APIs, able to reason about interface stability, versioning, and backward compatibility
- Working knowledge of message bus patterns and at least one broker technology (ZeroMQ, ActiveMQ, RabbitMQ)
- Experience with data serialization formats and communication protocols (protobuf, JSON, REST)
- Comfort in an Agile/Scrum environment: owned story-point commitments, contributed to planning, and hit sprint goals
- Strong debugging and troubleshooting skills in a multithreaded environment
- Clear written and verbal communication, write a design doc and present a trade-off to a non-technical stakeholder
- What Makes You Stand Out
- Familiarity with Interface Control Documents (ICDs) for sensor or hardware systems
- Experience with object-oriented design patterns applied to integration or plugin architectures
- Prior work in defence, C2, or real-time systems
- Experience mentoring or leading a small technical workstream
- Security
Benefits
Additional Information
Position Description The LC4ISR ISTAR team is seeking a working level Software Engineer to support delivery of critical capabilities for the Canadian Army. You will be working with a multidisciplinary engineering team to deliver Intelligence, Reconnaissance, Target Acquisition and Surveillance capabilities into a fully integrated tactical network, capable of providing flexible, multi-role and combat-capable communications, command and control. You will be part of an agile development team, responsible for designing, implementing and verifying software components for ISTAR commanders and operators. This role requires on-site work at our Ottawa office and customer locations within the National Capital Region, with flexibility to work remotely when necessary. Occasional travel may be required to support customer field trials.
Your Match
How well this role fits your profile.
Company Intel
What employees say
Worked at Gdmsi? Share your experience