Lead Software Engineer
The people here at Apple don’t just build products— they craft the kind of wonder that has revolutionized the entire industry many a times. Imagine what you could do here. Join Apple, and help us leave the world better than we found it. A job at Apple is unlike any other you’ve had. You will be challenged. You will be inspired. And you’ll be proud! At Apple, great ideas have a way of becoming great products, services, and customer experiences very quickly. Bring passion and dedication to your job and you would see what you could accomplish.
As part of the SCI team, we are seeking an experienced software engineer who is passionate about creating high performance, highly scalable, fault tolerant and highly valuable applications, critical for the Apple Supply Chain needs varying from Supply Planning, Demand Planning, Product distribution and so on. You will work closely with an agile team of talented engineers, product managers and project managers collaborating with users to design, build, and deploy top quality applications.
- A strong foundation in Computer Science fundamentals with excellent problem-solving skills, deep knowledge of data structures and object-oriented design and development paradigms
- Strong aptitude and ability to learn new technologies quickly
- 8+ years of professional hands-on software developer experience using Java and Python and their major frameworks
- Expertise with SQL / NoSQL databases
- Hands-on experience with design and development in the Big Data and NoSQL technologies (such as Hadoop, HDFS, S3, Elastic Search, Kafka, Spark, etc)
- Experience in Cloud technologies (e.g., Google Cloud / AWS) is a plus
- Experience in software development in a UNIX environment
- Experience with git versioning system
- Good to have DevOps tools knowledge i.e., Dockerisation/ Kubernetes / terraform
- Well-versed with agile methodologies, test-driven-development and scrum model
- Solid understanding of design and development of large scale, high throughput and low latency applications is a plus
- Strong sense of project priorities, deadlines, and deliverables.
- Proven technical leadership and communication skills
- Experience in handling architectural and design considerations such as performance, scalability, reusability and flexibility issues
In this role, we look forward to your positive collaboration with application owners, developers, QA, project managers, support teams and end users across geos.
Your Responsibilities would include:
- Design and build scalable distributed systems that operate at high consistency and low latency.
- Exhibit strong understanding of system and application performance characteristics.
- Enhance and maintain existing design systems for scale.
- Identify and resolve performance and scalability issues
- Lead proof-of-concept and pilot implementations to demonstrate new ideas or illustrate the use of new technologies and how to apply it into our systems
- Mentor and train other team members on design techniques, and coding standards by regularly reviewing their design/code.
Education & Experience
Bachelor’s degree or higher in Computer Science, Computer Engineering or related technical discipline.