Senior iOS Engineer
- Hiring from
- Worldwide
- Work type
- Remote
- Posted
622,445 remote jobs, straight from company career pages
100% free · New jobs every minute
Show job descriptionHide job description
We’re looking for a product-oriented Senior iOS Engineer to join our iOS team.
You will contribute to our flagship trading platform, used by millions of users worldwide.
The project focuses on a major redesign, improving the application architecture, delivering an adaptive UI across different screen sizes and device families, and developing new business features to further enhance the product.
In this role, you’ll work on application architecture, platform-level solutions, and key user-facing features. You’ll have the opportunity to influence the technical direction of our iOS application, improve existing solutions, and contribute directly to its product evolution.
Our team includes 3 iOS Developers, 3 QA Engineers, and a Team Leader.
We follow Agile and Scrum methodologies with 2-week sprints and daily meetings at 11:00 EET/EEST.
We also follow an AI-first approach, actively integrating AI tools into our daily engineering workflows, including code development, code reviews, debugging, and problem-solving.
Project Description
- Programming Language: All code is written exclusively in Swift. There are only a few classes written in Objective-C, which are necessary for interoperability with C++ code.
- User Interface: Legacy code uses Storyboards and NIB files, while new code is written programmatically. One of the current priorities is redesigning the application and delivering an adaptive UI across different screen sizes and device families.
- Data Storage: CoreData is used for data management. Experience with multithreading is required.
- Unit Tests: The Nimble framework is used for unit testing.
- UI Tests: Cucumber is used for user interface testing. The team is also transitioning towards native Swift-based test automation.
- Compatibility: The minimum supported iOS version is 15.
- Build System: Tuist is used for dependency management and project building.
- C++ Integration: Occasionally, reading and integrating C++ code is required.
- Reactive Programming: RxSwift is actively used in the project.
- Architecture: New code follows the MVVM architectural pattern with the use of Coordinators.
- Modularity: The project uses a multi-module architecture with more than 40 modules, and the number of modules is constantly increasing.
- Legacy Code: The project includes legacy code that needs to be maintained and improved. It is important to understand existing implementations, refactor them when necessary, and introduce changes safely without disrupting existing functionality.
- AI Integration: AI tools are actively integrated into everyday development workflows, supporting code development, code reviews, debugging, and technical problem-solving.
