Senior Software Engineer
Are you interested in a career in the development of Capacity Engineering Platforms for Infrastructure? We engineer systems, applications and services that facilitates Infrastructure Capacity Lifecycle management that includes the collection, analysis, and reporting of capacity, utilization & efficiency data. If you are passionate & curious about how infrastructure is managed? This is the team to join. You’ll be exposed to modern, open-source technologies that are standard to the Infrastructure engineering industry, and will work at scale that few organizations in the world have access to.
You will be working on a small team valuing cooperation, brainstorming, with an emphasis on design. You will be responsible for developing systems/ services, tools, and visualizations to make sense of the data. We are looking for a sharp engineer who also has a keen sense of how to build good products. You are also a team player -- ready to engage in lively design discussions, and able to give and receive constructive code reviews. Your curiosity drives you to explore new technologies and apply creative solutions to problems. The ideal candidate pays close attention to details, but also keeps sight of the bigger picture.
- BS degree or higher in Computer Science or a related field
- 10+ years of experience as a professional software engineer
- Know-how in maintaining and debugging systems in Java runtime environments
- Competency in Java & Spring/ Springboot FW’s and other JVM languages like Scala or/and C#, Clojure, or similar object-oriented language
- Deep understanding, and strong hands on experience - Multithreading, Networking (including non-blocking IO), etc
- Deep experience in designing Enterprise architecture, system & services
- Confidence with SQL databases like Postgres, Oracle and NoSQL databases like Cassandra
- Experience with running services using modern orchestrators like Kubernetes
- Experience with development using UI fwk React
- Experience managing data in relational databases and developing ETL pipelines
- Experience driving product features, functional specifications, and development schedules, represent team and technology
- Passion and prior experience designing and implementing outstanding large distributed systems
- Be an advocate and driver for performance optimization, automation, and unit tests
- Ability to pick up new technologies quickly
- Excellent debugging, critical thinking, and communication skills
- Tireless attention to detail
- Solid documentation and technical writing skills
- Proficiency with source control systems (Git) and build tools such as Gradle, Maven, etc.
- Understanding of different data stores and when to use them (e.g. RDBMS, Cassandra, Solr, Redis)
- Experience implementing and administering logging, telemetry and monitoring tools like Splunk is a plus
- Experience in cluster management/orchestration software like Aurora or Ansible & using tools such as Docker is a plus
- Experience working with Cloud based environment a plus
Apple is an equal opportunity employer that is committed to inclusion and diversity. We take affirmative action to ensure equal opportunity for all applicants without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, Veteran status, or other legally protected characteristics. Learn more about your EEO rights as an applicant.