Как я вошел в IT и чего мне это стоило. Но результат превзошел все ожидания. Часть 1

Андрей Нивинский
android software developer

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

Только о двух вещах мы будем жалеть на смертном одре — что мало любили и мало путешествовали.

Марк Твен

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

Видимо, в тот период сформировалось мое отношение к деньгам: всегда должна быть заначка. Таким образом, сколько бы я ни зарабатывал, всегда откладывал. Деньги «под подушкой» потихоньку подъедала инфляция — день за днем, год за годом. Тогда я начал искать возможности вложить деньги, чтобы они «зарабатывали» себя сами. Был и негативный опыт: я инвестировал в одного человека 1,5 млн рублей — с тех пор он от меня скрывается…

Чтобы копить быстрее, я начал искать новые способы заработка, рассматривал в том числе смену профессии. И сейчас понимаю, что максимальные суммы платят в ИТ.

Карьера

Моя карьера началась с оказания юридической помощи населению. Сначала бегал по судам, но разочаровался в судебной системе и в том, как вообще устроена эта «машина». Это был 2014 год. Потом я перешел в юридическую консультацию, где была уже сидячая работа на телефоне. Через пять месяцев меня повысили до руководителя юридического отдела. На этой должности я проработал почти год.

Зарабатывал очень хорошо, но сгорел, так как работал ежедневно с 09:00 до 21:00, без выходных. Был холостой, поэтому отдавал всего себя работе. Но из-за такого жесткого графика началась апатия. В один прекрасный момент я вышел на обед и понял, что стены офиса я видеть больше не могу. Уволился.

Пошел в продажи, но проработал там менее трех месяцев из-за неудовлетворительной зарплаты.

Решил стать ипотечным брокером. Это тоже были продажи, но условно-пассивные: никто никому кредиты-ипотеки не навязывал, нужно было только проконсультировать, подходит ли заемщик под условия банка или нет. А решение принимал клиент. У брокеров я был руководителем отдела продаж. Но компания была маленькая, расти было некуда. Следующий человек надо мной был генеральный директор.

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

Оказалось, что я карьерист.

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

Почему ИТ

Всю свою жизнь я работал в режиме «дом — работа — дом». Пока в марте 2020 года нас всех не посадили на карантин. Благо частный дом и свой участок земли дают больше возможностей и свободы: работал я вообще в другом здании — каждое утро уходил в противоположный конец участка. на котором стояло строение, а там - моё оборудованное рабочее место. Получалось, что я трудился удаленно с 09:00 до 18:00, а после работы заводил квадроцикл, и мы с дочкой катались по окрестностям: по полям, лесам, оврагам, рекам и так далее.

Примерно через пару недель таких поездок и более качественного проведения времени с дочерью я понял, как НЕ хочу жить: я не хочу жить на работе и тратить по два часа в одну сторону на дорогу до офиса и обратно.

Ведь пока ты едешь на работу, твоя жизнь проносится мимо.

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

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

В сентябре 2020 года мне предложили руководящую должность в другой компании с зарплатой 140 тысяч рублей. На тот момент у меня была накоплена сумма, которая позволила бы прожить без источников дохода около полутора лет. Поскольку моя цель — накопления и я считаю каждую копейку, свои расходы я оптимизировал таким образом, чтобы 50% от зарплаты откладывать. Все свободные деньги перевожу на брокерские счета. У меня открыты брокерский счет и ИИС в Тинькофф, а также брокерский счет в Interactive Brokers. Акций более 100 штук. В декабре начал потихоньку покупать облигации, пока вложил в них 300 тысяч рублей. Около 40% капитала ― в долларах и рублях. Такой мини-ETF собрал.

В один прекрасный день из-за внутренних бюрократических несостыковок в компании, где я сейчас работаю, мне сильно срезали зарплату. Поскольку я никогда не жил от зарплаты до зарплаты, то в первый месяц ничего не почувствовал. Более того, я рассчитывал, что нам выдадут премию, чтобы компенсировать недостачу. Но ожидания не оправдались, и в следующем месяце пришло всего 58% от зарплаты, то есть около 82 000 Р. За такие деньги очень не хотелось работать. Точнее, так: за эти деньги я был готов только приходить на работу и протирать штаны, но не выполнять свои трудовые обязанности. Уже в тот момент готов был все бросить и искать новую работу, но понимал, что специализация довольно узкая и найти быстро, скорее всего, не получится.

Когда в третий месяц опять пришла сдача от зарплаты, я принял решение: надо идти в ИТ, чтобы в любое время быть востребованным специалистом и не иметь проблем с поиском работы.

Обучение Java

