Sr. Software Engineer (Java) - Apple Employee Systems
Santa Clara Valley (Cupertino), California, United States
Software and Services
Imagine what you could do here. At Apple, great ideas have a way of becoming great products, services, and customer experiences very quickly. Bring passion and dedication to your job and there's no telling what you could accomplish. Apple Employee Systems team is seeking a software engineer who has a proven track record in developing and managing high quality enterprise software solutions. Our group is responsible for building and managing a suite of core application services for a number of applications. We do all this with an exceptional group of software engineers, dev-ops engineers and technical project managers, working to make a difference for our customers. You will work with some of the coolest people and technologies on the planet, including: OS X, iOS, Oracle, MongoDB, Restful web services, and web platform technologies including Spring, Apache, and more. This is an exciting role, demanding a strong technology background.
- 3+ years of Software development experience building highly scalable RESTful web services
- Deep understanding of Core Java and Spring
- Deep understanding of Object Oriented and SOA design concepts; Current experience developing fault tolerant applications in Java
- Strong problem solving skills
- Strong knowledge of concurrency, scalability and fault tolerant designs
- Experience with database technologies, preferably NoSQL.
- Good Oral and written english communication skills
- Working knowledge of source control software (SVN or Git)
- Experience with build and deployment tools, e.g., Maven, Gradle
As an onsite Java Developer, you should be be able to build highly efficient / responsive RESTful web services using Java with Spring and Mongo/NoSQL DB. This is a hands on coding role and be able to co-ordinate with offshore team. At Apple, code quality and functional quality is aways at the forefront and one of the keys measures of Success. Be able to work well in a fast paced environment. Responsibilities: Key contribution to the development and delivery of systems; help shape system requirements, and develop analysis-level documents that reflect the requirements Work with project managers, architect, technical leads, and vendors on defining the scope, milestone, deliverables, and resources needed for the project Work with cross-functional team for integrations and data needs Write software and participate in code reviews in debugging and coding to resolve issues. Develop prototypes and POCs to demonstrate new ideas or illustrate the use of new technologies and how to apply it into our systems Own and review deliverables for accuracy, quality, application performance and completeness Work with the QE/QA team to create and refine processes and technical standards for the Employee Systems area. Keep up to date with 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.
Education & Experience
BS degree in computer science or equivalent field plus 4+ years experience or MS/PhD degree plus 2+ years experience, or equivalent.
- Familiarity with NoSQL DB’s like Mongo. Cassandra is a huge plus
- Familiarity with UI stack (HTML/JQuery/ Angular is a huge plus)
- Familiarity with Kafka is a plus
- Search Technologies like Elasticsearch, Lucene
- Knowledge of HR systems will be a big plus