«Подарил удочки и попрощался с друзьями на год»: как я стал Android-разработчиком, отказавшись даже от прогулок

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Всем привет! Меня зовут Пётр Гнесный, я студент и стажёр на финишной прямой. Вот-вот окончу курс «Android-разработчик» в Практикуме и стажировку в американском медтех-стартапе RE.DOCTOR. В этом тексте я расскажу, как написал первый фрагмент кода, занимаясь биржевой торговлей, какие три вещи на самом деле важны в обучении программированию и почему 1 октября случится кое-что важное — я впервые за год пойду на рыбалку.

Неудачный бизнес, инвестиции и первые шаги в программировании

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

Так в 20 лет я стал предпринимателем в довольно большой фирме. Мы сами производили мебель по своему дизайну и продавали её в трёх магазинчиках в Курске. Я пытался выстроить бизнес так, чтобы отойти от дел, но ничего не получилось. К 28 годам я разорился и накопил кучу долгов. Переехал на заработки в Питер, потом в Москву — работал в такси, чтобы отдать деньги.

Один из последних заказов моей мебельной компании — стеллажи для торгового центра. Моё первое большое дело кончилось разорением и долгами
Один из последних заказов моей мебельной компании — стеллажи для торгового центра.
Моё первое большое дело кончилось разорением и долгами

Всё это время я даже не думал о программировании. Казалось, что это что-то сложное, доступное только людям, которые с детства этим занимаются. Не то чтобы я считал себя глупым — что-то мне точно удавалось. Например, после выплаты долгов бизнеса я долго и успешно занимался биржевой торговлей. Даже занял призовое место в конкурсе компании Gerchik & Co на лучшего частного управляющего. По условиям надо было достичь максимальной прибыли в течение трёх месяцев, чтобы просадка при этом не превысила 20%. Я занял 25-е место и получил деньги в управление. В общем, в каких-то сложных вещах я разбирался, но программирования среди них не было.

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

Торговые советники пишутся на языке MQL4 — он отдалённо похож на C++
Торговые советники пишутся на языке MQL4 — он отдалённо похож на C++

Первый удачный опыт подстегнул меня пробовать дальше. Я начал ковыряться в «Андроиде». Выбрал его из прагматичных соображений. Подумал: чем пользуется каждый человек на свете? Смартфоном! Между iOS и Android выбирал примерно так же — пользователей Android-устройств просто больше, около трёх миллиардов.

Начал проходить бесплатный курс “Start Android”. Он уже старый, но хороший, начинать с него точно можно. Прошёл где-то треть. Уже что-то понимал и писал — скорее в качестве хобби, но знания пригождались и в работе. Например, тогда я работал водителем в «Роспечати» и написал приложение, которое отслеживает товарные потоки в киосках. Директор нашего филиала даже хотел продать моё приложение центральному офису.

Потом случился февраль 2022 года. Я понял, что пора что-то менять. Так я решил вплотную заняться разработкой, но покупку курса откладывал, до последнего думал научиться сам. К августу понял, что мне нужна структура и скорость, — и решился.

Как я отказался от рыбалки и заменил друзей на одногруппников

В начале курса было очень тяжело. До этого я учился в своём темпе, занимаясь программированием как хобби, а теперь нужно было перестраиваться. К тому же наставник будто специально давал реально сложные задания, чтобы мы заранее стали делать чуть больше, «перевыполнять» программу. У меня многое не получалось. Так я решился на радикальные перемены.

Я пообещал себе, что я трачу на обучение год — и делаю это максимально эффективно. А значит, всё, что будет окружать меня в течение года, это программирование. Даже развлекательный контент выбирал только тематический. «Мы обречены» — лучший канал!

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

Если что, я не советую так делать, это просто мой способ.

Примерно через три месяца обучения я вкатился в режим: каждый день утром я сначала решал простую задачку с Codewars (так я начинал день с маленького программистского успеха), потом садился за изучение теории, практиковался и в конце брался за дополнительные задачи от наставника. Также мне помогло микрокомьюнити, в которое вошли три студента курса с разным бэкграундом: я, Олег и Рита. К декабрю мы создали группу в Discord, в которой три раза в неделю собирались и по часу обсуждали, что у нас не получается. Допустим, написали адаптер — но не поняли до конца, как работает код. Оказывалось, что каждый понял что-то своё — обменивались знаниями, и картинка складывалась.

Не общаться с одногруппниками — сознательно не пользоваться тем, что на самом деле дают курсы
Не общаться с одногруппниками — сознательно не пользоваться тем, что на самом деле дают курсы

