Principal Software Engineer - Java
In this role, you will be part of Cloud product development team to manage & deliver new product functionalities, modify existing product's functionalities or improve product functionalities as required. The Lead engineer will work in the Software development group in the design, development and test of Retail product deployed on Google Cloud Platform. You will work within a multi-disciplined engineering team consisting of Java engineers, Mobile development engineers, Web UI engineers, Software Architects focusing on applied research and new technology innovations to provide new and improved products and solutions for our customers.
How you will do it
- Work as a Subject Matter Expert closely with product team, solutions architect and other stake holders.
- Independently owns modules for design, implementations of Java based applications and closely works with technical architects.
- Lead/manage a team and provide timely updates and reports to senior management
- Set guidelines for the load and performance test for the modules that is owned by the team.
- Independently code, test and integrate to the SW branches.
- Collaborate with cross-functional teams to analyze, design, and develop new features
- Follow S/W Development life cycle process & agile development process.
- Comply with and makes recommendations for changes to established development guidelines & standards.
- Review and provide feedback on product functional specifications.
What we look for
- BE (ECE/ ETC/CSE/ISE) is required.
- 10 ~ 12+ years of experience designing and developing highly scalable, distributed applications, products and services.
- Professional proficiency in Java 8.
- Experience in Spring Boot, Micro Services, REST based Web Services, Kafka, Postgres, Cloud Pub/Sub, Big Data technologies, strong knowledge in Data Structures / Algorithms.
- Evaluating and leveraging new technologies in the product architecture.
- Strong foundation in data structures, algorithms, concurrent programming.
- Knowledge of NoSQL, Kubernetes/Docker is desirable
- Significant design and Architecture experience (Enterprise Software is a plus)
- Discipline for writing unit testing and integration testing for functionality and limits
Performance tuning, monitoring, maintaining fault tolerant/HA infrastructure.
- Participate in long-term strategies and scalability efforts.
- Build documentation of operating procedures and provide knowledge transfer .
- Must have a desire for achieving excellence in customer satisfaction, process and product quality and reliability.
- Strong understanding of different software development life cycles (Agile) and contemporary software quality assurance processes and automated tools.
- Must have experience in managing and working with distributed team members.
- Must be extremely detail-oriented with respect to documentation and communication
Specialized Skills:
Strong communication, interpersonal, problem solving, management and presentation skills Able to work independently or in a team environment Able to take ownership and work on project timelines Self-motivated, takes initiative to resolve issues Ability to problem solve through analysis of a situation where there are a variety of variables
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 www.johnsoncontrols.com/tomorrowneedsyou.