Software Engineer - Setup
Apple
Emeryville, CA · Onsite · Full Time
Posted
Job description
Apple devices have revolutionized how people live, connect, and work. It's not by chance! By thoughtfully blending beautiful, premium hardware with intuitive, innovative system software, we design and build a uniquely impactful user experience. The leading edge of this user experience is made up by the essential apps, components, and frameworks of System Experience. Come help dramatically improve the first experience that every iPhone, iPad, and Mac customer sees - the Setup experience. Work with an energetic, hard-working, fun team of managers, engineers, cross-functional teams, and world-class designers to deliver the best system experiences on the planet! Description We're the System Experience Setup team. We build Setup Assistant, the software that guides every iPhone, iPad, and Mac customer to set up their new device. Setup Assistant is the front door to these products - it is the most visible, critical piece of our customer onboarding process. We work with multiple cross-functional teams to continuously evolve the setup experience, which includes introducing many new hardware and software features. We're looking for a software engineer to join our team and solve impactful problems alongside experienced engineers. As an engineer on the Setup team, you'll contribute to feature development and bug fixes while learning our codebase and development practices. You'll have opportunities to work on user-facing features that millions of customers interact with, all while receiving mentorship from senior team members. You'll also collaborate with talented engineering and cross-functional partners in a supportive environment designed to help you learn, grow, and deliver great user experiences. Responsibilities: Strong engineering fundamentals - you write clean, well-structured code with good testing practices and understand basic software engineering principles Growth mindset - you're excited to learn from senior engineers, ask thoughtful questions, and continuously improve your technical skills User-focused thinking - you care about building features that provide real value to users and consider the end-user experience in your work Collaboration skills - you work well with others, communicate clearly about technical concepts, and contribute positively to team discussions Problem-solving approach - you can break down complex problems into smaller pieces, researc…