7.8к
0
0
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники
Назад

Мой путь от сварщика до мобильного разработчика

Время чтения 1 минута
Нет времени читать?
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники
7.8к
0
0
Нет времени читать?
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники

Привет! Я Андрей Белоус, мне 29 лет. Я занимаюсь разработкой мобильных приложений больше 6 лет. У меня есть диплом профессионального сварщика, а программирование я освоил самостоятельно, потратив на обучение 1 год и 0 рублей.

С 2020 года я работал в крупной международной компании в Москве, спустя полтора года перевелся в их штаб-квартиру в Лондоне на позицию Senior Android Developer.

Я расскажу, как развиваюсь в мобильной разработке и что изучаю для того, чтобы ежедневно расти.

Мой путь от сварщика до мобильного разработчика

Мой путь в мобильную разработку

В старших классах школы я особо не задумывался, кем хочу быть: выбрал профессию сварщика просто потому, что в этой сфере работал отец. В 2011 году поступил в МГТУ им. Баумана на кафедру технологии сварки и диагностики МТ-7 и спустя шесть лет получил профессию инженера-сварщика. По специальности я никогда не работал: на последних курсах увлекся программированием и стал активно его изучать.

Специализацию выбирал по вакансиям на «Хедхантере»: самые высокие зарплаты тогда были у разработчиков 1С. В 2016 году, еще до окончания Бауманки, я устроился программистом в компанию-интегратор.

Однажды я разговорился с товарищем, который занимался разработкой под Android, и понял, что концептуально она очень похожа на 1С-разработку.

Я решил попробовать: написал очень простое приложение, которое транслирует текст в код азбуки Морзе с помощью фонарика. Мне понравилось, что с ним можно взаимодействовать, буквально потрогать руками то, что написал. Поэтому я продолжил изучать Android и примерно через год начал искать работу.

В телеграм-канале MobileDevJobs мне попалась вакансия джуна. Ее разместили знакомые ребята из Бауманки, которые занимались производством онлайн-касс. На собеседовании я показал несколько пет-проектов в Google Play и получил первый офер: стать Android-разработчиком с зарплатой около 40 000 рублей в месяц.

Сейчас я занимаюсь любимым делом, которое доставляет мне удовольствие и хорошо оплачивается. С осени 2021 года живу и работаю в Лондоне. При этом продолжаю изучать разработку, чтобы решать задачи наиболее правильным и эффективным способом.

Что изучают senior-разработчики

Сейчас я не прохожу все курсы подряд, а выбираю материал, исходя из задачи, которую нужно решить. Главная проблема — подобрать правильный источник. Найти подходящую информацию бывает сложно. Одни темы хорошо раскрыты в книгах, по другим можно найти запись классного доклада на профильной конференции. Но иногда я трачу часы на изучение материалов и только в конце понимаю, что они не помогут мне решить задачу.

Недавно я готовил доклад о межпроцессном взаимодействии в Android, для которого использовал самые разные источники. Например, смотрел доклады 10-летней давности, находил какие-то дипломные работы студентов из Китая и смотрел схемы работы в них, читал статьи.

В процессе работы приходится изучать смежные области. Когда растешь, это происходит само собой. И очень часто эти знания оказываются полезными, так как появляется больше обязанностей и задач, которых раньше не решал. Например, настроить CI/CD-процессы, помочь бэкенд-разработчику, написать протокол взаимодействия клиента и сервера в рамках новой фичи.

Даже если информация забывается со временем, всё равно повышает профессионализм разработчика. Новые концепции, идеи могут изменить подход к работе. Даже просто знать, в какой книге или докладе подсмотреть какой-либо принцип или решение, — уже полезно.

Один из главных софт-скилов, который я бы выделил, — это эмпатия: всегда надо помнить, с кем мы работаем. Это может быть джуниор-разработчик, которому нужно дать правильный фидбэк, не обидев и направив в нужном направлении. С другой стороны, коллегам из бизнеса нужно уметь объяснять нюансы разработки нетехническим языком, при этом не потеряв сути. Наконец, общаясь с коллегами из другой страны, важно помнить, что в другой культуре некоторые вещи могут быть не приняты.

