CI/CD Software Development Engineer
Santa Clara Valley (Cupertino), California, United States
Software and Services
The Platform Infrastructure Engineering (PIE) organization is building the next generation tools empowering Apple’s software developers to build products our customers love. We're a fast moving, highly skilled but small team designing and building a continuous integration and delivery system that Apple’s developers utilize to build, test and deploy their code with. Our system has to scale globally, stay highly available, and "just work”. We're looking for a talented and passionate person to join this amazing team, if you feel this is you, we'd love to hear from you.
- - Java and/or other JVM languages like Scala, Clojure and Groovy.
- - NoSQL: Cassandra, MongoDB; Caching: Redis, Memcached; RDBMS: MySQL, PostgreSQL.
- - Affinity to system level programming including scripting in Bash, Ruby and/or Python.
- - Virtual machines, containers and tools like Vagrant and Docker.
- - Build tools: Gradle, Maven, Ant, Make, Rake, Grunt, Gulp, Ninja, Blaze/Bazel, Pants or others.
- - CI Solutions: Travis, Circle, Go, Jenkins, Team-City or others.
- - Testing frameworks: Junit, TestNG, Spock, Cucumber, Rspec, Mocha or others.
- - Deployment systems: EC2, Heroku,Engine Yard, App Engine. Application development frameworks: Finagle, Vert.x, Java Servlets, Node.js, Ruby On Rails, Django or others. Good understanding of Linux and OSX.
Be intimately familiar with continuous integration and delivery. Love automation and tooling and believe they play a critical role in software development. You should be able to design, develop and deploy distributed systems. You should have the passion to design and develop tools developers love. Know your design patterns. Be curious about how systems work and how they fail. Be eager to learn new technologies and solutions. Love open source and collaboration. Be detailed oriented, and you should be proud of the work you put out. Have some cool work experiences to tell from your past.
Education & Experience
BS, MS or PhD, in Computer Science, or equivalent experience