Мы готовились к собеседованиям, готовили друг другу вопросы для технического интервью. Это интересно работает: «работодателю» в этой сценке приходится погружаться в материал максимально глубоко, потому что «соискатель» может задать встречный вопрос. Получается, что оба участника изучают теорию и прогрессируют.

А ещё такой подход помогает сохранить мотивацию. Когда у одного участника что-то не получается, остальные помогают не отстать от курса и продолжить работать.

Успешность обучения, на мой взгляд, зависит от трёх равнозначных факторов: теории, которую можно найти в интернете; единомышленников, которые занимаются тем же делом; и наставника, который всегда укажет на то, что можно улучшить в твоем коде.

Сейчас к нам подтянулись и другие ребята. Думаю, нам повезло. Например, Рита работает в новых группах курса и рассказывает, что там студенты пока не объединяются. Может, пока не созрели.

Отклик был один, но настойчивый: о стажировке в американском медтех-стартапе RE.DOCTOR

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

И вот пару месяцев назад в Карьерном центре Практикума появляется партнёрская вакансия — американский стартап ищет джуниор-разработчика на Android. Я откликнулся. На тот момент я уже написал хорошее резюме и чувствовал себя готовым к работе. Проходит время, ответа нет. Потом появляется новость, что найм приостановили. Я не сдаюсь и спрашиваю снова: точно ли ту вакансию от американского стартапа уже сняли? Может, можно с ними связаться и ещё раз передать моё резюме? И тут, видимо, что-то случилось и сработало — мне отвечают приглашением на собеседование.

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

Компания называется RE.DOCTOR. Мы разрабатываем решения, которые помогают измерять давление, уровень глюкозы и кислорода в крови и другие показатели с помощью светодиода и камеры смартфона. Работаем в сфере B2B, а заказчики в основном страховые компании и американские работодатели, которые тестируют своих сотрудников — там так положено.

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

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

Обучение и стажировка занимают всё моё время. Я просыпаюсь где-то в 7:30–9:00 и ложусь примерно в час ночи. В первые две недели стажировки было особенно сложно, так как проект написан на алгоритме Kotlin Multiplatform — прямо в голове не укладывалось, что и где надо писать. Кроме того, часть продукта для Android работает независимо от iOS-части, а ещё есть часть общая — и нелегко разобраться, как это всё взаимодействует. Ну а ещё я, как и на обучении, продолжаю делать чуть больше, чем нужно. Например, команда поручила мне сделать дефолтный свитчер — а я решил заморочиться и повторить переключатель из интерфейса iOS. Все оценили.

Потом задачи стали сложнее, а теперь я и сам их предлагаю, когда вижу, что что-то работает не так. Есть и то, с чем могу не справиться к дедлайну, и это нормально — что-то срочное берут другие разработчики. Но я уже давно прошёл уровень «покрасить кнопку», а из последних задач были такие: внедрить DI; вытащить весь код из Android и положить его внутрь SDK; прописать логи, по которым мы могли бы выставлять счета клиентам; настроить шифрование; добавить version catalog в Gradle; написать плагины.

Что дальше: рыбалка, друзья и поиск работы

1 октября начнётся новый этап в моей жизни. Хочу понять как меня оценивает рынок  в плане денег и проверить в какую сторону двигаться дальше по изучению новых технологий. Так что впереди череда собеседований.

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

Пока приложением пользуюсь я, жена и сын, но к концу осени, надеюсь, я доделаю его и выложу в маркет
Пока приложением пользуюсь я, жена и сын, но к концу осени, надеюсь, я доделаю его и выложу в маркет

В общем, это был совсем не лёгкий год, и теперь он позади. В октябре я начинаю жить обычной жизнью со всеми её прелестями: семьёй, друзьями и, конечно, рыбалкой.

Источник: https://habr.com/ru/companies/yandex_praktikum/articles/761376/


Интересные статьи

Интересные статьи

В этой статье разберу GitHub комьюнити, что я бы хотел сказать. GitHub является самой популярной платформой
В декабре прошлого года вышел Linux Mint 21.1 “Vera” Cinnamon Edition. Сейчас, несколько месяцев спустя, появился и Linux Mint 21.2. Он продолжает «традицию» ветки, которая основана на пакетной ба...
Речь о периферийном устройстве Famicom Disk System, которое расширило возможности стандартной приставки. В том числе в плане звука.
Вышедшее неделю назад обновление приложения Huawei Health полностью перестало работать с привязанными устройствами. Смарт-браслеты и часы не отображаются в приложении, синхронизация не работает, добав...
Собрали для вас «классические» и нетривиальные ИБ-инциденты прошедшего месяца – в июле отметились и смелая пенсионерка, обманувшая мошенника, и сотрудники Facebook, заигравшиеся в шпионов, и упорно от...