Software Engineer - Java
Hyderabad, Telangana, India
Software and Services
We live in a mobile and device driven world where knowledge of the physical world around us is needed. We rely on this knowledge to get around, to learn about our environment and to enable spectacular new features for custom applications. Apple is meeting those needs as robustly and as creatively as possible and is interested in people who want to help meet that commitment. The success we are striving will be the result of very skilled people working in an environment which cultivates creativity, partnership, and thinking of old problems in new ways. If this sounds like the kind of environment that you find intriguing, then let's talk. Apple’s Identity Management engineering team is building a number of web applications and platform solutions that works across multiple platforms (iOS, OS X, Web) to manage the user identity. We work on many high-impact projects that serve various Apple lines of business. In this Software Engineering position, you will be working with a team of software engineers that are building cutting edge, fast and interactive web applications incorporating the best user experience patterns and technologies available. You’ll work closely with our business stakeholders and other partners to implement new solutions. You will work with some of the coolest people and technologies on the planet, including: OS X, iOS, JSON restful web services, and web platform technologies including Spring, Apache, and more. This is an exciting role, demanding a strong background in both technology and mentorship.
- 10+ years of software development experience
- Strong object oriented programming and design skills
- Experience with distributed systems and service oriented architectures
- Knowledge of open source application servers like Tomcat or JBoss
- Experience with Java (J2EE / J2SE) and related technologies: Spring Framework, JUnit / TestNG
- Significant experience developing and implementing high volume web applications.
- Experience in developing secure web applications and knowledge of application vulnerabilities such as Cross Site Scripting (XSS), Cross Site Request Forgery (CSRF) etc.
- Experience in building RESTful services
- Excellent knowledge of data structures, algorithms, design patterns, enterprise architecture and software engineering principles
- Good communication and personal skills: ability to interact and work well with members of other functional groups in a project team and a strong sense of project ownership
- Very good experience in Scrum and Agile methodologies
Join Apple’s Identity Management engineering team as a Software Engineer where you will help build innovative software applications. Candidate should have development and implementation experience of large scale mission critical applications while working with a team of elite engineers. Your responsibilities will include all aspects of software development management, from design and analysis to development, implementation and maintenance. You must be a proactive and hardworking individual. As a Software Engineer, you will be a contributing member of a team that implements new product features, improves existing product features, while adding performance and software quality metrics to our codebase. You will work closely with business partners, other engineering teams, quality assurance, management, as well as human interface and user experience designers. DUTIES & RESPONSIBILITIES - Architect creative products, and innovate new technologies & solutions, play a hands-on development and design role, and deliver product in a rapid and dynamic environment - Design and develop highly scalable, reliable and secure web applications - Design and develop RESTFUL WebServices - Collaborate with peers on technical design, work estimation and implementation of new features - Work with project managers and technical teams, in a cross-functional environment, to implement quality products that meet the business goals. - Collaborate with other engineers on code reviews, internal infrastructure, and process enhancements - Lead and mentor other engineers in the team - Quickly build new ideas to get user feedback - Continually improving software development processes and practices - This challenging position will require a self-starter who can effectively manage multiple projects simultaneously, meet aggressive deadlines, and who thrives in a dynamic environment. You can expect a high-profile position on a great team with many challenges and rewards - Flexible and works well as part of a fast-paced product development team
Education & Experience
B.S. or M.S in Computer Science or related field