Back-end Java Engineer
Core
Design, develop, and maintain highly scalable, reliable back-end services for the Find My network that locate lost devices using a crowd-sourced network of nearly a billion devices worldwide.
Role type
Senior back-end Java engineer (distributed systems)
Builds
Scalable, privacy-focused back-end services and internal frameworks for the Find My network
Domain
Consumer hardware ecosystem / Distributed systems
Deliverable
production ML models | product features
Required skills
Java (memory model, GC tuning, concurrency), distributed systems (consistency, partitioning, failure modes), REST services (Netty), data storage and caching (Cassandra, Redis, memcached), CI/CD automation, cryptography standards (PKCS, KMIP, X.509, AES, KDF, CA)
Preferred skills
Machine learning systems and algorithms, GitHub, Maven, Docker, Spinnaker, Kubernetes
Technologies
Java, Netty, Cassandra, Redis, memcached, Maven, Docker, Spinnaker, Kubernetes
Responsibilities
Design, produce, and maintain scalable back-end services; manage services end-to-end including deployment; investigate and debug complex concurrency and production issues; build internal frameworks; write technical documentation
Seniority
Senior, hands-on IC