Skip to content

Software Engineer – IOS
Company | Meta |
---|
Location | Menlo Park, CA, USA |
---|
Salary | $209993 – $240240 |
---|
Type | Full-Time |
---|
Degrees | Bachelor’s |
---|
Experience Level | Senior |
---|
Requirements
- Requires a Bachelor’s degree(or foreign degree equivalent) in Computer Science, Engineering, Information Systems, Analytics, Mathematics, Physics, Applied Sciences, or a related field, and five years of progressive, post-baccalaureate work experience in job offered or a computer-related occupation
- Requires five years of experience in the following: 1. Object-oriented software development 2. Building complex applications for the iPhone, iPad and other iOS based products using Objective-C, Swift or C++ with the iOS SDK 3. Building maintainable and testable code bases, including API design and unit testing techniques 4. Multithreading programming and mobile memory management 5. Experience in both Objective-C and Swift 6. Building large-scale infrastructure applications 7. Relational databases and SQL 8. Algorithms 9. One of the following client-server communication patterns: REST, GraphQL, gRPC 10. Mobile architecture patterns that can scale to a large number of programmers and teams in one codebase (MVVM, VIPER, modularization), AND 11. Dependency injection and scoped access to shared resources.
Responsibilities
- Develop, design, create, modify, and/or test software applications or systems for various mobile software services.
- Work closely with product and design teams to build new and innovative application experiences for the iOS platform.
- Implement custom native user interfaces using the latest iOS programming techniques and development tools.
- Build reusable iOS software components for interfacing with our back-end platforms.
- Analyze and optimize UI and infrastructure application code for quality, efficiency, and performance.
- Work on problems of diverse scope where analysis of data requires evaluations of identifiable factors.
- Demonstrates good judgment in selecting methods and techniques for obtaining solutions.
- Complete medium to large features (each with many tasks) independently without guidance.
- Identify and drive changes as needed for assigned codebase, product area, or systems.
Preferred Qualifications
No preferred qualifications provided.