Software Developer – C/C++

Company Details



For those who dream of advancing our space in the Universe and on Earth, we’ll take you there.

Serving the world from our Canadian home and our global offices, MDA is an international space mission partner and robotics & space operations, satellite systems and geointelligence pioneer with a 50-year story of firsts on and above the Earth. Today, we’re leading the charge towards viable Moon colonies, enhanced Earth observation, communication in a hyper-connected world, and more.

We’re fueled by a pioneering spirit that carries us beyond. And together we enable highly skilled people to continually push boundaries and tackle big challenges requiring solutions that endure and inspire.

Are you ready to launch the next stage of your career in the new space economy? We would love to hear from you!

We’re on the hunt for a Software Developer on our Geointelligence Team at our Halifax office.

Our mission is to turn data into insight. From detecting changes in fragile ecosystems to monitoring northern ice floes and shipping routes, our near-real time data of Earth observation and the environment makes our Geointelligence team a leader in geospatial imagery, ground stations, enterprise geospatial systems and defence programs. As a member of our engineering team you will be responsible for the development and configuration of software in support the maintenance and upgrade of the Submarine Command Team Trainer located in Halifax, Nova Scotia.

Job Description:

MDA Halifax has worked closely with Department of National Defense over the past 15 years to conduct simulated training using the Submarine Command Team Trainer (SCTT). In addition to a steady support stream required to remain astride of changing training needs and shipboard equipment, the SCTT is currently undergoing significant rework to allow integration with other simulation facilities around the country and the globe.

Development of this rework and increased demand for support as the simulator ages have created a need for more software developers on the SCTT team. Each developer will coordinate with team members of various disciplines in order to advance the goals of the system, while at the same time being largely autonomous within their individual contributions. As such, MDA is seeking experienced, self-motivated, and creative developers with the discipline necessary to independently implement the full production cycle on their own work.

Position Description:

This position will allow the candidate to fully experience software development life cycle as well as participate in the broader field of systems engineering. The current effort involves software development in C and C++ reworking a large legacy Ada code base. Meanwhile the SCTT as a whole features several software languages, libraries, and third-party packages, which the candidate will be required to learn as necessary. The candidate will join a small team, based in the Dartmouth, Nova Scotia office that has the full responsibility to meet the customer’s requirements.


  • Software design and development, primarily using C/C++
  • Analysis of legacy software written in Ada, C#, and C/C++
  • Support legacy software in various languages
  • System and software design
  • Unit testing and documentation
  • Excellent communication – some interaction with industry and the customer will be required

Required Experience and Qualifications

  • Minimum 5 years of current C/C++ development in a professional setting
  • Possession of or capability to obtain security clearance at the secret status level and pass security assessment for the Controlled Goods Program (CGP) and ITAR

Desirable Experience and Qualifications

  • Familiarity with the Ada language
  • Familiarity with large, distributed systems
  • Computer Science degree or certificate from a recognized institute
  • Software design and requirements analysis
  • Structured and automated software testing
    Effective communication, both verbal and written
    Applicable Additional Experience and Qualifications
  • Ability to multi-task, and prioritize deliverables
  • Familiarity with version control (SVN) and configuration management
  • Knowledge of C#, SQL, and batch / shell scripting
  • Familiarity with Linux and MS Windows operating systems
  • Experience with task management software (Jira)

Tagged as: python, C++, Scripting

Visit us on LinkedInVisit us on FacebookVisit us on Twitter