Software Engineer - Data Center Engineering
Johnson Controls · Glendale, WI · 2 wk ago
On-siteEngineering$93k–$140k/yrFull-time
About the role
Johnson Controls is building the next generation of intelligent building systems for the world's most demanding environments, specifically hyperscale data centers. We are seeking a technically versatile engineer who loves both crafting intuitive user interfaces and engineering the backend systems that power them.
Responsibilities
- Designing and building full stack features across the entire application layer: RESTful APIs, middleware services, and responsive web UIs
- Writing clean, maintainable code in modern JavaScript/TypeScript (React preferred) and Python for backend services and data pipelines
- Developing and maintaining middleware integrations between building automation systems, IoT field devices, and cloud platforms
- Building dashboards and data visualization tools that surface real-time and historical data center telemetry to operators and engineers
- Collaborating with embedded and controls engineers to define APIs and data contracts between device firmware and software layers
- Participating in code reviews, writing unit and integration tests, and supporting CI/CD pipelines
- Tracking development tasks and workflows in JIRA, keeping features visible and shipping on schedule
- Building and presenting technical designs, sprint demos, and status updates for engineering and project stakeholders
- Collaborating with cross-functional and global engineering teams to hit project milestones
Requirements
- Bachelor's degree in Computer Science, Software Engineering, Computer Engineering, or a related field
- 0 to 5 years of professional or internship experience; new graduates are welcome
- Proficiency in JavaScript or TypeScript with hands-on experience in a modern frontend framework (React preferred)
- Experience building and consuming RESTful APIs and working with backend frameworks (Node.js, Python/Flask, or similar)
- Solid understanding of web fundamentals: HTML, CSS, HTTP, and browser rendering
- Familiarity with relational or time-series databases and writing queries (SQL, InfluxDB, or similar)
- Basic experience with containerization and deployment tooling (Docker, CI/CD pipelines)
- Comfortable working in a Linux/Unix environment and using Git for version control
- Strong problem-solving instincts; you dig into issues and follow threads across the stack rather than waiting for someone else to solve them
- Organized and clear communicator; you can write a concise technical summary and present it to a room
- Proficient with standard engineering and project tools: JIRA, Confluence, or equivalent
- Must be authorized to work in the U.S.; no sponsorship available
- Must be able to work 100% on-site in Glendale, WI; up to 20% travel
Qualifications
- Exposure to MQTT, WebSockets, or other real-time data protocols used in IoT or industrial systems
- Experience with embedded systems
- Familiarity with C/C++ and/or Rust
- Familiarity with data center infrastructure, HVAC systems, or Building Automation Systems (BAS)
- Experience integrating with third-party hardware APIs or industrial protocols (BACnet, Modbus, OPC-UA)
- Exposure to cloud platforms (AWS, Azure, or GCP) and serverless or microservices architectures
- Experience working with cross-functional or globally distributed engineering teams
Skills
- JavaScript/TypeScript
- React
- Node.js
- Python
- RESTful APIs
- Backend services
- Data pipelines
- Middleware integrations
- Web applications
- Building automation systems
- IoT field devices
- Cloud platforms
- Serverless or microservices architectures
Benefits
- Competitive salary range: $93,000 - $140,000 (Salary to be determined by the education, experience, knowledge, skills, and abilities of the applicant, internal equity, and alignment with market data.)
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified
- Not specified