Expoint - all jobs in one place

Finding the best job has never been easier

Limitless High-tech career opportunities - Expoint

Apple Software Engineer Retail Engineering 
United States, Texas, Austin 
150364430

Today
As a senior-level Software Engineer, you will 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.
  • B.S. in Computer Science, Computer Engineering, or a related technical field, or equivalent professional work experience.
  • 5+ years proven experience developing software in a professional capacity. Longer experience preferred.
  • 3+ years proven experience implementing, and shipping high-scale, high-performance, highly available, fault-tolerant, and secure cloud-based distributed systems, including proficiency in API implementation (e.g. REST, RPC, GraphQL, etc.).
  • 3+ years proven experience using relational (e.g. Postgres, MySQL, etc.) and NoSQL (e.g. Cassandra, MongoDB, etc.) databases, including proficiency in schema design and query optimization.
  • 2+ years proven experience with Java, including proficiency in concurrency, memory management, and performance optimization techniques.
  • Proficiency 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 within a team as a tech lead (TL), while mentoring 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.).
  • Understanding of advanced JVM internals (e.g. garbage collection, memory allocation, JIT, JNI, etc.).
  • Knowledge of networking concepts & protocols (e.g. HTTP/HTTPS, CDN, edge computing, load balancing, OSI model, etc.).