Software Engineer - Search
Santa Clara Valley (Cupertino), California, United States
Machine Learning and AI
Appleʼs Applied Machine Learning team has built systems for a number of large scale data science applications. We work on many high-impact projects that serve various Apple lines of business. We use the latest in open source technology and as committers on some of these projects, we are pushing the envelope! Working with multiple lines of business, we manage many streams of Apple-scale data. We bring it all together and extract the value. We do all this with an outstanding group of data engineers, software engineers, data scientists and dev-ops engineers. As a part of this diverse team, the applicant will help us build the Apple experience on a global scale. We build and maintain Search Engine for many lines of businesses here at Apple! The position of Software Engineer (Search) sits on our Search Engine team, which is part of our Applied Machine Learning group. This position requires one to have deep understanding of information retrieval concepts and dealing with different kinds of languages. You are an expert in building highly available, multi tenant, high velocity systems.
- 4+ years of experience working in java and web services
- Proven skills in designing scalable, highly available distributed systems which can handle high data volumes.
- Strong understanding of software engineering principles and fundamentals including data structures and algorithms.
- Solid understanding of concurrency and multi-threading, multiple design patterns and debugging and analytical methodologies
- 2+ years of hands-on experience on Solr Cloud, Endeca or Elastic Search.
- Experience in information retrieval concepts and ranking concepts.
- Experience in Linguistic processing like tokenizers, speller, stemmers.
- Hands-on experience on big data tech stack, like Hadoop, Hive, Cassandra and Spark is a plus.
- Self directed, self motivated and detail oriented with ability to come up with good design proposals and thorough analysis of production issues.
- Excellent written and oral communication skills on both technical and non-technical topic.
You are expected to be self-motivated, dedicated, and a solution-oriented individual. The main responsibilities for this position include: Leading effort to build large scale, distributed and highly available system and pipelines. Leading effort to build large scale and highly available information retrieval systems Design and develop solution using Java tech stack. Work with cross functional teams to drive requirements. Design and implement as per secure guidelines Work with QA to identify issues and fix it.
Education & Experience
Bachelors / Masters in computer science or similar degree. Apple is an Equal Opportunity Employer that is committed to inclusion and diversity. We also take affirmative action to offer employment and advancement opportunities to all applicants, including minorities, women, protected veterans, and individuals with disabilities. Apple will not discriminate or retaliate against applicants who inquire about, disclose, or discuss their compensation or that of other applicants. Apple will consider for employment all qualified applicants with criminal histories in a manner consistent with applicable law. If you are applying for a position in San Francisco, please click here. Apple participates in the E-Verify program in certain locations as required by law. Apple's committed to working with and providing reasonable accommodation to applicants with physical and mental disabilities. Learn more.