Hardware Applications and Tools Software Engineering Manager
Santa Clara Valley (Cupertino), California, United States
Want to affect the lives of millions of Apple customers? Apple Hardware Engineering is looking for a Software Engineering Manager to lead a team to envision, design, develop and manage internal applications and software tools. The successful candidate will drive and supply to a wide range of projects, each focusing on improving the engineering process, design and quality of next generation Apple products, spanning various languages and technical environments, operating at multiple levels in the stack. With an eye for clear design, the ideal candidate will have outstanding leadership skills and problem-solving abilities. He will be independently motivated, willing to dive into any project or codebase headfirst to bring a creative, scalable, efficient solution to bear for the best hardware engineering team on the planet.
- 10+ years in software engineering, including 2+ years as a technical manager.
- Deep technical understanding and hands-on experience with software development and Agile scrum methodologies.
- Excellent software design, problem solving and debugging skills
- Experience developing multi-tier applications using modern web frameworks, Java EE technologies and RESTful web services.
- Experience leading system design, integration and deployment in a complex, integrated environment.
- Experience with microservice architectures and frameworks like Spring and Hibernate.
- Experience with relational databases, high-performance SQL and NoSQL databases, such as document stores and search engines.
- Experience with Python, Perl or other scripting languages.
- Experience working with client facing MVC web applications.
- Experience in data modeling and design, supporting agility and scale.
- Ability to learn new technologies and implement in a short time.
- Commitment to developing high-quality, maintainable code to meet complex, changing requirements.
- Strong communication skills and ability to work effectively up and down the management hierarchy, as well as across business and technical teams.
- Thrives in a dynamic and ambiguous work environment, independently or as part of a team
- Get-it-done attitude
• Manage a team of approximately six software engineers, helping them to deliver great results on both individual and team projects. • Lead reviews of teamwork for accuracy, quality and completeness. • Participate in roadmap and strategic planning. • Lead technical project work and timelines. • Effectively assess and communicate risks. • Act as resource on latest technologies, methods, and best practices. • Generate requirements, define use cases and brainstorm solutions with hardware engineering and hardware engineering partners. • Design and develop enterprise-level, highly available web applications and services utilizing Java, Groovy/Grails and other Java EE technologies. • Work with front-end frameworks such as React and AngularJS. • Lead development of prototypes and POCs to demonstrate new ideas as well as illustrate the use of new technologies. • Work under bold schedules, independently and within a larger project context, to achieve initiatives. • Drive documentation of technical design and system architecture.
Education & Experience
• Bachelor’s / Master’s degree in CS or related field
- It would be nice to have:
- • Familiarity with Electrical Engineering concepts.
- • Familiarity with PLM systems.