Senior iOS Software Engineer @fitness app

  • Mobile
  • Remote job

Senior iOS Software Engineer @fitness app

Job description

Overview

Join our team at AppUnite, one of the fastest-growing companies in Europe and help strengthen our reputation by promoting the AppUnite brand globally. We are a product-oriented software development company. We create bespoke teams responsible for our clients products - from the concept stages, through development, up to market launch. Our purpose is to revolutionize software design, development, delivery and build products that challenge the status quo.

Who are we? 

We are an 8-person team (including you) who work for the world’s most famous fitness program.
Every day we help our client to best meet the needs of users so that fitness classes are conducted in the best possible way using our mobile applications.
Joining us you will also join our Appunite family, where you will have the great opportunity to learn from the very best.

What do we do? 

We are a team with a great dose of autonomy and we, as developers decide what tools and frameworks we use. At the moment, we maintain and develop 4 mobile applications, which were created by us from the ground up.

Our applications use as many media capabilities of a mobile device as you can think of. Starting from music and video playback, through recording, editing, and streaming, ending on picture processing utilizing machine learning. They also integrate with Apple Music and external devices like Bluetooth speakers or AppleTV. Since we have a great, long-term relationship with our client, we strongly focus on a healthy, sustainable codebase. In order to achieve that we use the industry's best practices and techniques. Because our apps recently start to talk more to each other, as well as share features, those practices will become even more crucial. We believe this is a perfect opportunity to learn, as in such situations benefits of using such techniques become even more apparent. So what do we mean by that? We extensively rely on unit testing, to be as certain as possible, that we're not breaking anything when introducing change.

  • We use modular design with dependency inversion in order to have possibly independent modules.
  • We heavily utilize automation tools, that help us make fewer mistakes. You can expect to work with such tools as xcodegen, swiftgen or swiftlint.
  • We often integrate our changes, in order to keep cooperation with our colleagues nice and smooth, but also to not end up with stale branches.
  • We make sure our apps are always in a deployable state.
  • We use automated deployment systems, that are entirely maintained in-house (you'll have the opportunity to work on that as well if that's something you'd like to learn).

What else can you expect from the technical standpoint?

  • We rely on reactive paradigms. Currently, we work with RxSwift.
  • We use Carthage as our package manager. Swift Package Manager is something that we consider at the moment.
  • Autolayout done programmatically is our way, so you won't work with storyboards too much.
  • We try to go with the newest stuff (Swift- and Xcode-wise) if it doesn't endanger our clients' products.

Requirements

Requirements

We're looking for a skilled iOS developer who'd like to help us support the existing codebase as well as develop a new project on top of that.

We'd like you to have experience in commercial iOS development that allows you to use and navigate smoothly through tools and frameworks by Apple, as well as 3rd parties.

Another important trait that we seek in our future colleagues is an openness to learning new skills and dialogue to actively search for the best possible solutions for products we develop.

We work in English on a daily basis. We want you to discuss possible solutions with the client freely, so be sure you're ok with that.

YES, THAT'S IT! If you have a passion for programming, and you can prove it, this offer is for you.