1

Software Development Software Engineer Jobs in Ottawa, ON

Senior Software Developer

Ottawa, ON · Remote

CA$10K - CA$135K/yr

The Job SRC CAN Ltd is seeking a Senior Software Developer to contribute to the design, development, and delivery of next-generation EW Operational Support Systems (EWOSS) including Intelligence ...

As a Senior Software Engineer, you will design, develop, and deliver Control Software and or ... As such, we have a One Person One Project development culture so that you will own all aspects of a ...

Provide technical leadership by guiding and mentoring more junior engineers in the team, fostering ... Comfortable working with AI tools such as Co-Pilot for software development and test case ...

Software Manager

Nepean, ON · Hybrid

CA$122K - CA$155K/yr

Champion engineering best practices and continuous improvement throughout the software development lifecycle. What You'll BringRequired Qualifications * Bachelor's degree in Computer Science ...

Senior Software Engineer Job Type: Contractor (~15 hours/week) Location: Remote Job Summary We are ... Design tasks involving bug fixing, feature development, refactoring, and performance optimization

Showing results 21-40

Software Development Software Engineer information

What does a software development software engineer do?

A Software Development Software Engineer designs, develops, tests, and maintains software applications or systems. They work with various programming languages and technologies to create software solutions that meet user or business needs. Their responsibilities often include writing code, debugging issues, collaborating with other team members, and ensuring software quality and performance. Software Engineers may also participate in planning, code reviews, and updating documentation to support ongoing software projects.

What are the key skills and qualifications needed to thrive as a software development software engineer?

To thrive as a Software Development Software Engineer, you need proficiency in programming languages (such as Python, Java, or C++), problem-solving abilities, and typically a bachelor’s degree in computer science or a related field. Familiarity with version control systems (like Git), integrated development environments (IDEs), and knowledge of software development methodologies (such as Agile or Scrum) are commonly required. Strong collaboration, communication, and adaptability are essential soft skills for working effectively in team environments and responding to project changes. These skills and qualities are crucial for building reliable, maintainable software and contributing to successful, dynamic development projects.

How do software development software engineers typically collaborate with cross-functional teams during a project?

Software Development Software Engineers often work closely with product managers, designers, and quality assurance teams to deliver well-rounded solutions. Collaboration usually involves attending regular stand-up meetings, participating in sprint planning, and conducting code reviews. Effective communication and a willingness to incorporate feedback from various stakeholders are key to ensuring project goals are met and potential issues are identified early. Building strong relationships with colleagues in different roles can also streamline the development process and foster a positive team environment.

What is the difference between Software Development Software Engineer vs Software Developer?

AspectSoftware Development Software EngineerSoftware Developer
CredentialsBachelor's in CS or related field, certifications optionalBachelor's in CS or related field, certifications optional
Work EnvironmentCollaborative teams, Agile/Scrum settings, cross-functional projectsIndividual or team projects, coding-focused tasks
Industry UsageUsed across tech companies, startups, and large enterprisesCommon in software firms, tech startups, and freelance work
Search & Comparison IntentOften compared for roles involving system design and architectureTypically searched for coding and application development roles

While both roles involve software creation, a Software Development Software Engineer often focuses on system design, architecture, and collaborative project management, whereas a Software Developer primarily concentrates on coding and implementing software solutions. The engineer role may require broader technical knowledge and involvement in the development lifecycle, making it suitable for those interested in both design and coding aspects of software projects.

Full-time

Re-posted 11 days ago


Job description

Embedded Software Developer

Ottawa, ON


Mist Mobility Integrated Systems Technology is a pioneering company in the field of precision aerial delivery and recovery systems including the Sherpa family of GPS guided parafoils, Space Recovery Systems, LaunchPADS Multi-Mission Manager, SkyLink Parachutist Navigation and Situational Awareness System, and other support equipment. With a strong commitment to innovation and excellence, we have established ourselves as the industry leader. Our cutting-edge technologies and solutions are trusted by military and commercial customers worldwide.We are currently seeking a Embedded Software Developer to join our Ottawa based team.

What will you be doing?

As the Embedded Software Engineer, you will play an integral part of an agile development team, developing & maintaining software for MMIST's family of solutions for Precision Aerial Delivery and Recovery ensuring products are at the leading edge of technology for our customers.

  • Write efficient, modular, and maintainable code in languages such as C/C++
  • Create unit tests for created code.
  • Develop, design, and implement advanced guidance, navigation & control algorithms for autonomous parachute system, focusing on stability, efficiency, and safety.
  • Develop fault-tolerant system designs, ensuring the system can continue operating with minimal disruption even in the presence of faults.
  • Conduct thorough analysis of control feedback and collaborate with stakeholders to implement improvements and optimize system behavior.
  • Verify the effectiveness of guidance, navigation & control strategies through simulation, modelling, and physical testing, ensuring alignment with performance goals and safety requirements.
  • Be responsible for troubleshooting and root cause analysis of issues within our software.
  • Ensure code is appropriate for use within mission critical, safety critical high availability systems.
  • Providing expert knowledge for embedded software systems to meet budget and customer delivery times.
  • Being accountable for continuous improvements to processes to deliver quality robust solutions.
  • Collaborate closely with cross-functional teams, including mechanical, electrical, systems, and software developers, to refine control strategies based on real-world performance data and operational requirements.
  • Collaborating with internal cross-functional and leadership teams to identify product improvements and influence key decisions.
  • Define and document requirements of the embedded software both into and from the system specifications.
  • Detects areas in embedded systems that need improvement and leads the work on making those improvements.
  • Mentors Junior embedded engineers on the team and throughout the organization

What do we need from you?

  • Degree or suitable experience in relevant field of Computer Science etc.
  • Advanced development and verification skills using C/C++ for embedded real-time systems.
  • Proficiency in embedded software development tools, debugging techniques, and cross-compilation environments. (Keil, MPLAB X, Visual Studio, or similar)
  • Familiarity with communication protocols such as UART, SPI, I2C, USB, CAN, Ethernet, or wireless technologies.
  • Experience of real-time system modelling with UML software development for POSIX compliant RTOS e.g. QNX
  • Strong documentation writing skills
  • Familiarity with various microcontroller architectures and their peripherals, especially arm.
  • Familiarity with sensors, actuators, and feedback control mechanisms used in industrial applications, as well as fault-tolerant system design.
  • A huge plus for understanding of the GNC disciplines such as: Autopilot design and stability analysis, Guidance laws for varying phases of flight, Navigation systems including integration of GNSS and IMU, and Data fusion and state estimation.
  • Experience with aerospace software development standards (e.g., DO-178C) would be great.

Compliance Statement

This position may require exposure to export-controlled information and is subject to additional security screening. In the event information provided during the security screening reveals ineligibility to access export-controlled information, any offer of employment may be reconsidered or withdrawn.

MMIST values diversity in the workplace. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability or protected veteran status.

If you require accommodation due to a disability at any time during the recruitment and/or assessment process, please contact Talent Acquisition and we will make all reasonable efforts to accommodate your request.

Please note that the compensation range information provided is a general guideline only. Criteria such as the candidate's qualifications and relevant experience, the scope of the specific position, as well as market and business considerations will be evaluated when extending an offer.