Слышали ли вы когда-нибудь хоть что-то про iOS? Думаю, да.
Хотели бы вы себе яблочко? Думаю, да!
А что если ещё и писать яблочные программы?
Ну а вот тут не так однозначно. Но давайте приоткроем ларчик и посмотрим, что нам сулит данная профессия? Стоит ли в неё залететь?
По традиции - считаем денюжки.
Сколько платят?
Давайте представим, что вы пришли устраиваться на работу без опыта за плечами, что нам готовы предложить?
Так, неплохо, жить точно можно. Это всё же без опыта, но мы же залететь хотим надолго, давайте смотреть дальше
И сразу "БУМ"! Отметим, что всё же чаще встречаются вакансии "от трёх лет", поэтому в реальности после 1-2 лет работы стоит рассчитывать где-то на 70-75% от данных сумм.
Но ведь когда-нибудь мы станем мастерами, а строки написанного кода будут измеряться в километрах, что тогда?
Хм, отличная зарплата, не находите? Оговоримся, что в Москве таких вакансий побольше, но и в Питере их хватает.
Мне кажется, нужно дерзать!
Что буду делать?
И так, давайте глянем, что же нам предстоит делать, если опыта совсем нет:
- Писать автотесты к программам
- Работа над функциями приложения
- Доработка существующих функций
Ну, не так уж и сложно. Потом добавятся и другие обязанности:
- Profiling приложения
- Оптимизация производительности и рефакторинг кода
- Настройка клиент-серверных моделей взаимодействия
Ну а уж совсем потом...
- Организация процесса разработки
- Подготовка и набор команды
- Управление релизами
То есть, добавляются ещё и менеджерские обязанности
Какие требования?
Скажу сразу о самом неприятном для многих начинающих:
Вам нужен Mac!
Необязательно самый крутой, но иначе пока никак не получится написать что-то серьёзное. Конечно, есть способы обхода - виртуальная машина, но всё же это не слишком удобно, особенно в начале пути.
Мы отвлеклись, какие требования у работодателя к джунам?
- Знания Swift
- Знания баз данных
- Знания JSON
Потом будут требовать больше (но вспомните зарплаты)
- Objective-C (без него пока никак)
- Многопоточность (понимание технологии)
- Хорошее знание алгоритмов
- Умение читать другие языки (Java/Kotlin лучше всего)
Ну и наличие портфолио - приложений. Без них почти никак.
Ну а с гуру требуют примерно то же, только ещё и менеджерские обязанности приходят.
Где научиться?
Начать лучшего всего с этого курса: https://stepik.org/course/1780/promo
Он вам разжуёт про разные операционные системы.
По самому Swift не так много бесплатных курсов. Платных - тьма. Можете поискать на coursera, там очень крутые курсы от МФТИ
Про многопоточность смотрим тут: https://stepik.org/course/3278/promo
Так как C очень схож с Objective-C, то можно также и тут посмотреть:
https://stepik.org/course/3078/promo
Отличный курс по алгоритмам: https://stepik.org/course/217/promo
Ну и базы данных: https://stepik.org/course/2614/promo
Дерзайте!