Software Apps Engineer
Santa Clara Valley (Cupertino), California, United States
Software and Services
Get ready to do something great when you join the Apple Identity Management team that’s responsible for all of Apple’s identity and access management. The people who work here have re-invented and defined the security standards for protecting customer data with innovative software solutions. The same dedication to innovation is also applied to our business practices - leaving the world a more secure place than we found it. Do you want to help deliver the next innovation in security and user experience for Apple ? Our teams foster a collaborative environment with creative, smart & fun people using state of the art technologies. Engineering excellence is expected. Come and join us in building solutions that have a worldwide impact. 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.
- 5+ 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 MVC 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 Design 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