Job Description
MAJOR DUTIES :
As key leader within the innovation group, you will be leading a software development team that design and build technically innovative solutions for data collection, analysis, control and reporting solutions.
Duties involve creating and evolving a world class software development environment, providing design direction, code reviews for software developers, technical development of the software team, manage the creation and maintenance of on-boarding material for new developers.
The candidate will work closely with the project managers, product owners, UI UX developers, testers, control systems integrators and end users to develop a strong product.
In this role you will have a team that will report directly to you. And of course, you’ll be hands-on in the code and contribute technically.
SPECIFIC RESPONSIBILITIES :
General Experience
- Skilled at developing clean code that is efficient, elegant, robust and maintainable.
- Strong understanding of SOLID principles for software development is an asset.
- Ability to get to root cause of customer problems and deliver innovative software that solves them
- Team player able to contribute in agile meetings, perform code reviews, brainstorm hard problems and step in and contribute when a challenge needs all hands-on deck
- Lead complex software development technical challenges and demonstrate leadership to mentor management, customers, and peers.
- Assist the project team to identify critical path and dependencies between project activities.
- You are passionate about continually evolving whenever it presents an opportunity to become more efficient.
Software Development
Perform software development as part of a team including gathering user requirements, software design, programming, testing, and release.
These can be mechatronics products requiring real-time controls, configuration and diagnostic tools, simulation software and tight integration with robotic assembly lines.
- Contribute to major software release plans that align with the technology roadmap.
- Collaborate with mechatronics designers, hardware designers and operations personnel to ensure the complete solution meets performance, reliability, and cost requirements.
- Develop and execute tests to verify behavior and performance with a good understanding of TDD.
- Assist with the generation of software related product documentation.
- Perform specialized training for advanced users leveraging new software features.
- Strong awareness of software technologies, established coding principles and all Software Developer competencies
- Strong awareness and interest in application of ML / AI in the industrial space
- Lead and / or contribute to weekly agile meetings reviewing last week’s progress and plan upcoming
- Provide mentorship to other developers
- Perform reviews of concepts, code and team designs and provide constructive feedback
- Contribute to software design standards and overall software quality
- Maintain the technology stack for assigned software products.
- Acquired broad product knowledge to be able to collaborate directly with internal and external stakeholders to solve problems and use the products effectively
Additional Responsibilities as Staff Developer
- Ability to participate in internal or external stakeholder interactions related to software or mechatronics
- Provide support for hiring and onboarding developers
- General supervision, training, and guidance of all team members that are part of his / her team.
- Develop team member through one on one’s, performance review cycle and coaching
- Collaborate with Manager to set goals and manage successful performance for his / her team members.
- Responsible for the completion of performance reviews.
- These responsibilities should be 10-20% of time in this role
QUALIFICATIONS : Education :
Education :
A post-secondary engineering or computer science degree, diploma or equivalent with emphasis on software design and development.
Experience :
- Proven track record in end to end Software Development with, ability to mentor and lead team.
- Strong exposure and experience with cloud based development and deployment.
- Strong Software understanding in C# / C++, .NET
- Familiar with issue-tracking and revision-control systems.
- Ability to communicate effectively, both orally and in writing.
- Experience developing or improving Agile development practices
- Software development leading a team of direct reports
- Strong statistical analysis skills
- Ability to communicate effectively, both orally and in writing.
- 5+ years of experience with relational and non-relational databases
- 5+ years of experience with full stack web technologies
In addition, the following is considered not necessary but beneficial :
- Understanding of automation mechanical, electrical and control systems
- Experience with real time controls and / or PLCs is an asset.
- Understanding and experience with OPC and industrial networks
- Join our Innovation Center at ATS Corporation - a place to create differentiators with the future in mind. Our Innovation Center is focused on R&D;
advancing existing technologies, filling gaps in existing automation products, technologies and processes to give ATS a competitive advantage