Position: Mobile Developer (IOS)
Company: thePerson
Experience required: 5y
English level: fluent

Details: https://jobs.lever.co/theperson/13bc0c1b-6f06-441c-ab3e-c6d0f5aaec52

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:
4+ 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)