Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Часто слышу мнение, что для работы программистом, человеку нужно со школьной скамьи изучить все языки программирования, иметь аналитическое мышление и высшие баллы по математике.. Отсутствие любого пункта становится преградой, через которую не переступить. Каюсь, сам так думал, после работы на стройке сидя у компьютера и играя в шутеры со строителями. Но, на своем опыте хочу показать, что бывает по другому.
Создание мечты
Как часто вы доводите задачи до идеального состояния? Чтобы каждый символ кода был в нужном месте, а тесты проходили минимум времени с максимумом покрытия функционала.
Вот и в других жизненных сферах с первого раза идеальный результат можно получить только если крупно повезёт или через боль и тысячи ошибок выстроится некая Система.
Не имея наставника, я поначалу хаотично крутился вокруг техники, с горящими глазами впитывая все связанное с компьютерами. Подозреваю, что это вызвано влиянием фильма «Темная звезда» 1974 года, увиденного в детстве - там люди пытались уговорить взбесившуюся планетарную бомбу не самовольничать, но не получилось.
"Любой компьютер заставлю подчиниться"
Наблюдал за IT форумами и мечтал стать программистом или системным администратором, хотя из-за троек по математике и незнания языков программирования согласился с первым же предложением работы на стройке. Работая физически, голова свободна для вечерних занятий с компьютером.
На тех же форумах собирал мнения о системах и языках, что привело к мешанине технологий.
Пытался освоить все языки программирования подряд - начиная с BASH скриптов перебрался на PERL и PYTHON, параллельно познавая linux. В итоге потрогал основные языки, но фактически ничему не научился.
Приведение мечты в порядок
Не зная куда идти, начал выстраивание своей Системы. Проверил площадки по трудоустройству и выписал технологии, нужные не мне, а крупным компаниям. Естественно искал подходящие к моим желаниям языки и практики.
На тот момент оказался очень популярным язык С++, но его я посчитал надстройкой над С и не заинтересовался, думая что освоив С буду знать львиную долю методик программирования. После прочтения “Язык программирования С” Кернигана и Ричи мнение поменялось, но отступать было поздно. Решал несложные задачи, сложные обходил и остановился в развитии. После неудач с самообразованием, решил устроиться в любую компанию с программистами, на позицию, связанную с IT, пусть стажером или принеси-подай. Это были самые страшные собеседования в моей жизни - даже половину вопросов не понял, не говоря о том чтобы ответить на них.
Вывод: маленькие знания во множестве областей намного хуже хороших знаний в одной, но нужной
Тогда на первые места по скорости развития вышли WEB технологии, и, нелюбимые форумами языки, стали часто мелькать в вакансиях. Попробовав сверстать простую страницу и добавив динамики, удивился легкости и скорости разработки. Осознав, что могу быть строителем интернета, да и сравнив зарплаты, с легкой душой оставил стройку и перешёл на работу фрилансером на год.
Я не бросал обучение и уже мог спокойно верстать сайты, писать несложную обработку на PHP, хотя ООП давался плохо и вся логика была прямолинейной и последовательной. На такой логике построил свой первый сайт с рецептами, который принес первый самостоятельный доход и больно ударил, сломавшись так, что знаний не хватило его восстановить.
Посещал собеседования с прежним нулевым результатом. Это стало причиной перехода на позицию инженера слаботочного оборудования в небольшую компанию со стабильной зарплатой и относительно свободным графиком. Возраст подходил к 30 годам, я был уже семейным и старался не рисковать. Мечта никуда не делась, но идти к ней стало сложнее.
Этап Kolesa Group
Я понял, что если не получается охватить всё популярное, надо выбрать одну компанию и учиться под её конкретные требования. Исследовав самые популярные сайты в Казахстане, освоил Phalcon до уровня «могу установить и сделать проект на две страницы» и пошел на собеседование в Kolesa Group. Собеседование я естественно не прошел.
При встрече показалось, что разговариваю с людьми, у которых есть ответы на вопросы, возникшие на моем пути. Самое важное, получил предложение через три месяца попробовать себя в Kolesa Academy — проекте для начинающих, после прохождения которого была возможность получить оффер от компании. Стоит ли говорить, что три месяца пролетели как один день?
Я уже не распылялся на всё подряд, а планомерно изучал то, с чем каждый день работали мои будущие коллеги. Благодаря «PHP7 в подлиннике» Д. Котерова я стал понимать ООП с его абстракциями на минимальном уровне. Это помогло и закончить текущие проекты и пройти в Академии отборочный этап. А через 4 года вырастить из себя Senior разработчика, которому еще есть куда расти, но делать это стало намного легче.
Вывод
Возможно сейчас будет завершающая фраза с пинком вдохновения как у Рокки, но я выбрал путь с наибольшим сопротивлением. Построить себя в IT можно в любом возрасте, главное понимать чего ты хочешь и не гнаться за всем подряд. Выстроить четкий план и следовать ему. Чуть меньше сна и чуть больше усилий на пути к мечте - основной залог её достижения.