Всем привет! Меня зовут Давид и еще год назад я только мечтал, что было бы, если я работал программистом.
Как я отказался от карьеры программиста
В старших классах (2002 – 2005) я 2 раза в неделю ходил на курсы основ WEB-программирования, которые включали верстку в блокноте, Delphi (очень-очень древней версии), основы Macromedia Dreamweaver, Flash Action Script и еще несколько древностей, о которых так сразу и не вспомнить. Курсы были скучными и 14-летнего ребенка вряд ли могли заинтересовать. Ну разве что у человека тяга к IT с самого рождения, чего о себе я сказать точно не мог. Учить языки разработки и стеки технологий, устанавливать программное обеспечение довольно тяжело: помимо основ, ты должен быстро наращивать «запас технологий и языков» для воплощения идей. А с неправильной подачей или неправильным изучением всю тягу можно свести на нет. В тот период все так и произошло: неинтересные лекции, теория без опоры на практику, практика без хорошей почвы… На экзамене, после сдачи билета с задачкой на Delphi, я услышал от преподавателя, что мне противопоказано программировать, хотя мини-приложения я написал. Я согласился и «забил» на программирование и разработку.
Вот и вся история =] Шучу!
Годы вне профессии
После школы я пошел в какой-то непонятный университет для получения (да простит меня мама!) никому не нужного образования. Я уехал из городка Майкоп в Республике Адыгея (это которая в самом центре Краснодарского края и граничит только с ним) вслед за старшим троюродным братом, с которым вырос. Он поступил в СПбГЭУ, а я спустя год в СЗАГС на факультет государственного и муниципального управления. После универа пошел в армию на год, а затем вернулся на родину и 2 месяца помогал бабуле на огороде. Так что с разработкой я не был связан никак почти 9 лет.
Потом я вернулся в Санкт-Петербург: мой приятель Артем Кульшин работал на заводе Hyundai и сказал, что поможет устроиться. Делать было особо нечего, висеть у родителей на шее не хотелось, и я устроился рабочим на завод. Я надеялся, что, проработав полгода, смогу устроиться менеджером проектов на этот же завод или куда-то еще, но дело было в 2013. «Взлетел» доллар, многих сократили, остальные цеплялись за место или меняли специализацию. Так мои полгода растянулись на три с половиной. Первый год я еще на что-то надеялся. На второй сменилось начальство на участке, и я подумал, что с «этими-то» наконец смогу реализоваться. На третий год я понял, что ничего не изменится, пока я не сменю работу.
Музыка нас связала
В детстве я отучился 7 лет в музыкальной школе по классу аккордеона. В университете освоил струнный инструмент, а до этого играл с друзьями и в ансамбле на ударных. Мне посчастливилось играть в группах с разными людьми, некоторые из них стали моими друзьями. На первой репетиции, когда я знакомился с ребятами из группы, я поинтересовался, кто чем занимается, и Алексей Корнюшкин рассказал, что программирует почти 10 лет. Он стал моим первым наставником: сразу стало интересно, что он разрабатывает и как, а после репетиций или посиделок с друзьями он рассказывал, что да как. Помимо Леши, еще несколько моих друзей – старых и новых, – занимаются программированием. Мне показалось это интересным и я начал смотреть видеоуроки на YouTube. Совмещать это с заводом было достаточно сложно, но дальше – только хардкор =]
Случайности не случайны
«Поигравшись» дома с видеоуроками, я решил записаться на дистанционные курсы. На работе меня точно бы не отпустили на какие-либо очные дополнительные занятия: у начальства был интерес только в том, чтобы я работал, не косячил в сборке автомобилей и не болел. На заводе ты еще одна часть конвейера, только более гибкая. Я работал в три смены, неделями, то есть неделя – с утра, неделя – с обеда, неделя – в ночь. И так без остановок, от звонка до звонка.
Я записался на GeekBrains, курс PHP, как мне и рекомендовал Алексей. Начал с основ HTML, CSS. Выбрал GeekBrains случайно – нужны были курсы с возможностью дистанционного обучения. Моим первым преподавателем стал Александр Пряхин. Тоже совершенно случайно попал к нему: стеснялся начинать обучение и думал, к кому бы пойти.
Тернии на пути программиста
Если первый курс прошел достаточно просто и более-менее уверенно, то второй и третий были почти непосильны. Совмещать учебу с работой на заводе было ужасно сложно. Рабочий день сборщика на конвейере длится 8 часов с небольшими регламентированными перерывами. Всего выходит больше 9 часов, плюс время на дорогу в область, куда не ходит общественный транспорт. После рабочего дня я успевал обычно только поесть, принять душ и лечь спать. Теперь пришлось ко всему этому приплюсовать повторы вебинаров (на живых уроках я был 30% от всего времени).
Для меня курс PHP стал адом: нужно было с лету «хватать» термины и понятия, а неподготовленному человеку это достаточно тяжело. Я попросил о повторе: решил вернуться к преподавателю, который вел первый курс – я к нему привык и надеялся, что учеба пойдет понятнее. Так я понял, что повторение реально мать учения!
Личный рецепт успеха
Читайте больше. Я настоятельно советую выделять время на рекомендованную литературу, несмотря на усталость и рабочие будни. В книгах — сила!
Практикуйтесь! Выучил – экспериментируй с полученными знаниями, ну кроме рекурсивного удаления директорий и содержимого =].
Практикуйте самообразование и задавайте «правильные» вопросы. После основ PHP я сам изучал объектно-ориентированное программирование, основы ES и всего, что можно найти в сети. Рекомендации – как ниточки к клубкам из новых знаний. Погружаясь в вопрос, ты постоянно находишь что-то новое и удивляешь «бывалых», что я и делал, задавая «правильные» вопросы наставникам (задавать вопросы тоже нужно учиться). Некоторые были рядом, а некоторые – по удаленному соединению; лояльность и feedback – это немаловажно.
Используйте best practice на свой лад. Многое уже решено и иногда стоит «подсмотреть», чтобы научиться. Еще в начале 2 курса я стал искать возможные пути смены деятельности: мониторил вакансии и требования по ним, брался за выполнение тестовых заданий. Еще не зная ООП, я написал приложение типа записной книжки. Это было сложно: я писал код на основной работе во время перерыва, карандашом в блокноте, а дома тестил его на старом компе. Меня тогда не взяли и это стало толчком изучить ООП глубже.
Я снова и снова делал тестовые задания, отправлял «похвастаться» наставникам, чтобы услышать их замечания. Собственно, второй курс стал интересным, когда я начал изучать паттерны проектирования.
Самое необычное и сказочное в этой истории
К концу 2 курса PHP Александр предложил мне стажировку, так как к тому времени стало ясно, что курсов на GeekBrains мне мало. Я обрадовался, так как ждал с нетерпением обещанной стажировки от GeekBrains. Спустя пару писем я понял, что к курсу это уже отношения не имеет и меня зовут на реальную работу Junior Developer’ом! Моему счастью не было предела =).
Последний месяц в Петербурге я даже толком не программировал и не учился – готовился к переезду. Все складывалось как в калейдоскопе: заявление об увольнении с завода, самый чудесный последний день там, 5 дней на отправку вещей и переезд в Москву, поиск жилья и обустройство на новом месте. Еще я купил новый комп.
В компании, где я теперь на испытательном сроке, достаточно жесткие условия отбора претендентов. Надеюсь, что смогу осилить технологии, которые теперь меня окружают, и стать хорошим разработчиком.
Продолжаю учиться =)