Годы без программирования
Мне с раннего детства нравились фильмы, где что-нибудь происходило благодаря компьютерным технологиям. Я даже хотел в школьное время связать себя с программированием, но жизнь — такая штука, которая происходит с нами, пока мы строим совершенно другие планы. В школе у нас программирования не было вообще, впервые узнал о нем в колледже. Моим первым языком был язык BASIC. Тогда меня это оттолкнуло: было непонятно, как это можно использовать в повседневной жизни, и я в какой-то степени разочаровался (хотя просто нужно было заинтересоваться этим вопросом). После колледжа я сразу пошел в армию. После армии нужно было уже жить самостоятельно и поэтому пришлось исключить поиск призвания и устроиться на работу «хоть кем-нибудь». О программировании на этом этапе я благополучно забыл и находился в свободном плавании около 3-х лет.
Программист по жизни
Для меня осознание, что я хочу сделать карьеру в IT, пришло еще до обучения, в процессе обучения я еще сильней убедился в этой уверенности. Я постоянно чувствовал, что хочу чего-то большего. Во время мониторинга интернета в поиске трендов и вакансий я стал замечать, что на глаза все время попадаются статьи о программировании. В них говорилось, что научиться программированию легко, что это перспективно, что это позволяет создавать интересные вещи и т.п. Я стал искать информацию более усердно. Параллельно мой друг Денис, который уже работал программистом, советовал мне изучить это ремесло. И где-то в мае 2015 я понял, что именно этим я хочу дальше заниматься по жизни.
Первые книжки, первые шаги, первые разочарования
Как сейчас помню, я приобрел книгу по Java (я не знал, с какого языка хочу начинать, выбрал наобум). Я поставил себе цель изучить все самостоятельно: я знал, что очень много программистов-самоучек неплохо преуспели. Но спустя некоторое время я понял, что нахожусь в огромном океане IT. Чтобы сориентироваться, я подписался на различные тематические каналы на Youtube, читал статьи, обзоры и новости из мира программирования. Например, я очень люблю всякого рода игрушки, поэтому смотрел ролики по разработке на Android и даже написал простенькое приложение. Но в итоге я пришел к выводу, что хочу заниматься веб-программированием, созданием сайтов. Думаю, меня заинтересовало это направление, потому что оно проще для освоения. Например, тут не всегда нужно работать в команде (сайт под силу создать и одному человеку, а для разработки игр нужен дизайнер и т.п.). Статьи и интернет-исследования также говорили в пользу web: направление активно развивается и нужно «вертеться» в нем.
Я вовлекся в код с головы до ног. Очень много думал, какой язык выбрать первым.
Я мог не спать ночами, пересматривать по 5-10 раз видео, чтобы вникнуть, что происходит. Я уделял обучению все свободное время (я тогда работал по графику 2 через 2). Иногда появлялось чувство, что я делаю, делаю, а как оно работает на самом деле, до конца не пойму. Некоторые вещи я бросал. Как я понял потом, просто брался за сложное, не до конца изучив базовые вещи.
Не хватало поддержки, чтобы показать свой код и спросить, можно так писать или нет. Но меня никогда не посещала мысль, что я хотел бы заниматься чем-то еще. Когти программирования очень крепко вцепились в меня, и я понял, что это вот то, что я давно для себя искал.
Шутки в сторону: я иду учиться
О GeekBrains я узнал в интернете. Я очень тщательно подходил к выбору образовательной платформы: провел анализ всех найденных площадок и выбрал именно GeekBrains. Сейчас сложно припомнить, что именно я выделил, но мне безусловно понравилось то, как GeekBrains преподнес идею обучения и то, что не было «насильного» навязывания курсов. Еще я хотел бы выделить бесплатные курсы и вебинары. Их очень много. Именно благодаря бесплатному курсу «Основы программирования» я еще тверже убедился в том, что сделал правильный выбор в пользу GeekBrains. Мне понравилось, как преподносят материал. Еще я оценил домашние задания и работу над ошибками на следующих уроках. Обратная связь — это очень круто! Также мне понравилось, что GeekBrains — это не только сухие курсы, а еще и новостной портал, где можно узнать много интересного об IT.
После небольших раздумий я выбрал курс «Веб-разработчик». Преподавателей было несколько, каждый вел тот курс, который хорошо знал. Моими преподавателями были Юрий Жайворонок и Андрей Бестужев. Больше всего мне нравились моменты, когда задавали домашнее задание. Ты садишься, начинаешь разбираться, пересматриваешь запись урока, пишешь код и… все начинает работать, а ты в душе радуешься, как ребенок, чувствуется воодушевление такое, греет, что начинаешь разбираться в том, что раньше не знал. Это придает уверенности и мотивирует к дальнейшему обучению. Иногда было сложно поспеть за ритмом, но меня это все же больше мотивировало, чем отталкивало.
Карьера программиста с нуля до middle
Я не стал пользоваться гарантированной стажировкой от GeekBrains, так как в конце обучения я ходил на собеседования, хотя предложение мне поступило. Пришлось отказаться, так как я не успевал по времени, да и для будущей работы необходимо было выполнять тестовые задания. Сейчас я работаю в IT-компании. С самого начала трудоустройства пригодились знания, полученные на курсах. Работаю я уже чуть больше полутора лет и за это время было многое: я поддерживал уже существующие проекты, участвовал в разработке новых, продвинулся с позиции junior до middle и сейчас, возможно, буду расти еще выше. Также я иногда подрабатываю на фрилансе.
Как учиться? Советы бывалого
На первых этапах обучения, на мой взгляд, стоит обратить внимание на базовые основы языка, не пытаться понять все сразу (это и не получится J ), а сосредоточиться на отдельных блоках/моментах. Также я рекомендую составить план обучения, чтобы знать, на каком месте ты находишься в начале и к чему должен стремиться, попутно отмечая то, что уже изучено. Нужно не только повторять за преподавателем, а ставить задачи самому себе по каждой пройденной теме. Хочу предостеречь: может случиться так, что ты придешь к осознанию, что делаешь что-то и вроде как разобрался, но тебе вообще не понятно, как это работает. Это может начать демотивировать, могут возникнуть мысли, что недостаточно ума для освоения программирования, что «если не понятно даже в самом начале, то что будет потом» и т. п. Просто расслабьтесь. Я многие вещи понял только тогда, когда устроился на работу и проработал там полгода. Это нормально, сразу все в голове не уложится, главное не опускать руки. Это как новый мир — только войдя в него, вы не сможете моментально изучить и понять, что в нем происходит, нужно провести какое-то время в нем.
Глаза боятся, руки делают: сложности не должны пугать!
Самым сложным в моем обучении было то, что некоторые вещи я просто не понимал. Пересматриваешь урок, смотришь чужой код, но непонятно, как это работает, почему именно так, а не иначе реализовано. Я очень сильно на этом зацикливался. Вот уже идет следующий урок, а я все равно пытаюсь думать о прошлом, в итоге не могу и полностью вникнуть в новую тему, и разобраться в старой. Так делать не нужно. Как я уже писал выше, некоторые вещи понять досконально «с полпинка» нельзя. Спустя некоторое время я возвращался к своим работам, смотрел на них «ясным взором», понимал, что происходит в разных частях кода и они мне казались очень и очень простыми, хотя когда-то я ничего не понимал. Это понимание пришло только после того, как я поработал в компании начал решать реальные задачи, общаться с коллегами и узнавать новое. Так что главное — если действительно решили стать программистом, будьте готовы, что наступит момент, когда вы захотите бросить все к чертям, не будете уверены в своих силах. Это нужно перебороть, выкинуть из головы.
Программирование — это очень интересно. Когда ты создаешь что-то новое и этим пользуются другие люди – это дает самое сильное чувство радости, которое только можно испытать. Хочется работать больше и больше, изучать новые технологии и создавать, создавать и еще раз создавать.