Sr Software Engineer
Santa Clara Valley (Cupertino), California, United States
Software and Services
Imagine what you could do here. At Apple, great ideas have a way of becoming phenomenal products, services, and customer experiences very quickly. Bring passion and dedication to your job and there's no telling what you could accomplish. Apple Online Store Engineering has an immediate opening for a Software Engineer. Our group's focus is on design and development of the core services and fabric of the Apple Online Store. The position will provide architecture, design, development and project management leadership across multiple projects.
- Extensive use of cloud platforms such as AWS, GCP or Azure
- Proficient with modern JVM-based micro-services frameworks.
- Extensive experience with traditional Java-based web frameworks: Jetty, Spring 4+
- Proficient in core Java 8+
- Good in (one or more): Shell scripting, Python
- Expertise with Kubernetes: write & troubleshoot micro services deployments as well as more complex workloads on K8.
- Detailed understanding of building and running containers.
- Wrote applications using Cassandra, Postgres or MySQL, Redis, Memcached, Kafka, Solr or AWS-equivalent managed services (e.g. RDS, Dynamo DB, etc…).
- Extensive use of git.
- Familiarity with gradle and maven package manager.
- Experience in Test Driven Development.
- Understanding of concurrency and multi-threaded programming concepts
- Understanding of IT operation and Devops fundamentals
- Must be comfortable working in a fast-paced, collaborative environment
- Must be a self-starter
- Strong sense of responsibility and an obsession with quality
- Excellent problem solving, critical thinking, organization and interpersonal skills
- Bonus: experience with Golang or strong desire to learn, AWS associate and speciality certifications.
Candidate must have proven expertise in the web technologies with proficiency in the Java popular open source frameworks. Candidate must have a deep knowledge of OO concepts and design patterns. Strong familiarity of deploying large-scale Java RPC applications is important. Responsibilities include: Write software code based on functional specification and technical design; adhere to development techniques and standards. Conceive and detail technical design for software in development; adhere to architectural standards and develop designs that consider impact with other aspects of the software and appropriately use existing code Produce and review High-Level and Detailed Technical Designs following Apple standards for a range of subject areas (e.g., requirements, data access strategy, business uses and usage) Keep up to date on new technologies and offer analysis of present or future benefit to Apple Facilitate design walkthroughs with IT and business staff to validate solutions against business requirements and IT architecture Independently analyze and resolve large, complex, high impact production problems, assessing alternatives as appropriate and implementing long-term solutions. Provides direction and mentorship to less experienced staff Use technology advances through tactical and strategic technology solutions, reference architectures, frameworks, and components. We're looking for a hardworking and passionate person to join this amazing team, if you feel this is you, we'd love to hear from you.
Education & Experience
BSCS or equivalent experience Minimum 5 years Software development, or similar engineering environment.