Software Engineer - Apple Online Store Apps and Services
Austin, Texas, United States
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 building applications, services using Java/J2EE & Spring frameworks. You will be working in an enterprise environment building innovative client facing web applications. In this Software Engineer position, you will be working on a team of software engineers that are building cutting edge, fast and interactive applications incorporating the best technologies available. You’ll work closely with our business stakeholders and other partners to implement new solutions. In this role you will be working with other hardworking 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.
- Hands on experience with design and development of highly available, distributed and scalable transactional enterprise systems.
- Strong Java/J2EE background with deeper knowledge on Spring frameworks such as spring-security, spring-mvc, spring-data, JPA & hibernate.
- Strong knowledge on securing applications, thorough understanding of OWASP top 10 risks and solutions
- Experience and strong knowledge in developing high throughput, high performance systems and global applications.
- Experience in design/architecting the systems for zero downtime.
- Experience in performance tuning of the applications including JVM tuning, memory profiling.
- Expert level knowledge of WebServices and popular framework such as Spring and Hibernate.
- Experience working with Client facing web applications
- Solid knowledge of web application development using client side fraeworks/libraries like AngularJS/VueJS, jQuery, Bootstrap
- Hands on experience in developing SPA (Single Page Applications)
- Experience with Java test frameworks such as JUnit.
- Familiarity with template driven rendering and client and server side MVC architectures
- Familiarity with Splunk for investigating or monitoring problems on systems.
- Thorough understanding of Software Development Lifecycle, tools and standard methodologies.
- Experience with relational and no-SQL databases, distributed cache and clear understanding of standard methodologies & problem areas while handling large distributed datasets is a plus.
- Working knowledge of source control software (SVN or Git)
- Experience with build and deployment tools, e.g., Maven, Gradle
- Experience with automated testing methodologies and frameworks.
- Sharp troubleshooting skills and real world systems deployment experience.
- Consistent track record with rapid development cycles and demanding schedules.
- We seek a self starter, forward-thinking person with strong leadership capabilities.
- Ability to communicate effectively, both written and verbal, with technical and non-technical multi-functional teams.
- You will interact with many other group’s internal team to lead and deliver best-in-class products in an exciting fast-paced environment.
- Dynamic, smart people and inspiring, innovative technologies are the norm here. Will you join us in crafting solutions that do not yet exist?
Join the team as a Software Engineer where you will help build innovative software applications. Your responsibilities will include all aspects of software development from design and analysis to development, implementation and maintenance. As a software engineer, you will be a member of the team that implements new applications, improve existing application features, while adding performance and software quality metrics to our codebase. You will work closely with other engineering teams, quality assurance, management, as well as human interface and user experience designers.
Education & Experience
Bachelor’s degree in Computer Science / Software Engineering / Related field with a minimum of 6 years technical experience in relevant areas.
- Design and develop enterprise level, highly available web application platforms utilizing Java and JEE technologies
- Work on spring frameworks,Jpa & hibernate, rest/soap web services
- Work with project managers, architect, technical leads, and vendors on defining the scope, achievement, deliverables, and resources needed for the project
- Work with multi-functional team for integrations and data needs
- Develop critical system components as well as review team deliverables for accuracy, quality, and completeness.
- Develop prototypes and POCs to demonstrate new ideas or illustrate the use of new technologies and how to apply it into our systems
- Mentor and develop skills of junior software engineers in the team.
- Work under aggressive schedules and with multi-functional teams to achieve large initiatives.
- Drive documentation of technical design and architecture of the system.
- Keep up to date with the latest technologies and tools and evangelize their value within the development teams
- Strive for top quality results and continuously look for ways to improve and enhance system reliability, performance, and security.