Full Stack Engineer
Austin, Texas, United States
Software and Services
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 Full Stack engineering position, you will partner 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 leaders 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
- Experience with data driven web development, including HTML5, DHTML and CSS3
- 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
- Experience with Scrum and Agile methodologies
Join Apple’s Identity Management engineering team as a Software Engineer where you will help build innovative software applications! You should have development and implementation experience of large scale high-demand applications while collaborating with elite engineers. Your responsibilities will include all aspects of software development management, from design and analysis to development, implementation and maintenance. You are a dedicated and hardworking individual. 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. 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 Collaborate with design team and technical team to define new user interface behaviors, widgets and containers helping create a truly distinctive and extraordinary user experience. Collaborate with peers on technical design, work estimation and implementation of new UI features including visualization aspects and server interfaces/contracts. Work with project managers and technical teams, in a multi-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 position will require a self-starter who can effectively handle numerous projects simultaneously, meet aggressive deadlines, and who thrives in a dynamic environment. You can expect a high-profile position on a phenomenal 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