iOS Engineer

Help us build great products and evolve our iOS team

About TAB

TAB's purpose is simple - create mobile experiences that make the world work better for billions of people. It’s a lofty one, but when we inject our mobile specialism into some of the biggest companies in the world, we can create game changing products.

Whether its reimagining essential weather services with the Met Office, Transforming journey planning with Go-Ahead Group or evolving how TfL test brakes on the tube, our team of cross-functional engineers, designers, strategists, product owners and Agile specialists are ready to take on the challenge.

As the biggest team of mobile specialists in the world (over 500 people globally), we believe that the opportunity for our team is incredibly exciting, as we see user experiences unbundle from smartphones into a multitude of emerging platforms and touch points such as cars, speakers and wearable’s.

Our ambition is to create a nurturing environment that allows every member of our team to help their teammates become the best version of themselves through excellent servant leadership.

The Role

As a passionate iOS Engineer, you will plan, build, iterate, test, and maintain world class apps. You will focus on code quality and deliver a polished user experience - sweating the details that matter.

Working in large code bases and playing an important role in the product life cycle, you will find elegant solutions to new problems on a daily basis. You will learn industry best practices such as pair programming, continuous integration, testing frameworks and code reviews, and together with your team, will take responsibility and ownership over the quality, testability and maintainability of your code.

You will be:

Passionate about iOS and all things mobile,

Proactive in finding solutions to problems that you haven’t seen before,

Able to step back and see the big picture, and to break tasks down into simpler forms where necessary,

Someone who enjoys working at a fast pace to keep up with the TAB tempo,

A team player who thrives working with others.

You must have:

Demonstrable experience of writing iOS apps in Xcode, using Objective-C and Swift,

The passion & drive to become a community-recognised iOS engineer,

Working in an Agile environment, collaborating with design and QA teams,

Excellent communication skills,

The desire to work with others to build products that change the way people interact with the world around them,

A focus on quality at every step of the development lifecycle,

An understanding of common architectural patterns (such as MVC, MVVM, etc.) and why such patterns are important,

A solid understanding of data persistence, including some exposure to CoreData,

Experience with source control,

Experience with third party tools, e.g. Cocoapods, mogenerator,

A solid understanding of concurrency, including the use of GCD and NSOperationQueue,

An app in the App Store or some code on GitHub,

Experience with one or more unit testing frameworks, e.g. XC, Kiwi, Expecta.

It’s nice if you have:

Experience leading a team of other developers,

Experience taking the lead in a scrum team where necessary,

A solid understanding of continuous integration and setting up of a CI environment,

Experience designing APIs and understanding of what constitutes a high quality, mobile-friendly API.