Position: Middle IOS Engineer
Company: N-iX
Category: iOS
Experience required: 3y
English level: upper

Our customer is headquartered in Pittsburgh, PA. (USA) is the world’s acknowledged market leader in wireless communication systems for motorcyclists. With the introduction in 2004 of the Bluetooth line of devices, the company has pioneered a new product category that was non-existent until then. 
Today, the line includes the most advanced devices in the category, from solid entry-level products to the most feature-rich communication and entertainment system available. Products can be found in motorcycle accessory stores in over 80 countries.

We are looking for a prospective and ambitious Middle iOS developer to join our team.


**Main Responsibilities: **

Design, build, and maintain efficient, reusable, and reliable code.
Identify UI problems and bugs and devise elegant solutions.
Make strategic technical decisions related to new products and functionalities.
Help maintain code quality.
Refactor already existing code
Guide to team development efforts toward successful product delivery
Suggest technical and functional improvements to add value to the product, full involvement in Product Development
Conduct design reviews and code reviews


**Role Requirements:**

At least 3 years of experience in software development for iOS
Good knowledge of Swift programming language
Understanding of OOP and iOS design patterns (MVVM & Coordinator)
Experience with Xcode, the ability to use debugging and profiling tools.
Experience with BLE and OTA 
Experience with SwiftUI
Familiarity with UIKit and Core Bluetooth
Experience with AutoLayout, Storyboards, and Xibs
Experience with dependency managers (CocoaPods, SPM)
Understanding of concurrency, experience with GCD and async programming with Combine
Proficient understanding of Git 
Familiarity with continuous integration
Experience with application distribution
Understanding of Apple’s HIG
A desire to write clean and readable code
A desire to write unit tests
Good spoken and written intermediate knowledge of English language


**The ideal candidate is also:**

Has Agile mindset and is a good team player;
Possesses knowledge of computer science fundamentals which prevents him/her from reinventing the wheel;
Is pragmatic: gets things done, can find a creative compromise between an ideal technical solution and actual client needs.
Understands the value of testing, quality, continuous integration, source control, and code reviews;
Can analyze, plan and estimate requirements as well as identify risks involved and provide solutions to them.