Software Engineer

Job Type:
Full Time
Location:
Toronto, ON
Date Posted:
2024-04-16
Job ID:
N4271630

Responsibilties:

  • Responsible for creating scalable and sustainable software architecture, design, and implementation to guide the development team and collaborating with other professionals to determine functional and non-functional requirements for systems and applications.
  • Lead software development projects and provides software design support and guidance on development of new and existing products, evaluates, reviews, and supports customer, sales, and production design requests.
  • Develop and implement product specifications.
  • Document all aspects of the system or application.
  • Identify solutions to new application opportunities.
  • Identify designs to support new product enhancements.
  • Support design maintenance projects such as: product quality, continuous improvement, and obsolescence (integration with new HW platforms, CPUs, Operating systems, etc.).
  • Train engineering staff in support of optimizing the operation and application of new and existing products.
  • Provide technical assistance/support, dealing with software design.
  • Provide sales training on all new and/or existing products, when assigned.
  • Provide applications support in diagnosing and recommending solutions to field application issues and/or field environmental issues for newly launched products.
  • Ensure that software design documentation is completed, communicated and properly recorded as per standards
  • Provides technical support to all Engineering staff and Managers. 

Qualifications:

  • Bachelor’s degree in computer science or related Engineering field from an accredited university, required.
  • 8 to 10 years of software development experience using various languages such as C++ (C++11 or C++17), C, Python, Java. C++ and C are required.
  • Minimum of 4 years of experience as a Software Architect or similar role.
  • GPU programming experience is required.
  • Work with software frameworks, for example – QT, and/or experience with developing own framework.
  • Strong understanding and familiarity with JSON and XML.
  • Experience designing and developing user interfaces.
  • Knowledgeable or experience with embedded software design, Linux, real-time operating systems, network protocols and industrial communication protocols MODBUS, PROFINET and PROFIBUS.
  • Work collaboratively with cross-functional teams and management to collect requirements, identify tasks, provide estimates and meet deadlines.

 

 

 

 

Apply Now

Software Engineer

Use the form below to send us your resume.

Submit