Position: Senior iOS Developer
Company: Develux
Experience required: 5y
English level: upper

Requirements

● Objective-C 

● Swift

Tools

● Xcode 13

● Github for version control

● CocoaPods for dependency management

● Required code reviews from peers using git pull requests

● Firebase Remote Config for setting real-time app configuration and available features

● JIRA for Agile sprint management with individually assigned tickets

● Slack, Google Meet for coordination

Tech Stack

● Native user components are predominantly following the MVC design pattern

● Communication to backend services via REST API

● Custom built framework using the observing framework and its redux-inspired architecture to handle networking, state storage, and query APIs

● Custom built framework to handle networking and state storage using CoreData

● In-house charting framework using CALayers for performance

● Local and remote Push notifications

● Supports localization across 7 languages

● Today Widget to show user’s account details

● Framework dependencies managed with CocoaPods

● Crash reporting with Crashlytics

● Platform health event reporting with Sentry

● Integration with React Native to include RN components

Optional

● React Native 

● TypeScript



About Project

In broad strokes, these are some of the projects we're working on or have coming down the pipe:

● Integration with a 3rd party Authentication provider

● Creation of a custom app unlocking security feature

● Integration with a 3rd party analytics provider

● Deep linking for better push notifications

● Integrate a critical React Native component

● Contribute to defining and building new test automation infrastructure



Responsibilities

● Self-directed, capable of picking up a story and asking required questions to deliver.

● Collaborate with UX on designs, communicating what’s possible given
technical constraints, and making suggestions to create the best customer
experience.

● Collaborate with other developers on the team, giving and taking
constructive feedback in code reviews.

● Participate in team sprint planning, backlog grooming, demos, and retrospectives.

● Strong opinions, lightly held. We value strong opinions but are equally open
to other ideas.

● Shepherding releases through from creation to release. Creating the release
ticket, building, update dynamic release configuration, testing, release.

● Support the team by helping with any required bug fixes, maintenance, and
technical debt.

● Promote your own continuous learning by feeding new ideas back into the team.