Ответ
Да, я считаю постоянное обучение и расширение кругозора критически важным для разработчика. Моя стратегия — углублённое знание iOS-стека в сочетании с пониманием смежных областей.
Конкретные направления для развития:
- Смежные мобильные технологии: Изучаю Kotlin для понимания подходов в Android-разработке и Flutter для оценки кроссплатформенных решений.
- Бэкенд для мобильного разработчика: Интересуюсь основами создания простых API на Swift (Vapor) или Node.js, чтобы лучше понимать полный цикл работы приложения.
- Инструменты и практики: Активно осваиваю CI/CD (Fastlane, GitHub Actions), улучшаю навыки в модульном и UI-тестировании.
Пример из опыта: Для оптимизации работы с данными в одном из проектов мне пришлось детально изучить Core Data (включая NSFetchedResultsController, оптимизацию запросов и миграции), что вышло за рамки стандартного использования. Это помогло значительно улучшить производительность приложения.
Я готов брать задачи, требующие освоения новых инструментов, если это приносит измеримую пользу продукту и команде.
Ответ 18+ 🔞
А, ну это ж вечный вопрос, как не застрять в болоте и не превратиться в старого пердуна, который только про UIButton и может рассуждать. Слушай, я считаю, что если ты в мобилке, то сидеть, уткнувшись в один только iOS-стек — это прямой путь на свалку истории, в рот меня чих-пых. Нужно же понимать, что вокруг происходит!
Вот смотри, как я это вижу, чтобы не быть просто исполнителем, а тем, кто может впиздюрить архитектуру, которая не развалится через полгода:
Куда копаю и буду копать:
- По соседству, за забором: Учу Kotlin. Не чтобы стать андроид-разработчиком, а чтобы перестать быть, извини, идиотом, который не понимает, как там у коллег на другой стороне баррикад всё устроено. Плюс Flutter смотрю — не чтобы фанатеть, а чтобы иметь аргументированное мнение, когда менеджер придёт с криком «давайте сделаем всё на нём, это же овердохуища быстрее!».
- Тёмная сторона, она же бэкенд: Базово шарю, как API под капотом делаются. Не для того чтобы писать монстры, а чтобы, когда бэкендер несёт какую-то хуйню про «у нас тут N+1 проблема», не тупо кивать, а сказать: «Мужик, дай мне эндпоинт, который сразу отдаёт мне всё, что нужно, а не двадцать запросов дергать, ёпта». Swift Vapor или Node.js — просто чтобы мозги проветривались.
- Вся эта магия доставки: Вот это вот CI/CD, эти все пайплайны, Fastlane, GitHub Actions. Чтобы не быть тем самым мудаком, который полдня вручную архив собирает и сертификаты тыкает. Автоматизируй всё, что шевелится, и будешь больше времени на кофе тратить, а не на ебаное подписание билдов.
Пример из жизни, где пригодилось: Был у меня проект, где данные хранились в Core Data. И всё вроде работало, пока записей сто. А когда их стало десять тысяч, приложение начало тормозить так, что хоть на хуй вешайся. Пришлось не просто по гайдику пройтись, а реально вникнуть: NSFetchedResultsController, батчинг, оптимизация предикатов, миграции без боли в жопе. После этого скролл стал летать. Вот это и есть то самое углубление, когда ты из «знаю, как использовать» переходишь в «понимаю, как это ебёт систему».
Короче, суть в чём: я не боюсь брать задачи, где нужно залезть в новую тему. Но только если в конце будет конкретный, измеримый результат, а не просто галочка «изучил новую хрень». Иначе какой в этом, блядь, смысл?