Johnson Controls is a global leader in smart, healthy, and sustainable buildings. The Senior Algorithm Engineer will lead the development and maintenance of numerical algorithms for the Central Utility Plant Optimization solution, working closely with various teams to enhance optimization performance and resolve issues.
Responsibilities:
- Develop and maintain MATLAB and Python code to implement new CUPO algorithm features and support new equipment configurations
- Debug and resolve algorithm issues reported from live sites, working closely with field and modeling teams
- Review peer code and develop test cases to ensure algorithm correctness and quality
- Collaborate with product management to prioritize and plan development tasks, leveraging JIRA to track work and open issues
- Partner with site teams to diagnose and resolve reported issues
- Work independently to identify root causes of bugs and plan fixes
- Contribute to autonomous buildings initiatives through Python-based optimization modules
- Read and write Python code for other autonomous buildings and optimization capabilities
Requirements:
- Bachelor's degree in mechanical, electrical, chemical, or other engineering field
- Familiarity with system-of-equations solvers for interconnected HVAC plant equipment
- Proficiency in MATLAB for numerical algorithm development and debugging
- Experience with Python and scientific computing libraries (NumPy, SciPy) for data processing and algorithm implementation
- Familiarity with optimal-control strategies (e.g., dynamic programming, model-predictive control, reinforcement learning)
- Graduate degree in Mechanical Engineering, Systems Engineering, or a related field with a focus on building energy systems, thermodynamics, or optimization
- Eight years of experience in applied engineering
- Excellent verbal and written communication skills
- Experience with Python and data-science packages (Pandas, Scikit-Learn, etc.)
- Experience reading and writing C# code
- Experience modeling HVAC equipment (chillers, cooling towers, AHUs, etc.)
- Familiarity with mass and energy balances and thermodynamics
- Familiarity with numerical optimization (e.g., mixed-integer linear/nonlinear programming)
- Proficiency in optimal-control strategies (e.g., dynamic programming, model-predictive control, reinforcement learning)
- Experience writing and debugging numerical simulations
- Experience with JIRA