Enterprise Application / Platform Software Engineer
Santa Clara Valley (Cupertino), California, United States
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. These elements come together to make Apple an amazing environment for motivated people to do the greatest work of their lives. You will become part of a team that is developing excellence, creativity and innovation as we enable the design of the next generation of revolutionary Apple products. The Identity Management Services (IdMS) team at Apple is a high-performance server engineering team responsible for building large-scale systems that supports Apple’s customer facing services such as iCloud, iTunes, Messages, FaceTime, Online store and others. We are in search of a brilliant software engineer who is self-driven and has deep understanding and experience in design and development of complex, highly available and scalable systems. You should have a real passion for software engineering, be innovative and possess strong analytical and social skills.
- Strong Computer Science fundamentals, software design and programming skills.
- Experience in enterprise application design and development of systems using Java/J2EE technology, Single-SignOn, SQL, XML in Linux/Unix environment.
- Direct experience with design/development of highly available, distributed and scalable applications.
- Experience in Java, J2EE, XML/JSON, OOD, related development tools and technologies.
- Experience in configuration, tuning, deployment of Application / Web servers such as JBoss, Apache, Tomcat etc,.
- Experience in source code management tools like git / SVN.
- Experience in relational, no-SQL Databases, other form of persistence mechanisms and distributed caches.
- Experience with relational database models
- Demonstrate innovative and creative thinking capabilities and also have sharp troubleshooting skills.
- Experience in developing multi threaded programs is required
- Sound knowledge in operating systems concepts is required
- Experience in designing and handling systems with high performance, scalability and availability. Experience implementing solutions with a solid focus on performance, security, reliability and internal tool integrations.
- You will work in multi-functional teams to define, schedule, track and communicate status of all work taking place within those teams.
- Significant experience developing and implementing, and maintaining high volume web applications, developing secure web applications, and web services.
- Strong curiosity and a willingness to learn and talk about emerging technologies along with a positive and enthusiastic engagement style.
This is an individual contributor role and requires being responsible for the design and hands-on development of software systems to support existing and new features. Additional duties include architecting and developing systems that are very efficient, secure, highly available, highly scalable, distributed, supportable with good diagnostic and monitoring capabilities. RESPONSIBILITIES - Develop detailed designs and deliver highly scalable and optimized systems. - Write efficient, easy to maintain software that are of high quality - Maintain and improve existing applications in response to business needs. - Collaborate closely with members of other teams throughout the software release cycle - Assist in resolving application support issues. - You should have the ability to handle conflicting project demands and thrive in a fast-paced environment. - You should enjoy challenging and innovative projects and thrive in a fast-paced environment where accountability is paramount. - This job requires superb communication skills to work cross functionally with other organizations within and outside of Apple as well as presentation skills and attention to detail.
Education & Experience
Bachelors degree(B.S) or Masters (M.S) in Computer Science, Engineering or related field with 2 years experience
- Experience in C/C++, PKI Service, SSL, application performance turning
- Hands-on experience in Oracle database performance turning, optimization
- Experience in Identity Management & Security is a huge plus (authentication, authorization, provisioning, etc.).
- Exposure to Project Management skills and tools.