Senior Software Engineer
Santa Clara Valley (Cupertino), California, United States
The people here at Apple don’t just build products — we craft the kind of wonder that has revolutionized entire industries. It’s the diversity of those people and their ideas that supports the innovation that runs through everything we do, from amazing technology to industry-leading environmental efforts. Join Apple and help us leave the world better than we found it! We are looking for a great teammate focusing on crafting and developing RDDM web-based applications! The successful candidate must have the ability to take business requirements and work pro-actively with multi-functional teams to acquire clear objectives that drive projects forward to completion.
- 5-10 years of proven experience with designing and developing large-scale applications.
- 5-7 years of web development experience in corporate environment.
- Excellent knowledge of data structures, algorithms, design patterns, enterprise architecture and software engineering principles.
- Data modeling using a relational database, Writing and optimizing complex queries using MySQL and MongoDB.
- Proficient in both Backend and Frontend development.
- Hands-on experience building and using REST APIs.
- Writing scripts to process data ingestion jobs.
- Understanding of MVC and modern web frameworks.
- Excellent communication and interpersonal skills.
- Excellent multi-tasking and organizational skills.
- Excellent problem-solving and analytical thinking skills.
Under the supervision of an Apple Manager, the Sr Software Engineer is responsible for estimating and planning software development work. Working closely with a product manager to capture requirements to build new modules or improve existing modules. Engage with clients as necessary. Evaluate, maintain and improve the existing code base to ensure that it is accurately structured and apply software engineering standard methodologies. Direct the work of independent contractors and vendors. Troubleshoot, identify and research reported issues, and provide recommendations by comparing advantages and disadvantages of various solutions. Stay on top of new technologies and tools, and adopt relevant ones to the team. Participate in peer reviews, learn and apply software engineering best practices to your work. Accountable for meeting assigned project objectives and timelines.
Education & Experience
BS in Computer Science or equivalent