Position: IOS developer
Company: thePerson
Category: iOS
Experience required: 2y
English level: intermediate

We are a high-quality dating app that focuses on getting you offline. With a community of 3.5 million singles in 27 countries around the world, we help you match based on values and interests, making it easier to meet.

The independent bootstrapped tech company ranked in the FT1000 2020 list as one of the fastest-growing companies in Europe. The company was also the winner of Deloitte’s Technology Fast 50 in The Netherlands in 2018.

The goal of the role

Collect and analyze product requirements and needs, turn new ideas into product increments, design the projects architecture, write clean and quality code to get more people together and change the course of their lives.
Technical competencies
3+ years of experience with iOS apps development
Strong knowledge of Swift / Objective-C
Strong knowledge of Foundation, UIKit, CoreAnimation
Understanding of design patterns and architecture concepts such as MVC, MVP, MVVM
Understanding the principles of multithreading, memory management
Understanding of basic design patterns, principles of SOLID;
Experience with Unit/UI testing (XCTest)
Experience in CI/CD
Experience with performance and memory tuning with tools
Strong debugging skills (Memory Graph, Instruments)
Spoken English

Nice to have:

Experience with SwiftUI, Combine
Experience with CoreData

Key results areas

Developing standard operating procedures, improving system quality and enhancing application, making recommendations and designing systems to provide high quality and user friendly products.
Design the most suitable and  flexible architecture for the project and maintain it throughout the whole development process. Write clean, readable, well-documented and reusable code. Use best practices when creating new features and user interfaces to provide quality user experience. Research and discover other mobile applications to find new ideas and features to improve existing applications and UX. Track new trends in mobile applications development.
Maintaining and improving existing codebases and peer review code changes to keep code and architecture clean and flexible for future updates.
Support and maintain the quality of the current codebase. Find and resolve bugs. Update and improve outdated code. Refactor outdated modules and features.
Liaising with colleagues to implement technical designs to align with the team members and figure out the best solution.
Discuss new features and user interfaces with colleagues, provide the  best ways to design and develop new features and resolve issues. Schedule meetings to discuss improvements and solutions.
Investigating and using new technologies where relevant to keep project up to date and be sure that future updates will be developed with relevant tools and libraries.
Be aware of the latest mobile development trends. Attend conferences and meetups for developers. Research every Swift and iOS update. Get new knowledge from articles, mailings, books and videos. And use the new technologies to provide the best solutions.
Providing written knowledge transfer material to share knowledge with the development team and future members.
Write technical documentation for all new features. Design and write Swift code style guides. Maintain and update all documentation for existing features and tools. Support and update the «Wiki» on the project's GitHub page.

Benefits

We provide a mac book or laptop of choice, and screen etc for your WFH setup
The Dnipro team sometimes gets together in a co-work, but mainly works from home
The contract includes 25 days of holiday per year
40 hr work week, the usual
50 Euros stay healthy allowance per month on top of salary
25 Euros bring your device allowance per month on top of salary
Annual training and development budget
Trips to the head office in Amsterdam and potentially fun team get togethers (covid permitting)