Mindbody is a company focused on enhancing wellness through technology. They are seeking a Software Engineer III - iOS to contribute to code development, make design decisions for new features, and collaborate with product managers and designers on project conceptualization.
Responsibilities:
- Serves as a self-directed, key contributor to code development on features and bugs to produce successful team sprints
- Makes implementation design decisions around new feature components
- Produces contingency plans for critical projects
- Analyzes technical requirements with the team to gauge level of effort
- Breaks down complex projects and delegates work to junior engineers
- Brainstorms with Product Managers and designers to conceptualize and estimate new features
- Collaborates with backend engineers to efficiently build out new API for mobile apps
- Carefully analyzes design specifications before coding to understand effort levels required
- Creates technical documentation for new features that can be easily understood by peers
- Writes and executes tests for your own code, including creating comprehensive unit tests
- Performs peer code reviews to ensure quality of the codebase
- Keeps abreast of new technologies
- Ensures designs and projects created comply with design library guidelines, internal best practices, and coding conventions when applicable
- All other duties as assigned
Requirements:
- Proficient with Objective-C, Swift, SWIFTUI, Xcode, Cocoa Touch and UIKit
- Experience with iOS frameworks such as Core Data, Core Animation, etc
- Experience with performance and memory tuning with tools such as Instruments
- Familiarity with cloud message APIs and push notifications
- Proficient understanding of code versioning tools such as Git
- Categories/Protocols/Patterns (MVVM, MVC, Clean in iOS, Delegate/Protocol/etc)
- Solid understanding of the full mobile development life cycle
- Familiarity with RESTful APIs to connect iOS applications to back-end services
- Understanding of Apple's design principles and interface guidelines
- Experience in using swift package manager
- Unit and UI Testing code for robustness, including edge cases, usability, and general reliability
- Expertise in building complex layouts
- Strong UI and design skills
- Familiar with software development lifecycle (SDLC) and programming design patterns
- Skillful at reviewing new feature impact on an application and recognizing potential risks
- Detailed oriented, professional and possesses a positive work attitude
- Stay updated on new iOS platform and tech trends, ensuring our applications leverage the latest technologies and methodologies
- Effective time management skills
- Good to have knowledge of android app development, java and Kotlin