У меня уже был опыт изучения Java, но за четыре месяца я не прошел до конца даже первый раздел Java Syntax, завалившись на вызовах методов. Это когда ты какому-то объекту говоришь: «Сходи в тот участок кода, выполни алгоритм и верни результат вычисления». Учился максимум два часа в день, терял концентрацию, не вникал в каждую строчку кода. Так как на работу добирался по два с половиной часа в один конец, занимался либо утром до работы — и для этого просыпался в пять утра, а в шесть выходил на работу, — либо после работы, то есть после 22:00, когда мозги уже отдыхали, а я их пытался чем-то напрягать. Поэтому концентрации и внимательности не хватало. Лекции читал, лишь бы прочесть, не вникал в суть. Как показала практика, так делать нельзя. Затем случился новый, 2020 год, и после недельного перерыва я просто не смог продолжить. За неделю все выветрилось. И я забросил.

И вот спустя полтора года, 24 августа 2021 года, я взялся за обучение уже более основательно. Договорившись с супругой, что я прихожу с работы, уделяю час ребенку и затем сажусь за уроки, начал усердно учить новый для себя язык. Сказал родным, что какое-то время придется потерпеть.

Я купил абонемент JavaRush на год за 5900 Р. Обучение делится на четыре блока, блоки состоят из уровней, в каждом из которых 7—16 лекций:

  1. Java Syntax — 16 уровней;
  2. Java Core — 10 уровней;
  3. Java Multithreading — 10 уровней;
  4. Java Collections — 10 уровней.

Этот курс посоветовал бывший одноклассник, который сам начинал с него и в 26—27 лет стал программистом. Я решил пойти проторенной дорожкой, раз этот способ работает. Еще мне понравилось, что сразу дается полный доступ ко всем необходимым учебным материалам и заниматься можно в своем темпе. Если что-то не понял, можно перечитать хоть 100 раз. В комментариях другие студенты делятся ссылками на полезную литературу по теме. Если возникают трудности и нужно задать вопрос, есть форма обратной связи. В общем, очень удобная платформа.

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

Если увидите рекламу курсов программирования «первая работа через два месяца» — не верьте.

За 100 дней непрерывного обучения я прошел полностью три первых блока и начал изучать Java Collections. И это я потратил 500 часов только на Java!

После обучения я мог:

  • Написать программу по учету рабочего времени со сканированием карточек «приход» и «уход».
  • Из эксель-таблиц или вордовских документов выбрать нужные данные. У меня был сплошной список наших клиентов, надо было выдрать адреса электронной почты, проверить их корректность, а также номера телефонов, написанные в разных форматах, например +7 (498) 432 03 01 и 891012345678, и привести их к единому виду. Для тех, кто в теме, — использовать регулярные выражения.
  • Написать игру «2048». Правда, архитектура уже была, нужно было написать только алгоритмы — методы и связать их между собой.

Подобных задач в курсе много. Я заработал «достижение»: 800 задач и 100 дней кода. При этом остается страх, что чего-то не знаешь, а ведь так и есть — я очень много не знаю.

Скриншот достижений на портале JavaRush
Скриншот достижений на портале JavaRush

Начиная изучение Java, также решил купить книгу «Изучаем Java». Оригинальное название — Head First Java, ее многие рекомендовали. Но книга показалась тяжелой: тот материал, который уже прошел, шлифовался ею, а новый, неизученный материал по тексту из книги просто не мог понять. Все-таки подача очень важна. Остановился на 106-й странице, так и лежит на полке.

Курс по Android

После изучения Java встал вопрос, что делать дальше. Обратился к своему товарищу-программисту, он посоветовал AndroidSchool.ru, где ему понравились описание и содержание курса. И как раз через две недели начинался интенсив для начинающих — «Андроид с нуля». Я нашел преподавателя в «Телеграме», рассказал о себе и расспросил его о курсе, и его ответ меня удовлетворил.

Ответ преподавателя в telegram чате
Ответ преподавателя в telegram чате

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

14 декабря начал курс по Андроиду. Приобрел я его за 32 000 Р. Считаю, что этих денег он не стоит. Курс построен на поэтапном создании приложения — от простого к сложному. Но мы делали приложения кусками, элемент за элементом, при этом общую картину я так и не увидел, поэтому сложно было связывать некоторые элементы между собой.

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

Когда тебе что-то непонятно, выход один: искать решение в интернете или на «Ютубе». Так я случайно наткнулся на канал Neco Ru, где за неделю посмотрел полностью «Курс по Kotlin для начинающих 2021», 36 видеоуроков. Благодаря его урокам я действительно понял, что такое андроид-разработка. А идея и главная ценность курса в том, что автор сразу при тебе пишет код и объясняет каждое свое действие. Благодаря этому пришло не только понимание, но и уверенность в собственных силах.

Как я вошел в IT и чего мне это стоило. Но результат превзошел все ожидания.  Часть 1

Занятия по моему основному оплаченному курсу проходили по понедельникам и четвергам. Домашние задания я делал за несколько часов, а в промежутках между обучением смотрел уроки от Neco — Сергея Киселева.

