Typical Day in Role:
• Adheres to and demonstrates coding conventions and good practices and helps to maintain the architecture of the project.
• Stays on top of reviewing others’ code, actively contributing suggestions and catching potential issues.
• Demonstrates an exceptional understanding of programming language(s) and tools.
• Demonstrates experience with and understanding of all layers of app code: UI, business logic, models, networking.
• Deep knowledge of iOS design best practices and Apple’s Human Interface Guidelines (accessibility)
Willing and able to provide designers with constructive feedback.
• Good understanding of layers below the app: API, services, and backend systems.
• Very involved in feature refinement to flag requirements and ask questions.
• Takes initiative to help identify and resolve production (and other critical) issues.
• Always works to balance user experience, performance (client and backend), and security.
• Going through requirements, implementing features and during feature implementation, integrating with APIs
• Write unit test cases in XCTest
Candidate Requirements/Must Have Skills:
1) 8+ years of experience as a mobile iOS developer working on large scale projects
2) 2+ years of working experience with SwiftUI
3) 3+ years’ experience with Version Control Software (Github and/or Bitbucket – please list which)
4) 2+ years of experience in integrating APIs with mobile apps
5) 2+ years’ experience with and understanding of all layers of app code: UI, business logic, models, networking
Nice-To-Have Skills:
1) 2+ years’ experience using JIRA
2) 2+ years’ experience with Figma
3) Familiarity with design patterns, specifically MVVM
4) Familiarity with unit testing and snapshot testing
Soft Skills Required:
• Clear, articulate written and oral communicator.
• Communicates and collaborates well across all team channels (email, Slack, meetings), including cross-platform collaboration with other teams.
• Delivers high-quality work in a timely fashion, almost always meeting deadlines.
• Able to take the lead on complex tasks with minimal guidance. Sees the work through and is accountable from the planning stages to full completion.
• Judicious in asking for guidance — doesn’t for every detail, but always validates larger decisions with the team, tech lead, and/or architect.
• Self-motivated; shows initiative in taking on tasks and making suggestions.
Education:
Computer Science, Software Engineering, Computer Engineering degree or equivalent.