Поиск работы и резюме
July 22, 2021

Тернистый путь до Android-разработчика

Это первая заметка в моем анонимном блоге. Хотелось в идеале сохранить логическую последовательность статей и рассказывать постепенно обо всем, назвав первую статью: "Как войти в IT" или "Как стать android-разработчиком". Но мысли в голову все равно будут поступать хаотично, поэтому сразу понял, что нет смысла пытаться выдерживать градацию. Личный твиттер уже показал тщетность таких попыток. Поэтому расскажу самое ценное, что у меня есть - мой опыт.

Предыстория

Сразу стоит начать с исходных данных. Вплоть до конца ВУЗа, я считал, что с программированием нахожусь на разных берегах, хотя сегодня отбиваюсь в различных соц.сетях, мессенджерах и сайтах по поиску работы от предложений рекрутеров.

Начать повествование о самом пути стоит со школьного периода. Тогда не было хайпа вокруг IT и мне по-детски хотелось стать программистом. Но за неумением выбирать правильно техническую литературу - под руку попадались лишь книги-справочники. Есть действительно множество гениев, которые буквально прочтут понятие класса и мгновенно приступят к написанию интересного проекта. Но я не из таких. Да и многие из тех, с кем удалось поработать или пообщаться - тоже. Жалею, что не попалось тогда под руку что-то в духе серии книг "Head First" или подобного, возможно моя жизнь поменялась бы раньше.

Дальше период ВУЗа, куда я поступил не на IT-специальность. Мне казалось, что более-менее освоил за школьные годы Pascal (самостоятельно, в школе уроков не было и близко, там изучали ежегодно отличия мыши от клавиатуры), но и тут произошел гигантский облом. Пары информатики на непрофильной специальности приводили меня в ужас до такой степени, что оба семестра были сданы не в срок. Этот факт отдалил меня еще дальше от мысли, что когда-либо свяжу свою жизнь с разработкой.

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

После провала с информатикой на младших курсах ВУЗа - не написал ни строчки кода. Изредка лишь смотрел на YouTube видеоуроки по фану. Останавливала вышеописанная куча школьноуниверских провалов. Так жизнь плавно и подкатилась к последнему додипломному семестру в ВУЗе. Но жизнь была бы не жизнь, если б в нее не вклинивалась череда случайностей, что порой радикально переворачивают события с ног на голову.

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

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

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

Жизненная развилка

После получения диплома ВУЗа на руки передо мной встает вопрос: что делать дальше?

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

Вариант второй: заниматься абы какими подработками, но все свободное время начать грызть задачи на JavaRush, а дальше видно будет.

Второй вариант был привлекательнее для души, но и более страшный. Хотя бы от того, что потратишь время, работая условным репетитором со школьниками, чем я и занимался, но если не получится? Что дальше? Через N лет после окончания ВУЗа пытаться устроиться по специальности, когда добавится на рынок куча выпускников? Риск? Риск! И это еще не говорю о куче скепсиса от родных и друзей, ведь путь этот выбрал задолго до появления популярных сегодня SkillBrains'ов и подобных.

Период до резюме

Был выбран второй путь и началось оплачивание месячных подписок JavaRush. Практически рука набивалась просто отлично на большом количестве задач. Но многие базовые понятия Java все равно не откладывались в голове. Были попытки забить на JavaRush на время и читать книги. Это было одной из главных ошибок, какую не нужно повторять. Если не идет какая-то тема, то лучше читать конкретно статьи по этой теме, чем с нуля начинать пытаться читать кучу книг, дабы усвоить информацию. Я же рассуждал примерно так: сейчас найду отличную одну книгу, почитаю и продолжу обучение на JavaRush, получив от этого большой буст в скорости обучения. Но это абсолютно неправильно (нет, не топлю против чтения книг, это полезно, здесь упор лишь на то, что в начале пути практики должно быть больше, чем теории). Зачастую какой-то кусок информации можно усвоить совершенно неожиданно и даже по новичковой статье. Таким образом потерял много времени, даже больше двух месяцев на попытки учиться по книгам.

Но в итоге JavaRush был пройден почти целиком. По времени это заняло порядка 8 месяцев. Исключение составили лишь примерно 20-40 задач. И дальше пошел период познавания основ Android'а. Одногруппник отвечал на мои нубские новичковые вопросы и периодически подбадривал на нелегком пути. Но само познавание основ под Android на первый взгляд было мало похоже на то, что было в JavaRush, прекрасно помню эти ощущения. Еще перед изучением Android'а поставил для себя такие опорные темы без знания которых нет смысла искать работу:

  • изучить основы Android SDK и поработать с разными способами взаимодействия со View (от использования популярной тогда библиотеки Butterknife до DataBinding'а);
  • поработать с популярными на тот момент библиотеками (RxJava 2, Retrofit и тд) и фреймворком Dagger 2;
  • попробовать самые актуальные архитектурные шаблоны проектирования для написания расширяемого и поддерживаемого кода, так как предполагал, что возможно буду работать один на первой работе, как в итоге и получилось;
  • изучить Git на базовом уровне.

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

Небольшой мини-итог этого тяжелого периода. На протяжении всего этапа одолевали страх и неуверенность. Мне очень нравятся сравнения, какие привожу, когда описываю на что похож данный период:

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

Но этап подошел к концу. И наконец я, преодолев все сомнения, оформляю резюме.

Резюме и трудоустройство

Резюме оформил. В первый же день откликов удалось договориться с одной компанией о предварительном телефонном звонке. По звонку сразу начали проверять хард-скиллы в форме блиц-опроса и, как по мне, вопросы для джуна были заданы довольно нешуточные, тем более, что телефонный звонок предполагает незатягивание с ответом. По итогу этих ответов меня пригласили на собеседование. HR'а той компании за язык никто не тянул, он сам сказал, что перезвонит, даже если результат будет отрицательный. И, конечно, перезвона никакого не было. Дальше пошел период жуткого застоя. Примерно месяц мои отклики либо не были просмотрены, либо игнорировались и я понял, что устал. Решил взять паузу, ведь на периоде самообучения часто не позволял себе даже выходных. А тут по сути даже не обновлял резюме, чтоб оно выбилось в топ по критерию обновляемости.

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

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