29 декабря купил на Udemy курс Shopping List, состоящий из 62 лекций. После 17-й лекции у меня в голове сложилось базовое представление, по каким принципам работает андроид-приложение.

Мои первые приложения на Google Play

Я инвестирую с 2019 года. В этом мне помогают регулярные выпуски на ютуб-канале Дмитрия Солодина. По его аналитическим обзорам компаний я совершаю сделки. Но несколько раз было такое, что я покупал какую-то бумагу, а через пару месяцев не мог вспомнить, зачем ее купил. Приходилось перелопачивать много видео, чтобы найти обоснование покупки. И тут у меня появилась идея: а почему бы не сделать сортировку его выпусков по запрашиваемому тикеру? И, отложив все учебные процессы и планы, 7 января я принялся за реализацию этой идеи. Сразу скажу, что мне не хватало знаний. Тем не менее у меня было четкое понимание, как это должно работать, откуда должны браться данные, как должны сортироваться, как отображаться, — это и помогло не сбиться с пути.

Приложение писал по принципу «чтобы работало». Нужно выполнить такую-то операцию — ищем в интернете. Находим какого-то индуса, плохо говорящего по-английски, но при этом показывающего, как это сделать. Так, с задачей справились. Что дальше? Ага, необходимо выполнить сетевой запрос — как это сделать? Опять ищем в интернете решение. Для технарей: нашел парсинг базы данных через Volley, а не через Retrofit, через месяц я уже сам переписал на Retrofit. Таким образом, менее чем через две недели я загрузил свое приложение на «Гугл-плей».

Кстати, регистрация аккаунта разработчика в «Гугл-плее» стоит 25 $⁣ (1510 Р) пожизненно, а в «Аппсторе» — 99 $⁣ (5979 Р).

Как я вошел в IT и чего мне это стоило. Но результат превзошел все ожидания.  Часть 1

В октябре 2022 года я удалил это приложение, т.к. надоело заниматься поддержкой актуальной базы данных.

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

В итоге за неделю я создал приложение, которое называется «Опыт инвестора». Для технарей: приложение написано с использованием MVVM, Single Activity, Coroutines, Clean Architecture. Второе приложение работает заметно быстрее первого.

Приложение доступно для скачивания, но также не поддерживается.
Приложение доступно для скачивания, но также не поддерживается.

Хронология:

  • 13 декабря — ничего не знаю про Андроид.
  • 14 декабря — первое занятие по Андроиду.
  • 7 января — начал писать свое первое приложение на Андроиде.
  • 19 января — загрузка приложения в «Гугл-плей».
  • 27 января — приложение доступно для скачивания.

Итого: 45 дней понадобилось для выпуска первого полезного приложения.

Траты

Порог входа в профессию довольно высок в финансовом плане.

Считаю, что основы Java я уже прошел. Заплатил 5900 Р за годовой курс и 1300 Р за месячную подписку.

Книга Head First Java — 1300 Р. Опциональная трата. Можно либо вообще ее не покупать, либо скачать на просторах интернета ПДФ-версию.

Курс «Онлайн-интенсив по андроид-разработке» — 32 000 Р. Показался мне очень сложным с точки зрения подачи. Особенно тяжело, когда объясняют не весь материал и очень много приходится искать в сети.

Курс на Udemy на тему Persistence Room Library — 495 Р.

Курс на Udemy по FireBase — 1480 Р.

Курс Kotlin Corounite на сайте Start Android — 2240 Р. Что привлекло: три первые лекции можно прочитать бесплатно, чтобы познакомиться со стилем изложения и понять, подходит ли вам такой метод подачи информации. Вся информация, которая давалась в первых трех лекциях, была для меня очень доступна.

Курс на Udemy «Андроид профессиональный уровень» — 849 Р. Посмотрев на «Ютубе» несколько роликов про собеседование на позицию джуниор андроид-разработчика, понял, что некоторую часть теории я не знаю. С помощью этого курса закрыл многие пробелы, плюс там много практики. А также уже во время работы часто обращался к этим учебным материалам.

Продолжение следует!

1414
9 комментариев

Классно. Рад, что ты теперь с нами, в мобильной разработке. Хотя я бы выбрал путь JavaScript - Typescript - React - React Native (+ Node, express, чтоб серверы тоже писать). Успехов, пойду следующие две части читать!

Спасибо за приветствие!
Возможно ты рассуждаешь с высоты своего опыта про JavaScript. У меня такой высоты и такого опыта нет. Поэтому имеем сейчас то, что имеем. А там поглядим...

1

Почему?

Вы-молодец! Спасибо за подсказки

Онлайн-курс головного мозга. В свое время было достаточно одной толстой книги со сборной солянкой - от типов данных до веб приложения.

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

Это в нулевые, наверное?
Емнип, тогда в основном такие книги и были.
Сейчас по одному хибернейту книжка 600+ страниц.