Привет всем! Меня зовут Фаридун. В своем пути в мир разработки я неоднократно сталкивался с моментами, когда отчаяние казалось единственным компаньоном, а отказы накладывались печатью на каждом шаге.
В своей первой статье на Хабре я хочу поделиться своей историей становления Android-разработчиком: об отказах в академии, смене вектора, о своём первом годе работы и уроках, которые я смог освоить. Для большинства из вас я, возможно, не открою что-то новое, но, возможно, моя история поможет новичкам, которые, так же как и я когда-то запутались.
Начало пути
Все началось зимой 2014 года, когда в нашем доме выбило свет. Благо, в доме был электрик и мы с соседом вышли ему помочь, дело было мелочное, довольно быстро поломка была устранена и в доме вновь горел свет. По дороге обратно разговорился с соседом, это оказался довольно интересный и приятный человек, он тогда заканчивал технический колледж, насколько я помню. Я начал расспрашивать его о том, чем он занимается, он ответил непонятной мне тогда аббревиатурой SEO, и то, что помимо этого учится писать сайты на HTML+PHP. Он рассказал про то, как устроен интернет, и то, что есть такая специальность как вебмастер. Разговор с ним воодушевил меня и практически стал для меня отправной точкой в мир программирования. Как сейчас помню, я поднялся к нему c флешкой в руках, он закинул мне курсы по HTML Евгения Попова, и я принялся их изучать. Уже не помню, насколько тяжело/легко мне это давалось, но это сильно меня завлекло, я проникся этим и пытался впитывать информацию, как губка.
Спустя какое-то время, набив руку, как и многие в этот период, я решил, что было бы интересно начать вести свой блог о создании сайтов и заработке на них. Мне казалось, что у меня уже достаточно опыта для этого, хэх. Тогда мне было лет 15, купить домен на своё имя я не мог, поэтому пришлось вводить паспортные данные мамы. Я зарегистрировал домен, прошёл небольшой курс по WordPress, так как моих знаний явно не хватало чтобы написать свой движок и принялся делать сайт. Так как я изучал HTML, я смог довольно-таки быстро сверстать себе шаблон и натянуть его на WordPress, благо он был не сложный. Попутно я выполнял несложные задания на wmzona, получая свои первые деньги, но их разве что хватало на оплату интернета и содержание блога.
В это время я начинаю интересоваться тем, как это всё устроено, и узнаю, что программисты делятся на тех кто делает UI-часть (фронтовики) и BACK-часть (бэкенщики). C HTML/CSS я уже был немного знаком, поэтому решил попробовать что-то из BACK-части. Глаз пал на PHP, потому что информации в свободном доступе о нём было больше всего. Я делал свои простые макеты и писал для них незаурядный бэк, было прикольно. На этом мой путь прерывается… Школа, олимпиады по физике, смена фокуса и отсутствие веры в то, что это сможет приносить мне доход убивают во мне желание продолжать заниматься этим.
Возвращение к Backend: 10-11 класс
Я всё ещё поддерживаю контакт со своим соседом, мы уже довольно давно дружим. При встречах он частенько делился своими успехами, и рассказывал про то, что он полноценно перешел в SEO и занимается продвижением сайтов, причём неплохо на этом зарабатывая. Он активно предлагал свою помощь и хотел дать старт мне тоже в этой сфере, но немного проработав его помощником, я понял, что это не то, чем хочу заниматься.
У меня оставались тёплые воспоминания о backend и я решил попробовать вернуться туда. На глаза попался курс по Java, мне показалось это интересным, так как я мог одновременно делать и бэк, и фронт, используя один язык. Я почти год то изучал, то бросал, но как по мне, довольно неплохо разобрался в основах, также как и в present simple в английском, в Java всегда начинал с перых страниц учебника. Это всё продолжалось до тех пор, пока я не поступил в МГУ.
Учёба в МГУ
Я поступил на факультет Прикладной математики и информатики, обучение обещало быть интересным и насыщенным в плане написания кода. Но практически с первых уроков мы погрязли в математике. Первый курс по программированию, который мы начали, был C++, он мне показался интересным, но всё же душа лежала к Java.
Через какое-то время я начал понимать, что просто учась в вузе мне не стать разработчиком. Тогда мы с однокурсниками начали пробовать подавать заявки в академии местных банков, которые подготавливали для себя интернов в разных сферах: бэк, фронт, моби. По старой памяти я решил податься в бэк, курс был на C#, я вскользь посмотрел, что это и с чем его едят, он показался мне чем-то схожим с тем, что я уже изучал, некая смесь Java и C++.
Академия предполагала ряд собеседований, на которых определяли твою базовую подготовку, и некие качества, которые искала компания в своих сотрудниках.
Я сумел пройти лишь два этапа собеседований, и вот мой первый провал, первый отказ. Я был довольно сильно подавлен, ведь считал, что моя подготовка была хорошей, и ещё больше било то, что следующая академия будет лишь через год. Я старался забыть эту историю и решил погрузиться в учёбу, благо, с ней у меня пока никаких проблем не было.
Спустя почти год я снова увидел новость о том, что эта компания открыла набор в академию. На этот раз я хорошо подготовился и решил попробовать всё-таки попасть туда. Я успешно прошёл все этапы собеседований и попал в бассейн , в котором мы проходили базовые темы. По результатам него ты уже либо попадал в академию, либо нет. По непонятной мне причине, вместо того, чтобы изучать C#, мы неделю изучали JavaScript и сдавали потом на нём итоговый тест. Вторая попытка — второй провал. Это сильно ударяло по самооценке, ведь я видел, как проходили люди, которые на интенсиве показывали себя явно хуже. К слову, провалил не только я, но и несколько моих товарищей, которые, как и я, который раз пытались туда попасть. На этом я решил, что больше не буду пробоваться, самостоятельно продолжу изучать Java и попробую устроиться на стажировку.
Я учился, в свободное от МГУ время самостоятельно изучал Java. И тут от друга узнаю, что другой местный банк набирает академию мобильной разработки на Android. Я немного почитал про Android-разработку и увидел в статье уже знакомый мне язык — Java, решил, что нужно пробовать. Собрался духом, прошёл вступительный тест, потом собеседование, и вот чудо — меня наконец-то взяли в академию.
Обучение в академии
К сожалению, не могу сказать, что обучение в академии было таким, каким я его себе представлял. В первый месяц нас познакомили с базой, мы собрали своё первое HelloWorld приложение, узнали о Kotlin. Остальные два месяца мы тупо решали Google Codelabs. Не могу сказать, что это было бесполезно, но и особо полезно это тоже не было. Тогда я решил, что буду заниматься ещё и самостоятельно.
Тогда как и многие, наверное, Android-разработчики я открыл для себя StartAndroid и погрузился в самостоятельное обучение. И вот, спустя месяц, я уже написал себе довольно годный словарик, мое первое полноценно приложение. На мое удивление, уже с конца второго месяца академии (всего их было 3+2 недели на финальный проект) меня взяли на стажировку и поручили задание. О успех, впервые за 2,5 года ко мне повернулась удача, я не хотел выпускать её из рук и старался усердно работать.
Сейчас понимаю, что мне сильно повезло в том, в какую команду я попал. Все члены команды с радостью, или не совсем, отвечали на вопросы и помогали с трудностями. Работа становилась все интереснее, задачи сложнее, а на пороге был уже начало 4 курса. Мне всё хуже и хуже удавалось совмещать учебу и работу. Я понимал, что для меня сейчас важнее работа, это было тем, к чему я шёл несколько лет, и терять это я не хотел. Мир мобильной разработки меняется практически каждый день, выпасть из него на год было бы для меня фатально, а бросить ВУЗ мне не позволяло давление со стороны, поэтому я решил оставить всё как есть и уделять больше времени работе, нежели учёбе. Так я, наверное, с божьей помощью закончил 4 курс. Были долги, множество пересдач и моменты, из-за которых я мог вылететь ещё в середине 4 курса, но, к счастью для себя, я смог все закрыть. Единственное что оставалось — это даже не начатая дипломная работа. Я взял академ отпуск и решил вернуться к этому через год, когда более-менее устоюсь как разработчик.
Этот год стал для меня стартом карьеры и дверь в мир Android-разработки. Открыл для себя много нового, дорос до уровня Junior Android Developer. Своими силами смог написать приложение для AndroidPos терминала (z90) по приёму платежей, к слову, я потом переписывал его раза два, и участвовал в разработке мобильного кошелька.
Заключение
В настоящее время я работаю в качестве Middle Android Developer. Я осознаю, что прошедший год был крайне важен для моего становления в качестве специалиста. Кто знает, как бы сложилась моя жизнь, если бы я выбрал университет, который, кстати, я всё же закончил через год, завершив дипломную работу.
Сейчас я продолжаю развиваться, работаю в сфере финтеха и в свободное время экспериментирую с моими pet проектами.
Вот как я могу резюмировать свой опыт и предложить несколько советов:
Не бойтесь столкновений и отказов: как показывает опыт, отказы и провалы могут быть трудными, но они не являются конечной точкой. На самом деле, они служат важным урокам и могут даже открыть новые возможности.
Открытость к изменениям: важно понимать, что наш первоначальный путь или выбор не всегда может оказаться тем, что действительно нас удовлетворяет.
Самообразование имеет ценность: формальное образование имеет свои преимущества, но самообразование может быть так же, если не более, ценным. Самостоятельное изучение позволяет нам углубиться в те области, которые нас больше всего интересуют, и дает больше практического опыта.
Постарайтесь найти ментора, который поможет на вашем пути. Ментор многократно ускоряет ваш рост, видит ваши слабые места, знает, на что именно стоит делать упор в обучении, контролирует прогресс.
Обучение должно быть систематическим и ежедневным.
Чтобы научиться программировать, нужно программировать! Просто повторять код за кем-то недостаточно. Придумывайте проекты и реализуйте их, выкладывайте результат на GitHub, Play Market.
На этом у меня всё. Если у вас остались вопросы велкам в комментарии
Комментарии (9)
esselesse
17.01.2024 12:49+2есть, на самом деле, огромный пласт проблем в найме, о котором мало кто, почему-то, говорит.
это отсутствие ОС как чего-то обязательного.
вот пишешь ты рекрутеру, мол, чем же я так плох, что даже резюме вы не рассматриваете мое, и даже без эйчарского созвона выкинули меня в мусорку по имени "мы вам перезвоним"
и тебе ответ приходит, мол, "нам нужны более опытные".
и вот ты не понимаешь, в чем проблема:
1) это у тебя годов опыта в конкретном стеке не хватает (которых больше, чем требуется в вакансии)
2) у тебя нет какого-то узкоспециализированного стека по типу "написание либ для Хаскелла на Ирланге со вкраплениями брейнфака" (в вакансии написано "всему научим, вам только надо знать А), Б) и знание В) будет плюсом")
3) у тебя стремная фотка на резюме (...)
4) ...
а на последующие запросы ОС - закономерный игнор.
вот зачем так делать?..
и это много где - на вступительных в различные академии, при подаче CV на работу и так далее и тому подобное =(
удручает
pseudotech
17.01.2024 12:49Я так понимаю, что вы учились на факультете ВМК (вычислительной математики и кибернетики), если ваше направление было ПМИ. Можете ли поделиться своим мнением, что конкретно вам не понравилось в программе, помимо слишком большого количества математики? Я сейчас сам учусь на ВМК и по большей части согласен с данным утверждением: математики на ВМК действительно много, но упор делается не в сторону того, что действительно нужно разработчику, по крайней мере по основному учебному плану. Но может было что-то ещё, чего вам не хватало?
boronov Автор
17.01.2024 12:49Математики было много, но не могу сказать, что она была бесполезной. По моему мнению, она научила меня мыслить аналитически и решать задачи, поскольку от ее освоения зависела успешность прохождения курса. Отчасти я не был слаб в математике, но под конец учебы она стала сложнее, вероятно, из-за того, что я просто перестал уделять ей должное внимание, хех.
Было немало, по моему мнению, интересных курсов, связанных с программированием. Однако, к сожалению для меня, практически все они сводились к решению математических задач и построению графиков для этих решений, либо к решению задачи на одном языке (Haskell) и визуализации результата на другом (Python). Единственное, что запомнилось, - это попытка создать нечто подобное клиент-серверному приложению на языке C++.
Многие из моих одногруппников после окончания либо сменили профессию, либо начали заниматься чем-то совершенно иным. Возможно, во многих сферах это так, но они были совсем не глупыми людьми. Возможно, они просто не были готовы к требованиям рынка? Кому, в конце концов, нужны навыки решения сложных математических задач и дифференциальных уравнений?
Я считаю, что акцент должен быть на том, чтобы по окончании вуза у студента были конкретные знания для работы, а не чтобы он постоянно искал дополнительные курсы для дополнительного обучения, вращаясь в бесконечном круге.
SebastianP
17.01.2024 12:49А теперь ложка дёгтя в эту историю: В это же время одновременно с написанием статьи Фаридун на хабр фриланс подписывается на реализацию относительного простого приложения. Разработать приложение — Заказы — Хабр Фриланс (habr.com)
как подписывается - говорит сделаю, но нужно оценить время. Мурыжит целую неделю. запрашивает доп. данные. Обещает вскоре ответить. Я жду-жду , А Фарид статьи пишет...
И вот наконец он удаляет всю переписку, и меня в бан (в телеге). Я конечно все понимаю - мы не обязаны друг другу не чем - мы не успели заключить договор. Можно же принять решение и честно заявить мне: " ну не шмогла Я, не шмогла " . Но куда "проще" забанить меня.
Фаридун, так не поступают! Будем и эту статью удалять?
boronov Автор
17.01.2024 12:49Ну, во-первых, еще раз здравствуйте. Вы тоже не плохо сочиняете).
как подписывается - говорит сделаю, но нужно оценить время
Начнем с того, что никто не говорил вам, что решит вашу задачу. Я лишь поинтересовался, почему эта такая простая задача из раза в раз появляется на площадке. Возможно, проблема не в исполнителях?)
Мурыжит целую неделю. запрашивает доп. данные.
Никто никого не моросил, ничего я не запрашивал. Вы сами любезно предоставили дополнительную информацию по задаче и решили провести кол, так что будьте добры, если пытаетесь выдвигать какие-то аргументы, то представляйте не только себя в выгодном свете.
Я конечно все понимаю - мы не обязаны друг другу не чем - мы не успели заключить договор
Вы правильно понимаете, предоплату я с вас не брал, договор мы не заключали, следовательно, ничего вам не должен.
Смысла продолжать, думаю, нет. Для этого есть отдельная площадка, на которой можно составить отзыв или подать жалобу на мою работу, если вы считаете это нужным, и это не эта статья.
SebastianP
17.01.2024 12:49"из раза в раз появляется на площадке " - Нет, этой задаче всего 10 дней. из которых 7 ушло на вас. Я первый раз зареген на бирже и это было 10 дней назад.
Фарид вы так и не поняли о чем я: вам просто нужно было ПРЯМО сказать.: - Я пас . И все! но не вести себя как ребенок и банить меня.
Laurens
Я бы еще пункт добавил (свой опыт): стараться не прерывать обучение. Не в смысле - не делать перерывы 1-3 дня, а просто НЕ выпадать из процесса. Начал-забросил-отвлекся - снова решился-усомнился... и так по кругу.