What you will do
Join our team as a Principal Software Engineer and define and implement the strategy for BAS controls products. Help in strategically defining the projects that deliver the next generation of building control products enabling our customers to manage their comfort, energy usage, and security within commercial building environments.
Additional responsibilities include:
Proven ability to define architecture requirements and product roadmap and strategies
In depth knowledge of BACnet protocols for BAS products
Demonstrated understanding and experience with networking, and protocol technologies
Knowledge of software development methodologies, technologies, and tools
Experience in using industry standard processes throughout the software development lifecycle
An appreciation for working with diverse multi-disciplined, globally-located project teams
How you will do it
You will be leading a team of professionals to complete activities that could include any aspect of the software engineering lifecycle; examples of which are described below.
Proficient in requirements, architecture, implementation, testing, troubleshooting, and documenting software applications for large Building Automation Systems (BAS)
Expertise in BAS BACnet protocols and standards
Leading BAS BACnet release and PR compliance roadmap and strategies
Well-versed in embedded Linux-based control systems and networking protocols via Ethernet and RS485
Collaborate with other Architects, Developers, Project Managers, and Engineering Managers to coordinate efforts and define and leverage best practices
Leading the direction of the organization with Linux-based Product containerization
Conduct and participate in software design, code, and documentation reviews
Work with stakeholders to define requirements and provide high and low-level estimations based on the requirements and technically focused proof of concepts (POC)
Analyze, trouble-shoot, and provide code fixes for reported problems and change requests
What you will need
Required
Bachelor's degree in Computer Engineering, Software Engineering, Computer Science or equivalent
7+ years experience in object-oriented software development in C/C++
7+ years experience in BACnet protocol, standards and Building Automation system knowledge
(Embedded) Linux OS and tools
Demonstrated technical leadership to lead collaboratively within scrum team as well as team members across the world.
Solid analytical, problem-solving, and troubleshooting skills
Automated testing philosophies and tools
Multithreaded concepts for embedded, networked products
Software build tools and processes (e.g. CMake, BitBake, Visual Studio Project, Jenkins)
Software design languages, models, and diagrams (e.g. UML)
Working knowledge of OSI Model with specifics in BACnet, Ethernet, RS485, Modbus
Configuration and artifact management tools (e.g. GitHub, Artifactory)
Agile development methods
Johnson Controls’ Canadian subsidiaries are committed to providing reasonable accommodation to applicants, candidates and employees with disabilities, in accordance with applicable human rights legislation, and in Ontario, in accordance with the Accessibility for Ontarians with Disabilities Act (“AODA”). When requested, accommodation will be provided throughout all stages of the recruitment and selection process. To request accommodation, please contact us. Any information you provide related to accommodation measures will be treated as confidential. A copy of Johnson Controls’ applicable AODA policies are available on our website at www.johnsoncontrols.com for your reference, and can be made available in accessible formats upon request.