Mobile Robot Senior Software Engineer

Engineering Services Inc - Markham, ON (30+ days ago)

Apply Now

ESI, founded in 1982, is a recognized leader in the field of Robotics, Automation and Mechatronics by its innovative design and breakthrough developments emphasizing modularity, mobility and advanced software. ESI provides world-leading products and develops cutting-edge technologies in both robotics and automation systems.

In the past, ESI has developed EOD robot for local police station and RCMP, Autonomous Patrolling Robot, Logistic Autonomous Mobile Robot (AMR), Personal Mobile Robot, and one mobile robot for Canadian Space Agency (CSA)'s planetary exploration project, which performed simulated Moon and Mars missions on Earth. In the future, as one of pioneers of robotics, ESI will work very closely with customers to provide solutions that support their business to become more effective. ESI creates highly flexible solutions that can be effectively extended to meet the requirements of new applications.

As a full stack software developer in our mobile robot team, you will help architect and develop both the front-end and back-end infrastructures of our client facing software. You will be responsible for shipping high quality, production-ready components and services that thrill our customers.

You will work in an Agile team with a group of developers whose daily works cover multiple domains from embedded programming to data science. We encourage transparency, communication, and respect. Everyone here is highly valued.


Ÿ Create software requirements and specifications

Ÿ Create and implement software architecture designs

Ÿ Create software verification and validation plans and processes (including code reviews, unit testing, etc.)

Ÿ Programming mobile robot, motion control, user interface, network, media server, communication;

Ÿ Participate in project planning and time and cost estimates

Ÿ Guiding/mentoring other team members

Ÿ Documentation, presentation, engineering meeting and discussion, and relevant activities;


Minimum Qualifications

Ÿ Holds a Bachelor degree in one of the following fields: Software Engineering, Computer Science, Mechatronics/Robotics or a related engineering discipline

Ÿ 2+ years of working experience in a senior software developer role using C/C++, managed language such as C# or Java, software architecture design, UML, and design patterns for robotic systems

Ÿ Solid knowledge of JavaScript / TypeScript, HTML5 and CSS.

Ÿ Experience working with front-end JavaScript frameworks (Vue.js, React, Angular, etc) and back-end frameworks (Node.js, Django, etc).

Ÿ Strong understanding of relational database (MySQL, PostgreSQL, etc) and NoSQL database (MongoDB, DynamoDB, etc).

Ÿ Proficiency with Linux distro (Ubuntu, Red Hat) and basic Linux commands (Unix Shells).

Ÿ Experience using Git or another version control system in a team setting.

Ÿ Influential team leadership skills and experiences

Ÿ Working knowledge of real-time system development, computer networking, and communication protocols

Ÿ Extensive experience building complex yet maintainable system, and software development skills

Ÿ Proficiency with software tools including Microsoft Visual Studio or similar IDE, software configuration management, software problem reporting/tracking

Ÿ Excellent verbal and written communications skills

Ÿ Desire to work on small collaborative teams with people that appreciate beautiful code

Ÿ Experience in Python, SQL Server and data modeling

Preferred Qualification

Ÿ Familiarity with Agile (Scrum, Kanban), test-driven development (unit testing, integration testing and functional testing), and continuous integration (GitLab, Jenkins, Travis, etc).

Ÿ Knowledge and experience in Robotics and industrial robots

We thank you for your interest in pursuing a career with ESI, however, only those who are qualified will be contacted

Inclusion and Equal Opportunity Employment

We are an equal opportunity employer committed to diversity and inclusion; creating an inclusive environment where all team members and clients feel like they belong. We are pleased to consider all qualified applicants for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, age, disability, Aboriginal/Native American status or any other legally-protected factors. We seek applicants with a wide range of abilities, and we provide an accessible candidate experience; accommodations during the application process are available upon request.


  • Vision care
  • Extended health care
  • Vacation & paid time off
  • Company pension
  • Life insurance
  • Dental care
  • On-site parking

Job Type: Full-time


  • C# or Java: 3 years (Required)
  • UML, and design patterns for robotic systems: 3 years (Required)
  • SENIOR software architecture design: 3 years (Required)
  • SENIOR software developer role using C/C++: 3 years (Required)


  • Master's Degree (Required)