Senior Software Engineer at Johnson Controls

Posted on: 07/13/2021

Location: Cork (ON-SITE)

full time

Original Source

Tags: spring hibernate azure ux jwt qa docker kafka kubernetes graphql

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 <http://www.johnsoncontrols.com> or follow us @johnsoncontrols on Twitter. **What you will do** * As a Senior Software Engineer for Johnson Control’s Connected Converged Security solutions, the successful candidate will work in a team to design and develop highly scalable, flexible, polyglot based micro services. * The candidate will be instrumental in delivering compelling solutions leveraging a cloud-based multi-tenanted architecture. * The candidate will be a key contributor in determining the architecture of our solutions. * The individual must be capable of working collaboratively with multiple development and QA teams in defining and evolving our development processes to ensure solutions are delivered on-time, within budget and in accordance with the architectural vision and performance expectations. * Candidates must be proficient in working in a highly collaborative, fast-paced environment requiring strong communication and teamwork skills as well as the ability to adapt to shifting priorities. **How you will do it** * Participates in the analysis, design, development, implementation and testing of highly scalable multi-tenant Java based micro services and web applications. * Mentors, coaches and collaborates with other engineers to maintain high standards and foster a culture of continuous learning. * Actively participates in agile ceremonies such as backlog grooming sessions, retrospectives, code reviews and makes recommendations on coding standards & process improvements. * Utilises build / test frameworks and strategies in a CI/CD environment. * Collaborates with QA and UX teams * Works closely with Product Management. * Highlights and escalates issues/concerns to tech lead and management teams as they arise. * Effectively communicates status of work and articulates work effort left to complete. * Demonstrates ownership and accountability for delivery of your work **What we look for** * 5+ years of experience in software development. 2 years of hands on experience developing highly scalable SaaS solutions. * Bachelor’s degree in Computer Science or related discipline or equivalent work experience. * Expert knowledge of Enterprise Java (J2EE, Spring, Spring Boot, JPA, Hibernate). * Experience with enterprise application architectures and frameworks for cloud-based solutions. * Distributed queuing technologies such as MQTT or Kafka. * Solid understanding of software development life cycle, continuous integration and continuous delivery. * Experience with version control systems, preferably Git. * Experience developing applications utilizing one or more of the following web services technologies: REST, GraphQL, Json, or XML * Experience developing highly scalable data-driven applications based on structured and unstructured data sets utilizing modern technologies: * Real-time and post analytics processing architectures, * Clustered infrastructures * Distributed queuing technologies such as JMS or Kafka. * Experience implementing secure solutions using security concepts and protocols such as Oauth2, Jwt and OpenID Connect. * Knowledge of Docker, Kubernetes, Azure (other cloud PAAS solution as necessary) * Must be proficient in analyzing highly complex requirements, issues and architectures and reducing them to practice. Strong analytical skills are essential. * Must have excellent communication, collaboration and interpersonal skills. * Ability to exercise independent judgement in a dynamic environment with shifting priorities.