Senior Software Development Engineer in Test
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’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 exceptional group of software engineers, data scientists, dev-ops engineers and managers.
- Strong knowledge of Java: Multi-threading (java.util.concurrent), JVM internals (Heap/PermGen), JVM monitoring (jmx, jmap, jstack, jconsole, visualjvm etc)
- Proficient with Git: git bisect, git rebase
- Experience in distributed systems, with any modern distributed system (Cassandra, Hadoop,etc)
- Extensive hands-on experience with Test driven development (TDD) - Concise and maintainable test code.D
- Deep understanding of Linux, comfortable with CLI, basic troubleshooting
- Real passion for process improvement
- Strong ability to learn new technologies in a short time
- Dedication to identifying and communicating innovative ideas to foster partnership
- Meticulous attention to detail and dedication to quality
- Excellent analytical skills and critical thinking
- Extraordinary teamwork, leadership, and time management skills
- Passion for leading, mentoring and developing junior team members
As a Senior Software Development Engineer in Test, you will help ensure the quality and performance of our team's software and systems. You will wear various hats - functional, automation, load/performance testing, problem solving and project management. You will be deeply integrated with our software engineers, developing test plans, automating unit tests, and supporting design reviews. 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. - Strong collaboration skills. - Design and develop tools to monitor system health, performance, and reliability.
Education & Experience
BS in computer science with 7-10 years or MS plus 5-7 years experience or related experience.
- DESIRED SKILLS
- - Python/Shell
- - Vagrant/Docker
- - Integration/System/API/Acceptance testing