Некоторые знания и умения, которые должен иметь senior iOS-разработчик:
- Особенности iOS. 1 Нужно понимать, как работает операционная система, хранятся данные, происходит отправка уведомлений и приём сообщений. 1
- Среда Xcode. 1 Следует знать, как работают её функции, где расположены основные элементы интерфейса, как отлаживать и компилировать приложения в этой среде. 1
- Хранение данных. 1 Нужно разбираться в базах данных Core Data, Realm, SQL, уметь составлять к ним запросы и сохранять в них информацию. 1 Также понадобятся знания о работе с облачными хранилищами, например Firebase. 1
- Фреймворки. 1 Например, в iOS-разработке для работы с графикой используют UIKit, и нужно знать, как с его помощью создавать интерфейсы. 1
- Обработка JSON. 1 В iOS данные по сети передаются в специальном формате JSON, основанном на языке JavaScript. 1 Нужно уметь читать этот формат и правильно интерпретировать переданную в нём информацию. 1
- Вёрстка приложений. 1 iOS-разработчики отвечают в том числе за внешний вид приложения. 1 Для этого нужно уметь работать в графических редакторах типа Figma, Sketch, Zeplin, разбираться в описании интерфейса через код, а также во фреймворке UIKit или SwiftUI. 1
- Оптимизация. 1 Приложение должно не просто работать, но ещё и оптимально использовать память и вычислительные ресурсы. 1 Для этого нужно уметь оптимизировать его средствами самого кода и сторонними инструментами. 1
- Работа в Git. 1 Приложения обычно пишут большие команды, поэтому у кода всегда есть несколько версий. 1 Чтобы не запутаться в них и работать над кодом совместно, существует система Git и инструменты для работы в ней: GitHub, GitLab и другие. 1
Кроме технических навыков, senior iOS-разработчик должен обладать и софтскилами, например:
- Умение общаться с коллегами, находить общий язык с командой. 1 Разработчикам приходится работать вместе. 1 Важно уметь делать это так, чтобы не провоцировать конфликты. 1
- Организация собственной работы. 1 Нужно самостоятельно планировать рабочий день, распределять задачи и следить за их выполнением. 1
- Знание английского языка. 15 Практически вся документация для iOS написана на английском языке. 1
Также senior iOS-разработчик должен иметь опыт ведения больших проектов и управления командой разработчиков. 2