Software Engineer I What you will do
The mission of Johnson Controls is to provide solutions for a more comfortable, safe and sustainable world. As part of Johnson Controls Building Efficiency business, the Advanced Development Team applies this mission to buildings, providing solutions for a more comfortable, safe and sustainable building environment for owners and occupants.
This 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 costs.
Seeking 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 environment. How you will do it
What we look for
- Participate as a member of software development team 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 specifications;
- Conduct detailed software designs under the guidance of the technical leadership using well known industry accepted methodologies and tools
- Investigate, understand and analyze issues with existing and legacy systems and products under the guidance of the technical leadership to propose fixes for existing issues as well provide assistance to the testing and documentation of such changes
- Develop software under the guidance of the technical leadership using industry well known software languages and tools and following company established standard and guidelines and industry best practices
- Develop software under the guidance of the technical leadership that conforms to the designs, is testable and maintainable
- Work closely with quality assurance to provide assistance in defining test cases, creating, reviewing and executing test plans;
- Review product documentation and technical instructions for completeness and accuracy
- Proficient in Microsoft .NET Framework and related development languages and tools
- Proficient in knowledge of server based web application development utilizing major server side development frameworks such as ASP.NET MVC and WebApi, and related development languages and tools
- Understanding Object Oriented, interface driven design concept and implementation
- Understanding of database driven and service oriented design and architecture
- Exposure to modern unit testing practice and major vendor frameworks
- Exposure to 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 framework
- Exposure to source control systems and change management tools (e.g. Git, IBM Rational Synergy, etc.)
- Experience in working within a team and following coaching and directions from the team leadership and other senior members of the team
- Excellent oral and written communication skills
- Strong analytical and problem solving skills
- 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.
- Exposure to unmanaged development such as C or C++
- Bachelor's Degree in Software Engineering, Computer Science, Electrical Engineering or a closely related discipline.
- Minimum of 1 year fulltime direct hands-on software development experience