Senior Software Engineer, Big Data & ML
Austin , Texas , United States
Software and Services
Posted: Apr 5, 2021
Role Number: 200236578
Apple is a place where extraordinary people gather to do their best work. Together we craft products and experiences people once couldn't have imagined - and now can't imagine living without. If you're motivated by the idea of making a real impact, and joining a team where we pride ourselves in being one of the most diverse and inclusive companies in the world, a career with Apple might be your dream job. The Engineering Solutions team is looking for an experienced Software Engineer for their Big data platform. In this role you will be partnering with cross functional teams across Apple. You will work closely with our business leaders and other partners to implement these new solutions. The candidate must be able to work independently, understand the needs and build the solutions for sophisticated architecture and comfortable working under pressure at times.
- * Extensive experience in software design and development; Working knowledge of the full SW development lifecycle
- * Hands-on with architecture, design, development and deployment of large scale distributed computing systems in a large organization
- * Experience with Java, Java11 related technologies, Spring Framework, JUnit / TestNG. Strong knowledge and understanding of data structures, algorithms, design patterns, concurrency, multi-threading, scalability, fault tolerant designs, enterprise architecture and software engineering principles
- * Solid understanding of data modeling and database systems including Oracle, Cassandra, other NoSQL technologies
- * In-depth knowledge of technologies such as Web Services, Avro, JSON, HTTP, SSL, Caching solutions, application performance tuning
- * In-depth knowledge and experience in one or more of the following technologies: Hadoop ecosystem, Kafka, Flume, HBase, Cassandra, Spark, Solr, Zookeeper
- * Deep understanding of key algorithms and tools for developing high efficiency data processing systems
- * Validated software engineering experience and discipline in design, test, source code management and CI/CD practices
- * Strong software development, problem-solving and debugging skills with experience in one or more of the following languages: Java or Python
- * Proficient in working with Linux or other Posix operating systems, shell scripting, and networking technologies
- Architect, design and implement highly available and scalable enterprise solutions that can match Apple volumes - Ability to distinguish/combine relevant SQL and NoSQL technologies to architect the right solution - Utilize the expertise in Java frameworks including Spring, REST - Interface with Business, application owners, developers and project managers - Be responsible for promised deliveries in time - Collaboration with Project Management team and cross functional teams - Review technical designs and perform code review
Education & Experience
BS degree in computer science or information management plus 7-10 years of experience, or MS degree plus 5-7 years, or equivalent.
- * Understanding of encryption algorithms and technologies.
- * Exposure to functional programming
- * Some experience in statistics and machine learning.
- * Familiarity with Compute and/or Machine Learning offerings from Amazon AWS
- * Familiarity with Kubernetes