Apple Sr Software Engineer in Santa Clara Valley, California
Sr Software Engineer
Job Number: 113470744
Santa Clara Valley, California, United States
Weekly Hours: 40.00
Apple’s Applied Machine Learning team 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 unleash business value. We do all this with an exceptional group of software engineers, data scientists, dev-ops engineers and managers. The Applied Machine Learning Team is looking for an energetic senior software engineer to help us develop, improve, and expand our cutting edge platform to ensure that the performance of our machine learning environment is second-to-none.
- The position requires a solid knowledge of secure coding practices and experience with open source technologies* Experience in distributed systems, design and implementation of high throughput, low latency applications* Extensive hands-on experience building solutions for large-scale internet infrastructure* Strong Object Oriented Programming skills and proficiency in Java * Thorough understanding of TCP, websockets, and libraries like Netty* Expert level knowledge of containers (e.g. Docker) and AWS* Experience architecting distributed systems, concurrent programming, and coding data structures.* Passion for process improvement* Solid understanding of Hadoop and NoSQL technologies like Cassandra.* Senior Level development experience with languages C++, Java, Clojure* Excellent problem solving skills, critical thinking and communication skills* Strong ability to learn new technologies in a short time.
Join Apple's Applied Machine Learning Team, as a Senior Software Engineer, to build innovative software applications. Candidates should have development and implementation experience on large scale mission critical applications. The main responsibilities for this position include:
Designing innovative solutions while playing a hands-on development role to deliver products in a rapid and dynamic environment.
Involvement innovative solutions to given challenges.
Develop tools to monitor system health, performance, and reliability.
The candidate is expected to be self-motivated, proactive, and a solution-oriented individual.
BS in computer science with 7-10 years or MS plus 5-7 years experience or related experience.
Understanding of encryption algorithms and technologies.
UNIX Systems programming.
Understanding of JVM internals and garbage collection.
Some experience in statistics and machine learning.
Some working knowledge of scripting languages like Perl or Python.