back-end Java software engineer
Role details
Job location
Tech stack
Requirements
BS degree, preferably in Computer Science or related experience. MS or equivalent preferred.\n5+ years in software development experience in Java, with a strong understanding of Object oriented concepts and design.\nDeep knowledge and experience using relational databases such as Oracle, and associated data architecture and modeling.\nExperience designing and implementing RESTful/RPC API and services.\nStrong production, debugging, and diagnostic skills.\nExperience working on complex problems and distributed systems where scalability and performance are extremely important (every millisecond counts), with an eye for engineering excellence.\nAble to thrive in a high trust environment with independence, while effectively collaborating with cross-Apple teams, hardware, software, and across diverse roles.\nWilling to take ownership and set direction, and thrive navigating any ambiguity in your projects.
Experience writing components/frameworks/libraries that achieve software leverage.\nExperience working in a large code base in Java (many millions of lines of code).\nExperience with relational database frameworks like JDBC, and object relational frameworks like Hibernate, JPA, etc.\nExperience using NoSQL solutions like Cassandra, Voldemort, Memcached, etc.\nExperience writing unit and integration tests with frameworks such as JUnit, Mockito, etc.\nExperience with protocols like HTTP, HTTPS, SSL.\nExperience with scalable message queue systems like Kafka, KubeMQ, RocketMQ is a plus.\nExperience with Account Security, User Authentication, and related protocols.