Senior Software Developer - Backend
Shanghai, Shanghai, China
Software and Services
Apple is an Equal Opportunity Employer that is committed to inclusion and diversity. We also take affirmative action to offer employment and advancement opportunities to all applicants, including minorities, women, protected veterans, and individuals with disabilities. Apple will not discriminate or retaliate against applicants who inquire about, disclose, or discuss their compensation or that of other applicants. The Manufacturing Design team enables the mass production of Apple's entire product line from iPhones, iPads and MacBooks to the Mac Pro, AppleTV and Apple Watch. Part of the magic that makes all of this possible is a robust set of applications and systems designed and developed by Apple that support the production of a product from prototype to announcement and beyond. The Manufacturing Design System is one of the teams to build applications and systems, which you will work on. It is a critical part of manufacturing at Apple. Your work will have a significant impact on the quality of the products Apple builds. We are looking for an experienced backend developer to design and implement new systems and features, as well as update existing systems for adaptation to business or technology changes. To be successful in this role, you should be able to work independently with little supervision. You should have excellent communication and problem-solving skills, in-depth Go and Postgres knowledge.
- Minimum 8 years of software design and development experience
- Broad experience in designing, programming and implementing distributed systems
- Strong skills in Golang or a similar backend language
- Strong skills in PostgreSQL or a similar database
- Good communication skills in written and spoken English
- Design and implement effective database solutions and models to store and retrieve manufacturing data - Recommend database design and architecture and provide solutions to improve the current database systems - Collaborate with product designer and other software developers on the new feature development - Communicate with different stakeholders to understand the requirements and expectations - Design the high quality and robust solutions by deeply understanding the problems - Develop applications and tools by writing clean and efficient code and documentation - Write high performance SQL queries and ability to optimize the database - Perform validation and verification testing - Review and debug code
Education & Experience
Bachelor's degree in Computer Science or equivalent industry experience Experience in architecting highly-available distributed systems Experience on the tools such as Ansible, Docker, Jenkins, Grafana, Prometheus, ELK/EFK
- Demonstrated ability of fast learning skills.
- Excellent analytical and problem-solving skills
- Excellent leadership and organizational skills