Specialization: Programmer, developer
Work format: Remotely
Work schedule: 5/2
Employment type: Complete
Work experience: 3 years to 6 years
Key skills:
Swift iOS SDK UIKit SwiftUI PostgrеSQL RESTful API Clickhouse Xcode ElasticSearchMongoDB CI/CD
We are looking for a mobile developer (SWIFT).
In this position, you will work in a mobile development team on various software. Your responsibilities will include implementing technical modules, supporting and developing existing code, collaborating with backend and frontend teams when working on products.
Responsibilities:
• Development of the architecture of new projects and technological solutions;
• Support, development and optimization of the existing code for various services for existing projects;
• Design and development of new software modules;
• Collaboration with DevOps, Machine Learning, Frontend, Backend, and Customer Support teams.
Requirements:
• Over 3 years of commercial development on Swift, knowledge of strengths and weaknesses; • Experience with iOS SDK, UIkit, SwiftUI (desirable);
• Good knowledge and understanding of the principles of the Rest API;
• Good knowledge and understanding of the principles of DBMS (PostgreSQL, ClickHouse);
• Participation in the full development cycle (from design to publication and support);
• Teamwork experience with code review and CI/CD;
• Version control systems (Git) skills;
• Independence in solving problems;
• Ability to write clean code and maintain documentation. ;
• Ability to communicate normally with the team (development, design, analytics), including remotely.
Technical skills:
• Swift language (new features of Swift 5+, Optional, Generics, Protocol-Oriented Programming, ARC);
• Architecture: MVC, MVVM, VIPER, Clean Architecture;
• Experience with Concurrency (GCD, OperationQueue, async/await);
• Networking: URLSession, Alamofire, WebSockets;
• Databases: Core Data, Realm, SQLite;
• Unit/UI testing: XCTest, Snapshot tests, Mocking;
• Build automation: Fastlane, Xcode Cloud, CI/CD (GitHub Actions, GitLab CI);
• Working with multimedia: AVFoundation (desirable).
Working with API and Backend:
• RESTful API, GraphQL;
• JSON, Codable;
• Work with authorization (OAuth, JWT, Keychain);
• WebSockets, Push Notifications (APNs, Firebase Cloud Messaging).
Tools and processes: which
• Git (GitFlow, Pull Requests, Code Review)
• Experience with JIRA, Confluence, Trello;
• Agile/Scrum/Kanban — understanding the principles of teamwork.
It would be a plus:
• Experience working with a native camera, file system, converting photo/video content, video broadcasts;
• Experience working with cross-platform frameworks and ci/cd for them;
• English at the level of fluent reading of technical documentation;
• Use and design of the REST API;
• Experience with SQL;
• Experience working with Redis no-sql data warehouses;
• Linux development experience, knowledge of the Linux or OS X command line;
• At least 2 years of experience as a web developer in a team;
• Knowledge of the Python language;
• Experience in mentoring or managing small features. In addition to the above technical qualities, we expect you to be able to manage your own time and set priorities, be ready to ask if something is not clear, and find it yourself if you don't know something. We are looking for a really caring person who cares about the result of his work, who is happy when he did well and who thinks about when he did poorly. This is the main requirement for this job.
Work schedule: Remote work
Conditions:
• Full employment, full time;
• The ability to work partially or fully remotely, well-established remote work processes; • Employment of the Labor Code of the Russian Federation;
How will the selection take place:
• You send your resume and examples of your code (preferably);
• We schedule an interview on skype/zoom/whatever with a team lead/techdir/product. You'll need a computer to discuss code examples;
• The interview will include technical questions based on practical knowledge;
Our advantages:
• An interesting subject area and complex technical challenges, an opportunity for professional and career growth;
• Opportunity to work partially or fully remotely, well-established processes; • The salary is average, we are ready to discuss a higher rate that corresponds to your experience;
• A strong team that combines both extensive experience and a desire for the latest technologies;
• Assistance in developing new modern and relevant technologies;
• Summing up project results every six months, followed by salary reviews and bonus bonuses;