Johnson Controls is a global diversified technology and multi industrial leader serving a wide range of customers in more than 150 countries. Our 130,000 employees create intelligent buildings, efficient energy solutions, integrated infrastructure and next generation transportation systems that work seamlessly together to deliver on the promise of smart cities and communities.
Our commitment to sustainability dates back to our roots in 1885, with the invention of the first electric room thermostat. We are committed to helping our customers win and creating greater value for all of our stakeholders through strategic focus on our buildings and energy growth platforms. For additional information, please visit www.johnsoncontrols.com or follow us @johnsoncontrols on Twitter.
Act as the lead development engineer in the development of multi-tenant, cloud-based enterprise software solutions. The Principle Software Engineer will be the lead software development engineer on new cloud-based solutions that will support several different market verticals. The Principle Software Engineer will be a key player in determining the technical direction for the components which include application code development, middleware development, database design, web services development, and associated cloud services.
- Responsible for the design, development, and implementation of enterprise solutions.
- Participate in the development of test strategies, devices and systems.
- Contributes to the development of new techniques, models and plans within area of expertise.
- Evaluates complex situations using multiple sources of information filters, validates and interprets dynamic material.
- Applies developed project management techniques.
- Define the technical implementation of the system architecture and business strategy for the cloud based platform.
- Lead the development of application features from collaboration on requirements definition, feature design, coding, testing, and deployment to Level 3 support.
- Reviews developmental frameworks, coding standards, conducts code reviews and walkthroughs, and conducts in-depth design reviews.
- Interfaces with Product Management, Project Management, Software Development, Firmware Development, and Quality Assurance to ensure that a high quality product is delivered which meets or exceeds all published guidelines
- Mentors, Coaches junior and senior engineers to ensure that each of their deliverables and behaviors mirror software developmental excellence
Travel Requirements: May require both domestic and international travel up to 20% of the time.
Required Job Skills
- Must be proficient in analyzing highly complex issues and architectures and reducing them to practice. Strong analytical skills are essential.
- Must have excellent communication and team management skills to effectively lead junior engineers and to collaborate with the globally disperse development teams.
- Under limited supervision; ability to exercise independent judgment; has authority to make limited decisions without specific guidance or direction from supervisor. Must be self motivated and a "self-starter"
- Enterprise Operations / Architecture - Must have spent at least 7 years developing large-scale, enterprise-wide, complex information technology initiatives, at both an infrastructure and an application level.
- Cloud Architecture - Technical knowledge and implementation experience using common cloud architecture, enabling components, and deployment platforms.
- Cloud Platforms - Application development experience utilizing distributed processing solutions such as Hadoop, distributed storage solutions such as Cassandra, real-time and post analytics processing architectures, application server platforms, clustered infrastructures, and distributed queuing technologies such as JMS or Kafka. Minimum of 3 years experience developing highly scalable data-driven applications based on structured and unstructured data sets.
- Software Development - Minimum of 5 years experience with Enterprise Java (J2EE or Spring, Hibernate). Minimum of 7 years experience with object oriented programming languages (Java, C#). Any other relevant languages (Groovy/Grails, Python, RoR) is a plus
- Web Services - Development of applications utilizing one or more of the following web services technologies: JSON-RPC, JSON-WSP, Web Services Description Language (WSDL), REST, RPC, or XML
- Performance Tuning - Minimum of 3 years experience with performance and scalability tuning of high-volume websites/applications Minimum of 2 years of relevant experience with Parallel and Grid Computing Technologies.
- Web based designs - Minimum 3 years experience developing and troubleshooting complex web-based N-tier enterprise applications that run in mixed operating system environments.
Education and Experience Requirements
- Bachelor's degree in Computer Science or in a related engineering field.
- Ten years of experience in software development.
- Three years hands on experience working on cloud-based solutions or highly scalable multi-tenant enterprise solutions.
- At least 5 years experience in a lead or senior engineering capacity.