Get new similar jobs by email for

Principal Software Engineer


Job Summary

Johnson Controls
Westford, MA
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:


Design, Develop and document subsystems and system components consisting of
several objects working together to execute an encapsulated function of the
larger system. Interact with software architects or other technical leader to
understand subsystem and component specifications and recommend changes to
facilitate efficient and effective development. Interact with representatives
of other cross functional teams to understand and/or recommend requirements and
strategies for the project


How you will do it:


  • Be able to
    create abstraction layers that support agnostic architectures and software

  • Bridge the
    gap between development and quality assurance. Provide testing techniques and
    strategies for coverage.

  • Provide
    technical direction, leadership, and reviews to other engineers working on the
    same project.

  • Be seen as a
    thought leader for the company.

  • Implement
    and debug subsystems and components.

  • Participate
    in integrated test sessions of components and subsystems on test and production

  • Follows
    automate-first/automate-everything philosophy.

  • Determine
    and communicate the implications of system-level decisions on subsystems and
    Components, and help determine how best to mitigate or take advantage of these

  • Determine
    and communicate the requirements and capabilities of components within the
    context of the larger system, project, and team.

  • Support
    management of the team’s technical infrastructure (e.g., repository, build
    system, testing system) under guidance from the systems engineer or another
    project leader.

  • Participate
    in efforts to share software technology and expertise within the company;
    mentor junior and aspiring software engineers.

  • Perform
    tasks efficiently and work together with team to ensure project success.

  • Review,
    contribute to architecture artifacts.

  • Strong
    design critique.

  • Hands on in multiple programming paradigms, not
    limited to Object Oriented.

What we look for:



  • 10+ years
    IT-Software/ Software products

  • Bachelors in
    Science – Computer Science

  • Full Stack
    development experience

  • Hands on
    experience with system programming, development of service/driver type of
    applications in C#, ASP.NET, and mainstream scripting.

  • Understanding
    of MS technologies including-- Visual Studio.Net, TFS, SQL Server



  • Container
    style of programing preferred – Micro-services

  • Experienced
    across programming languages, patterns and data structures.

  • Adequate
    hands on experience with Multi-Threaded development covering thread
    synchronization, locks, database concurrency, Good knowledge and experience on
    WinForms, WCF, WPF technologies.

  • Applied
    knowledge of Object Orientated programming concept (OOPS), Micro services,
    Operating System (OS) concept and UML

  • Proficient
    with software Architecture, design patterns and strong demonstrated experience
    in building frameworks.

  • Strong
    computer science background including distributed computing.

  • Good
    knowledge of software development tools and methodologies.

  • Thorough
    understanding and hands-on experience in the development of all layers of
    enterprise applications to analyze system scalability, integration, and
    performance issues as well as internationalization utilizing either Unicode
    and/or multi-byte databases

  • Good
    exposure of software development life cycle, development process flow and their
    tools usage

  • Must be
    aware of Agile, Incremental or spiral development methodology

  • Excellent diagnostic
    and troubleshooting skills, problem solving, and an ability to learn quickly

  • Domain
    Knowledge in Electronic Security such as Access Control, Video Surveillance and
    Intrusion detection is a plus

  • Good
    communication skill to articulate views/thoughts with team and partners or
    customers without any gap

  • Be able to
    acknowledge and support Project planning and Estimation techniques

  • Willingness
    and Ability to learn new technologies

  • Expert
    knowledge of computer languages, data structures, program design methods and

  • Ability to
    troubleshoot complex problems systematically

  • Overall
    knowledge of the computing environment at large, e.g. typical uses and user
    populations of operating systems, communications protocols, hardware platforms,




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