Software Engineer - Java Administration
Hyderabad, Telangana, India
Software and Services
The people here at Apple don’t just build products — we craft the kind of wonder that’s revolutionised entire industries. It’s the diversity of those people and their ideas that supports the innovation that runs through everything we do, from amazing technology to industry-leading environmental efforts. Join Apple, and help us leave the world better than we found it. We are looking for an individual with strong experience in administrating J2EE applications, services and platforms. You will be working in an enterprise environment supporting, scaling and analyzing heterogeneous J2EE landscapes. In this Software Engineer position, you will be an important part of the team when it comes to aspects of administration and improvement of J2EE applications. Your decisions will influence future J2EE architecture as well as establish/improve support models for existing landscapes. You’ll work closely with our business stakeholders and other partners to implement new solutions. In this role you will be working with other talented engineering minds across the company working on some of the coolest technologies. If you have a passion for quality and a keen eye for details you will be a great fit. You will also enjoy the benefits of working in a fast growing business where you are encouraged to "Think Different" and where your efforts play a key role in the success of Apple's business.
- Strong knowledge of Java/J2EE architecture with emphasis on highly available, distributed and scalable transactional enterprise systems.
- Hands on experience in troubleshooting all kind of issues in complex J2EE environments
- Strong knowledge on securing applications, thorough understanding of OWASP top 10 risks and solutions
- Experience in design redundant and stable systems for zero downtime.
- Experience in performance tuning of the applications including JVM tuning, memory profiling.
- Experience with relational and no-SQL databases, distributed cache and clear understanding of best practices & problem areas while handling large distributed datasets is a plus.
- Working knowledge of source control software (SVN or Git) and operational software (Jenkins, Artifactory (JFrog), SonarQube)
- Experience with build and deployment tools e.g., Maven, Gradle, ANT
- Experience with Build Pipelines with Jenkins and deployment Automation
- Experience with Configuration Management tools (Ansible, Puppet)
- Experience with Continuous Integration/Continuous Delivery tools and best practices
- Experience running and maintaining real-world build systems such as Jenkins and Concourse
- Experience in a blue/green deployment environment a plus
- Experience administering Web Servers including Nginx, Apache
- Experience administering Servlet Containers including Tomcat, Jetty, JBoss/Wildfly
- Sharp troubleshooting skills and real world systems deployment experience.
- Ability to communicate effectively, both written and verbal, with technical and non-technical multi-functional teams.
Join the team as a Software Engineer - Java Administration where you will help analyzing Java/J2EE software applications. Your responsibilities will include all aspects of installation, monitoring, performance tuning and troubleshooting RESPONSIBILITIES Drive layout architecture and support model for enterprise level, highly available web application platforms utilizing Java and J2EE technologies Work with multi-functional team for integrations and data needs Strive for top quality results and continuously look for ways to improve and enhance system reliability, performance, and security. Setting up scalable landscape which includes installations of embedded servlet containers like tomcat and jetty. Build pipelines and deployment automation Automate deployments like Chef and Ansible Develop, test, and maintain build and deployment using CI/CD tools Assist Developers, Operations, and DevOps teams toward automation and deployment best practices Instantiate and maintain Infrastructure-as-code environments Manage high-availability fault-tolerant environments
Education & Experience
Bachelor’s degree in Computer Science / Software Engineering / Related field with a minimum of 8 years technical experience in relevant areas.