Советую почитать

Для улучшения навыков в Android могу рекомендовать эти книги: 

  • Efficient Android Threading — подойдет более опытным разработчикам, которые хотят разобраться в многопоточности Android. Написана с кучей примеров и очень подробно.
  • GoF Design Patterns Reference — для начинающих разработчиков, очень хорошо, с понятными примерами рассказано, для чего и зачем нужны паттерны программирования.

Сейчас у меня есть пара книг, которые ждут своего часа. Одна из них — классика для Android-программиста — краткая история разработки Android, написанная разработчиком из Google Chet Haase. Не сказал бы, что эта книга нужна для решения каких-то задач, для меня это скорее научпоп и история создания платформы, над приложениями для которой я работаю.

Вторая книга — Jetpack Compose Internals. Она посвящена внутренностям относительно нового Android-фреймворка Jetpack Compose. Сейчас декларативные UI-фреймворки Jetpack Compose для Android и SwiftUI для iOS набирают популярность, вопросы по ним уже довольно часто задают на собеседованиях. В будущем это де-факто стандарт разработки, поэтому я посчитал важным изучить их подробнее. Книги, в которых есть глубокое погружение в тему, бывают очень полезны, чтобы писать наиболее оптимальный и надежный код. Плюс без глубокого погружения в тему иногда невозможно разобраться со сложными багами.

Думаю, что читать все подряд смысла мало, скорее нужно проанализировать, какие есть пробелы в знаниях, чем интересно было бы заниматься, куда углубиться и выбирать инструменты для изучения темы исходя из этого. Стоит помнить, что для изучения какой-то темы полезно выбирать разные источники: где-то это могут быть чисто теоретические книги, а где-то доклады на конференциях, в которых рассказывается про практический опыт.

Ну и главная задача разработчика — в нескончаемом потоке информации из обучающих курсов, гайдов по новым фреймворкам, книг, докладов найти то, что действительно поможет решать конкретные рабочие задачи.

Варианты карьерного развития разработчика

Классическая развилка карьеры — это технический специалист или менеджер. Здесь, кажется, все довольно просто и предсказуемо. Нравится работать с людьми — иди в менеджмент, нравится техника — развивайся в ней. Не думаю, что есть преимущества одного над другим, и выбирать здесь стоит из личных предпочтений.

Еще может быть так, что работа senior-разработчиком полностью устраивает и никуда расти не хочется, — это тоже абсолютно нормально. Во многих компаниях есть так называемые терминальные уровни: специалисты на такой должности не ожидают повышения. Часто senior-разработчики находятся как раз на таком уровне.

Еще один вариант карьерного пути — консультант, но это не совсем типичный путь развития. Он предполагает проектную работу с большим количеством заказчиков. Разработчик приходит в компанию, помогает наладить разработку или решить конкретную сложную задачу, а когда контракт заканчивается, переходит в другую организацию. Знаю, что таких ребят довольно мало, но они есть.

Еще есть горизонтальные варианты развития, которые позволяют поработать над продуктом с другой стороны. Например, стать менеджером продукта, развивать его, придумывать новые фичи, анализировать метрики. Или перейти в DevOps и отвечать за инфраструктурные проекты.

В общем, вариантов развития карьеры очень много и нет какого-то предопределенного пути. Все варианты хорошие — главное, чтобы работа приносила удовольствие.

В заключение хочу отметить, что тренды в IT меняются очень часто. Несколько лет назад мобильная разработка была самым популярным видом разработки с большим дефицитом разработчиков. А сейчас она превращается в обычную энтерпрайз-разработку, в которой все известно, ничего придумывать не надо.

Так же было когда-то с PHP- и веб-разработкой. Поэтому, чтобы не остаться не у дел, нужно следить за текущими трендами. Сейчас популярность набирает машинное обучение. Кажется, все компании хотят себе эту технологию, огромный спрос на разработчиков, каждый месяц выпускают новые, еще более классные нейронные сети. Но также не стоит заниматься чем-то только потому, что это популярно. Важно сохранять баланс, и каждый определяет его для себя сам.

Комментарии0
Тоже интересно
Комментировать
Поделиться
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники