Principal Software Engineer - Data Center Engineering
Johnson ControlsAbout the role
What you will do
Johnson Controls is building the next generation of intelligent building systems for the world's most demanding environments, hyperscale data centers. We are looking for a deeply technical principal engineer with a native development background to join our Data Center Controls Innovation team — someone who thrives at the system level, owns hard platform problems, and sets the technical direction for the engineers around them.
This role sits inside our Data Center Controls Innovation Engineering team at our Controls Product Development Center in Glendale, WI. You will design and lead the development of high-performance native platform services and middleware running on Linux-based building management systems and network engine devices deployed in critical data center infrastructure globally. If you want to own the platform layer, shape architecture from the ground up, and build systems where correctness and performance genuinely matter, this is the role for you.
This position is 100% on-site at our new Controls Product Development Center and Lab in Glendale, WI, where you will collaborate closely with cross-disciplinary teams and work hands-on with real products. The role may include up to 20% travel.
How you will do it
Defining and owning the technical architecture for native platform services and middleware, including IPC mechanisms, service APIs, and system-level resource management
Leading design and implementation of high-performance C/C++ components running on embedded and desktop Linux platforms
Establishing and enforcing engineering standards for native development: memory safety, concurrency patterns, error handling, and performance profiling
Driving containerization strategy for native services using Docker on Linux, ensuring clean isolation and reliable deployment across device targets
Serving as a hands-on technical lead and individual contributor — writing production code, conducting deep design reviews, and resolving the hardest system-level issues
Mentoring and growing engineers on the team; elevating native development skills and instilling a culture of rigorous engineering
Collaborating with firmware, controls, and application engineers to define clean interfaces and data contracts between platform services and higher-level software
Participating in and leading agile planning activities including PI planning, story refinement, effort estimation, and cross-team dependency resolution
Evaluating new native technologies and patterns and applying them pragmatically to real platform challenges
Communicating technical decisions and trade-offs clearly to both engineering and non-engineering stakeholders
What we look for
Required Qualifications
JCI does not provide visa sponsorship for this role. Applicants must be authorized to work in the United States without current or future sponsorship.
Bachelor of Science degree in Software Engineering, Computer Science, Computer Engineering, or equivalent practical experience
8+ years of software engineering experience with a strong focus on native C/C++ development
Deep expertise in systems programming on Linux: process management, threading, IPC, memory management, and performance optimization
Proven track record designing and delivering production-grade platform services or middleware in C/C++
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s