Software Engineer (Swift)
Santa Clara Valley (Cupertino), California, United States
Do you love designing & developing highly complex native applications? Does the idea of understanding and working with hundreds of unique devices interest you? Would you like to work in a dynamic environment where your technical abilities will be challenged on a day to day basis? Does spending an evening with your colleagues on perfecting that one algorithm get you excited and thrilled? If so, come join the Apple Ecosystem tools team who is looking for a highly motivated, detail-oriented, ambitious individual, with excellent written and verbal skills and is not afraid to think creatively and question assumptions. In this role, you will be part of a fast growing, cohesive team with many exciting responsibilities related to developing large scale commercial applications for the MFI program. Under the MFI umbrella you will get a chance to develop applications used for the CarPlay, and/or HomeKit program. 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 there's no telling what you could accomplish.
- 2+ years of practical experience in Swift and/or Objective-C.
- 4+ years of experience in large scale native applications development
- Experience creating simple and powerful user interfaces and experiences for applications
- A deep understanding of data modeling in RDBMS and NOSQL database
- Strong interest in algorithms
- Strong interest in software architecture and design patterns
- Ability to work within a team and a real passion for development
- Knowledge of scripting/programming; Specifically Python, Unix shell.
- Experience with WiFi and Bluetooth protocol analysis preferred
- Demonstrate deep understanding of development processes and agile methodologies
- Have ability to multitask within an environment of rapidly changing priorities
- As a hands-on applications developer, you'll be responsible for the translation of user requirements and system objectives into logical, efficient, and practical workflow designs and Programs. - Developing detailed specifications for the creation of new or modified programs, including the recommendation of logical designs, record/report layouts, and screen designs. - Designing program logic to perform business requirements efficiently and reliably. - Developing and executing unit and systems test plans that will thoroughly exercise system integration. - Performing requirement analysis, lead design and develop logical data models by translating business needs into technical solutions. - Act as a technical resource for others within the group. Example applications in this domain include simulators, protocol stack analyzers & data sniffers, and results database and reporting infrastructure.
Education & Experience
BS or MS in EE/CS/CE or equivalent experience