×
Register Here to Apply for Jobs or Post Jobs. X

Software Developer - C​/C++ (Linux

Job in Ottawa, Ontario, Canada
Listing for: MDS Aero Support Corporation
Full Time position
Listed on 2025-12-15
Job specializations:
  • Software Development
    Software Engineer, C++ Developer, DevOps
Salary/Wage Range or Industry Benchmark: 100000 - 125000 CAD Yearly CAD 100000.00 125000.00 YEAR
Job Description & How to Apply Below
Position: Software Developer - C/ C++ (Linux)

C/C++ Developer (Linux)

If you enjoy being on the bleeding edge of innovation, we are looking for you! We need a C/C++ Developer (Linux) to assist with the modernization of our mission critical application.

MDS works closely with clients to design, build, service, and support state-of-the-art, one-of-a-kind gas turbine test facilities around the world. Validating new turbo machinery products like the engines that power your home, take you on vacation, or deliver your online orders which is an enormous and complex feat.

We see tremendous opportunity in the power of data analytics, and with our flagship product, we’re stepping deeper into the world of Big Data and the Internet of Things (IoT). Our nxDAS platform is network-based, scalable, and plug-and-play, delivering data at lightning speed while remaining intuitive and user-friendly. This gives organizations the confidence to make effective, real-time, data-driven decisions.

If you’re looking to make a direct impact across multiple industries, this is the place for you. MDS is the global leader in gas turbine engine testing, and nxDAS is positioned to become the future of data acquisition across many sectors.

What you’ll be doing
  • Participate in a software development team that produces new features for MDS’ data acquisition software for testing Gas Turbine Engines.
  • Be part of an independent team and take ownership of features in a cutting-edge development environment
  • Software development programming over the full development life cycle, including design, code and test.
  • Work with product managers and clients to ensure that software meets all the specification requirements.
  • Collaborate with your team to ensure the best possible standards are met by participating in design and code reviews in a continuous improvement loop.
  • Support the integration and formal testing of the software as deployed on customer systems.
What’ll help your success Core Technical Skills
  • 5+ years of experience developing high-performance, real-time, or distributed software systems (e.g., data acquisition, instrumentation, control systems, telecom, or similar domains).
    • Exceptional candidates with strong relevant experience may be considered with fewer years.
  • Strong proficiency in C/C++, including development for multi-threaded, low-latency, and deterministic systems
    .
  • Solid understanding of Linux system programming
    , including:
    • concurrency and synchronization
    • memory management
    • IPC mechanisms
    • networking fundamentals
    • familiarity with kernel/driver concepts (asset)
  • Experience with modern development workflows, including:
    • Git and version-control best practices
    • CI/CD pipelines
    • automated testing frameworks
    • AI-assisted coding, debugging, and code-quality tools (use is encouraged)
Distributed Systems & Networking
  • Understanding of publisher/subscriber (pub/sub) architectures
    , data-distribution patterns, and service-to-service communication models.
  • Knowledge of networking and communication protocols, including:
    • TCP/IP, UDP
    • sockets programming
    • multicast communication
    • time-synchronized messaging (asset)
  • Experience with high-rate data streaming, messaging systems, or telecom concepts is an asset.
  • Experience with Qt or QML for desktop application development.
  • Familiarity with data visualization, monitoring dashboards, or analysis tools.
Supporting Technologies (Assets)
  • Experience with alternative architectures such as ARM or Power

    PC.
  • Knowledge of XML
    , schema-driven configuration, or structured data formats.
  • Understanding of SQL and relational database concepts.
  • Experience with scripting languages such as Python or Bash.
Who are we looking for

You have:

  • Experience working in an Agile/Scrum software development environment.
  • Strong written and verbal communication skills, with the ability to clearly explain complex technical topics.
  • Solid interpersonal skills and the ability to collaborate effectively within a multi-disciplinary engineering team.
  • A degree in Computer Science or Software/Computer Engineering.
We’re looking for someone who…
  • Thrives in a fast-paced environment and are always looking for new challenges
  • Is ready to fully immerse yourself in all aspects of the product
  • Understands the value your work brings to the customer and…
Note that applications are not being accepted from your jurisdiction for this job currently via this jobsite. Candidate preferences are the decision of the Employer or Recruiting Agent, and are controlled by them alone.
To Search, View & Apply for jobs on this site that accept applications from your location or country, tap here to make a Search:
 
 
 
Search for further Jobs Here:
(Try combinations for better Results! Or enter less keywords for broader Results)
Location
Increase/decrease your Search Radius (miles)

Job Posting Language
Employment Category
Education (minimum level)
Filters
Education Level
Experience Level (years)
Posted in last:
Salary