Get new similar jobs by email for

Principal Software Engineer


Job Summary

Johnson Controls
Milwaukee, WI
Other/Not Classified
Job Type
Full Time
Career Level
Experienced (Non-Manager)
Job Reference Code

Principal Software Engineer

About the Job

What you will do:


individual will be joining the team that performs advanced development solution
implementations of Controls, Building Automation System and Smart Building
products used by our customers to run their buildings and manage their energy


a software engineer for software applications with an emphasis on SOA, Data
Access and their interactions with other systems.  This individual must be an analytical thinker
with experience in applying design patterns and best practices, structured and
disciplined development processes and engineering principles to developing
robust, scalable and maintainable solutions that are user friendly and support
business priorities.  This individual
must be self-motivated and able to perform well in a collaborative team


How you will do it:


  • Participate as
    a member of software development team and lead development in a specific
    software component to deliver business features and software components
    according to an established delivery schedules;

  • Investigate
    and analyze new or existing technologies, third party software and development
    tools to solve technical challenges and issues in order to meet specific design

  • Provide
    estimates of a software component based on a set of both functional and
    non-functional requirements and specifications following established company estimation

  • Help and
    lead the team to develop milestones, deliverables and establish delivery
    timelines of a given set of features;

  • Conduct
    designs during the design and implementation phases of the product development
    cycle including, but not limited to, software design and detailed software
    design using well known industry accepted collaborative tools, that can
    effectively implement higher level designs such as conceptual design, high
    level design and translate business, functional and non-functional requirement
    to software specifications;

  • Investigate,
    understand and analyze issues with existing and legacy systems and products to
    provide assessment of risk, technical challenges, quality and testing impact of
    proposed changes;

  • Develop
    software using industry well known software languages and tools and following
    company established standard and guidelines, that implement the software
    designs, follow the industry proven software development best practices, and
    are testable and maintainable;

  • Analyze and
    implement changes to existing and legacy products and systems, and provide
    assistance to the testing and documentation of these changes;

  • Help team
    members identify and resolve technical challenges and road blocks, and provide
    technical feedbacks, reviews and consultation during development;

  • Work closely
    with quality assurance to provide assistance in defining test cases,
    creating,  reviewing and executing test

  • Review
    product documentation and technical instructions for completeness and accuracy

  • Adhere to
    and help to enforce and improve software design, development and quality
    processes, procedures and guidelines to ensure consistency in design,
    development and development practice and quality of the software;

  • Help the
    team identify risks and communicate with the management the impact of the risks
    and provide options to risk mitigation;

  • Mentor other
    engineer staff members in best practices and quality.

What we look for:



  • Bachelor's
    Degree in Software Engineering, Computer Science, Electrical Engineering or a
    closely related discipline.

  • Minimum of 8
    years direct hands-on, industry software development experience and 3 or more
    years in database implementations.

  • Expertise in
    implementing database driven and service oriented design and architecture

  • Expertise in
    Object Oriented, interface driven design and implementation

  • Expertise in
    Microsoft .NET Framework and related development languages and tools

  • Expertise in
    server based web application development utilizing major server side
    development frameworks such as ASP.NET MVC and WebApi, and related development
    languages and tools

  • Expertise in
    modern unit testing practice and major vendor frameworks

  • Proficient
    in large scale, multi-threaded and asynchronous design and implementation

  • Proficient
    in Microsoft SQL Server database as a programming platform providing data
    access and related development languages and tools

  • Understanding
    of web-based communication protocols such as HTTP, HTTPS, Web Socket, UDP etc.

  • Understanding
    of security protocols and models for web-based applications and development

  • Understanding
    of Windows operation system, Windows based web and application server platform
    and their its security models

  • Experience
    with source control systems and change management tools (e.g. Git, IBM Rational
    Synergy, etc.)

  • Experience
    in working within a team and provide one on one coaching and leadership to
    other team members

  • Excellent
    oral and written communication skills

  • Strong
    problem solving skills




  • Experience
    with relational data modeling and relational database design

  • Understanding
    of other operating systems such as Linux

  • Understanding
    of mobile operating systems such as iOS and Android

  • Understanding
    of the cloud based computing concept and existing vendor platforms and their
    capabilities and pros and cons.

  • Experience with
    unmanaged development such as C or C++


Johnson Controls is an equal
employment opportunity and affirmative action employer and all qualified
applicants will receive consideration for employment without regard to race,
color, religion, sex, national origin, age, protected veteran status, status as
a qualified individual with a disability, or any other characteristic protected
by law. For more information, please view
EEO is the Law. If you are an
individual with a disability and you require an accommodation during the
application process, please visit


Job Tools