As a staff-level Software Engineer you will architect design develop test document improve and maintain code mostly in Java (and other languages as needed). You will partake in every aspect of your projects from planning to design to implementation and future iterations and you will be encouraged to play an extended role in designing solutions and leading software projects. The ideal candidate is self-motivated proactive and results-driven. Attention to detail dedication to providing high-quality solutions modeling engineering excellence and ability to work towards timely delivery of projects are all crucial qualities needed to work at Apple as a Software Engineer. The ideal candidate will also possess excellent communication and collaboration skills to work with various internal and external partners and senior leaders.
B.S. in Computer Science Computer Engineering or a related technical field or equivalent professional work experience.
8 years proven experience developing software in a professional capacity. Longer experience strongly preferred.
5 years proven experience designing implementing and shipping high-scale high-performance highly available fault-tolerant and secure cloud-based distributed systems including mastery in API design and implementation (e.g. REST RPC GraphQL etc.).
5 years proven experience using relational (e.g. Postgres MySQL etc.) and NoSQL (e.g. Cassandra MongoDB etc.) databases including mastery in schema design query optimization and managing sophisticated data interactions between relational/NoSQL systems.
4 years proven experience with Java including mastery in concurrency memory management and performance optimization techniques.
Mastery in OOP principles data structures algorithms and software design patterns (e.g. GoF) with a proven focus on implementing testable maintainable and extensible backend code.
Track record of leading software projects that span multiple distributed teams as a tech lead (TL) while mentoring senior-level software engineers.
Comfortable using CI/CD tools to build test deploy and release containerized software applications on cloud-based Kubernetes (e.g. AWS EKS GCP GKE Azure AKS etc.).
Expertise in Java web (e.g. ServiceTalk Spring Dropwizard Quarkus Micronaut etc.) and unit testing frameworks (e.g. JUnit Mockito etc.).
Experience with tooling languages (e.g. Go Python Ruby etc.) and distributed orchestration & computing systems (e.g. Airflow Spark Flink etc.).
Disclaimer: Drjobpro.com is only a platform that connects job seekers and employers. Applicants are advised to conduct their own independent research into the credentials of the prospective employer.We always make certain that our clients do not endorse any request for money payments, thus we advise against sharing any personal or bank-related information with any third party. If you suspect fraud or malpractice, please contact us via contact us page.