Software Engineer

Apple Inc.
Austin, United States of America
17 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English

Job location

Austin, United States of America

Tech stack

Java
API
Airflow
Software Applications
Unit Testing
Computer Networks
Databases
Computer Engineering
Continuous Integration
Data Structures
Software Design Patterns
Distributed Systems
Memory Management
OSI Models
Java Virtual Machine (JVM)
Java Native Interface
JUnit
Python
PostgreSQL
MongoDB
MySQL
NoSQL
Mockito
Dropwizard
Oop Languages
Ruby
Software Engineering
Google Cloud Platform
Load Balancing
Spark
Computerised Systems
Backend
Kubernetes
Information Technology
Apache Flink
Cassandra
Azure
GraphQL
Multiaccess Edge Computing
Amazon Web Services (AWS)
Go

Requirements

As a Software Engineer, you will 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. \n\nThe ideal candidate is self-motivated, pro-active and results-driven. Attention to detail, dedication to providing high-quality solutions modeling engineering excellence, and ability to work towards on-time delivery of projects are all crucial qualities needed to work at Apple as a Software Engineer. \n\nThe ideal candidate will also possess excellent communication and collaboration skills to work with various members of their immediate and extended team.

B.S. in Computer Science, Computer Engineering, or a related technical field, or equivalent professional work experience.\n2+ years proven experience developing software in a professional capacity.\n1+ years proven experience implementing cloud-based distributed systems, including familiarity with API implementation (e.g. REST, RPC, GraphQL, etc).\n1+ years proven experience using relational (e.g. Postgres, MySQL, etc.) and NoSQL (e.g. Cassandra, MongoDB, etc) databases. \n1+ years proven experience with Java \nFamiliarity with OOP principles, data structures, algorithms, and software design patterns (e.g. GoF), with a focus on implementing testable, maintainable, and extensible backend code.

Exposure to using CI/CD tools to build, test, deploy, and release containerized software applications on cloud-based Kubernetes (e.g. AWS EKS, Google Cloud Platform GKE, Azure AKS, etc).\nFamiliarity with Java web (e.g. ServiceTalk, Spring, Dropwizard, Quarkus, Micronaut, etc.) and unit testing frameworks (e.g. JUnit, Mockito, etc). \nFamiliarity with tooling languages (e.g. Go, Python, Ruby, etc.) and distributed orchestration & computing systems (e.g. Airflow, Spark, Flink, etc). \nBasic understanding of JVM internals (e.g. garbage collection, memory allocation, JIT, JNI, etc).\nBasic knowledge of networking concepts & protocols (e.g. HTTP/HTTPS, CDN, edge computing, load balancing, OSI model, etc).

About the company

Join us, the team that serves as Apple's nerve center: Apple Information Systems and Technology group! \n\nWe are looking for Java Software Engineers, who will work closely with other Software Engineers, Project & Product Managers, Product Designers, and other internal & external partners. \n\nThere are countless ways you can contribute here, from working on apple.com to software for digital & physical Apple Stores, from software for Apple Care to Apple-wide systems for identity, operations, recruiting, and people management, from software for Apple data centers to Apple-wide data processing & AI/ML systems.\n\nWhen you join IS&T, you'll help design and manage systems, frameworks, and apps that countless Apple customers and employees rely on every day. Together, we'll explore all the ways to improve how Apple operates, freeing our employees to do what they do best, and crafting magical experiences for our customers.

Apply for this position