Senior iOS Engineer
Job description
About the role
N26 is a mobile bank based in Berlin, and the Senior iOS Engineer will play a central role in shaping the company's iOS application that serves customers across multiple European countries. This position requires taking ownership of significant features and modules within the mobile banking platform. The engineer will collaborate with cross-functional teams including product managers, designers, and backend developers to deliver high-quality mobile experiences. A strong sense of responsibility for code quality and user impact is expected at this senior level.
Key facts
What you'll do
1) Design and implement new features for the iOS banking application using modern development practices.
2) Collaborate with product managers to define technical approaches for upcoming customer-facing functionality.
3) Review and provide constructive feedback on code written by other engineers in the team.
4) Write and maintain automated tests to ensure the reliability and stability of the mobile app.
5) Investigate and resolve bugs reported by users or internal QA teams in a timely manner.
6) Contribute to architectural decisions that affect the long-term maintainability of the iOS codebase.
7) Participate in code planning sessions and help estimate effort for upcoming development work.
8) Mentor junior and mid-level engineers through pairing sessions and knowledge sharing.
9) Monitor app performance metrics and identify areas for optimization in speed and memory usage.
10) Stay current with developments in the iOS ecosystem and evaluate new tools and techniques.
11) Work with the backend team to define and integrate APIs that power the mobile banking experience.
12) Document technical decisions and ensure that knowledge is shared across the engineering organization.
13) Lead the migration of legacy code components to newer architectural patterns and modern Swift conventions.
14) Participate in on-call rotations to support the production application and respond to critical incidents.
Requirements
1) Proven experience building iOS applications at scale, with a track record of shipping features to production.
2) Strong proficiency in Swift and a solid understanding of the iOS framework ecosystem.
3) Familiarity with UIKit and SwiftUI, and the ability to work with either or both frameworks.
4) Experience working with RESTful APIs and integrating backend services into mobile applications.
5) A bachelor's degree or equivalent practical experience in computer science or a related field.
6) At least five years of professional software development experience, with a focus on mobile platforms.
7) Ability to work independently and take initiative when approaching complex technical problems.
8) Strong communication skills and the willingness to share ideas clearly with both technical and non-technical colleagues.
9) Experience with version control systems such as Git and familiarity with collaborative development workflows.
10) A commitment to writing clean, readable, and well-structured code that follows established best practices.
11) Experience with continuous integration systems and contributing to the improvement of the development pipeline.
12) A strong understanding of software design principles such as SOLID and their application in iOS development.
Nice to have
1) Experience with reactive programming frameworks such as Combine or RxSwift in an iOS project.
2) Familiarity with CI/CD pipelines and contributing to automated build and release processes for mobile apps.
3) Knowledge of mobile security best practices, including secure data storage and certificate pinning.
4) Contributions to open source projects or a visible presence in the iOS developer community.
5) Experience with performance profiling tools like Instruments to diagnose and fix app performance issues.
6) Background in fintech or banking applications, understanding the regulatory and compliance landscape.
Skills & tools
1) Swift programming language for building native iOS applications.
2) Xcode as the primary integrated development environment for iOS development.
3) Git for source code management and collaborative branching workflows.
4) REST APIs and JSON parsing for communicating with backend services.
5) Unit testing frameworks including XCTest for writing automated test suites.
6) Interface Builder and SwiftUI for designing and implementing user interfaces.
7) CocoaPods or Swift Package Manager for managing third-party dependencies.
8) Jira or similar project management tools for tracking development tasks and progress.
Practical notes
1) This role is based in N26's Berlin office, and candidates should be able to work on-site in Berlin.
2) The hiring process typically includes multiple technical interviews and a take-home coding exercise.
3) N26 offers a competitive benefits package that includes health insurance and retirement planning options.
4) The company values diversity and encourages applicants from all backgrounds to apply.
5) Candidates should be prepared to discuss past projects and technical decisions in detail during interviews.
6) The team operates in a fast-paced environment where adaptability and clear communication are essential.