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;
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
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
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.
Job Type: Full-time