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 competenciesStrong awareness and interest in application of ML / AI in the industrial spaceLead and / or contribute to weekly agile meetings reviewing last week’s progress and plan upcomingProvide mentorship to other developersPerform reviews of concepts, code and team designs and provide constructive feedbackContribute to software design standards and overall software qualityMaintain 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 effectivelyAdditional Responsibilities as Staff Developer
Ability to participate in internal or external stakeholder interactions related to software or mechatronicsProvide support for hiring and onboarding developersGeneral 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 coachingCollaborate 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 roleQUALIFICATIONS : 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++, .NETFamiliar with issue-tracking and revision-control systems.Ability to communicate effectively, both orally and in writing.Experience developing or improving Agile development practicesSoftware development leading a team of direct reportsStrong statistical analysis skillsAbility to communicate effectively, both orally and in writing.5+ years of experience with relational and non-relational databases5+ years of experience with full stack web technologiesIn addition, the following is considered not necessary but beneficial :
Understanding of automation mechanical, electrical and control systemsExperience with real time controls and / or PLCs is an asset.Understanding and experience with OPC and industrial networksJoin 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