Главная | Все статьи | Истории успеха

Со способностями не повезло, но упорства оказалось достаточно

Время чтения статьи ~7 минут
Со способностями не повезло, но упорства оказалось достаточно главное изображение

Всем привет. Меня зовут Денис, и мне удалось стать программистом. История моих скитаний на пути в IT будет скорее поучительной, нежели историей успеха, но давайте обо всём по порядку.

Ещё с детского возраста я интересовался компьютерами, и среди сверстников я считался продвинутым ”эникейщиком” к которому нередко обращались за помощью. Но вот ко всем своим начинаниям в изучении программирования или linux систем я терял интерес на самых начальных этапах: однажды попал мне в руки диск “Программирование на С++”, а позже и какая-то книга о Linux, но всё что я там видел начиная с первых же глав, было для меня чем-то запредельно сложным и непонятным. От части, причиной тому была сильная ограниченность в то время к доступу в интернет (дорогой и медленный dial-up по карточкам) и отсутствие кого-либо среди знакомых, кто разбирался бы в этих вещах. Да и мой интерес сводился лишь к тому, что передо мной совершенно неизведанные штуки, и не было никакого понимания зачем они могут мне понадобиться.

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

Скучная учёба очень скоро привела меня к нахождению постоянной работы с частичной занятостью (переросшей по окончанию университета в полную), на которой я задержался на следующие 9 лет. То была работа в интернет-провайдере, где я занимался прокладкой сетей и настройкой оборудования. Там я получил некоторые знания как работает интернет и локальные сети, и даже немного сертифицировался на умение работать с оборудованием. В целом, работа была довольно однообразной и серьёзного развития не предполагала, но неплохие условия и возможности заработка задержали меня там на долго.

Итак, поскольку с каждым годом моя работа всё больше напоминала “День сурка”, мысли о смене рода деятельности так же возникали всё чаще, а это привело к пониманию, что я, в общем, ничего больше не умею. Время от времени, обдумывая возможные варианты своей переквалификации, я вдруг осознал, что работая в сфере предоставления доступа в интернет, совершенно не имею представления из чего состоит и как работает то, что кроется за всеми этими ip-адресами и обменом пакетами: сайты. Так в январе 2016 года я решил, что мне следует разобраться, как всё это работает, и, если заинтересуюсь и справлюсь — это и станет моей новой работой.

Говоря о том, что я совершенно не понимал как работают сайты, я имею ввиду именно полный ноль: мои знания заканчивались на том, что клиент обращается к серверу и получает от него сайт, и какую во всём этом роль играет DNS – всё. Я начал задавать свои глупые вопросы гуглу, открыл для себя такие вещи как HTML, CSS, JavaScript, и мне даже не удалось сходу хоть сколько-нибудь схематично понять как это всё работает и взаимодействует между собой – я просто не мог мыслить в этих категориях. Постепенно, вникнув, начитавшись советов из интернета и вспомнив предыдущий минимальный опыт моих попыток постигнуть программирование, я оставил его на потом начал с возможно не самого обязательного навыка для программиста – вёрстке. Хоть сейчас вёрстка мне и видится вещью довольно тривиальной, по началу тяжело давалось даже понимание работы HTML, а всего её более-менее сносное освоение заняло у меня около полу года работы по вечерам. Да, способным меня явно не назовёшь.

Со способностями не повезло, но упорства оказалось достаточно. Изначально наметив для себя некий план, я сразу решил, что вёрстка – это лишь разминка, поэтому никаких мыслей о поиске работы верстальщиком у меня не было. Разобравшись с вёрсткой, я принялся за изучение JS, и, конечно же, делать это я начал по распространённому в сети принципу – изучение синтаксиса и примеров кода.

По сути, отсюда начались мои первые шаги в изучении программирования: я впервые читал про самые базовые сущности, и у меня недели уходили на понимание как работают функции, объекты и их методы и т. д. Чем больше я зарывался в изучения JavaScript, тем всё ближе ко мне подкрадывалось отчаяние: я мог разобрать ещё одну новую тему, но весь паззл упорно не складывался в целую картину, ранее изученное то и дело выветривалось из головы, не находя дальнейшего применения в моём дальнейшем изучении материала, а глядя на примеры чужого кода, я не верил что смогу когда-нибудь додуматься до подобного. Всё это казалось какой-то бездной информации, и постоянно присутствовало ощущение, что либо я не способен всё это постигнуть и это просто не моё либо, я что-то делаю не так. К слову, с Hexlet к этому времени я уже успел познакомиться, но ограничился лишь прохождением бесплатных курсов. Не знаю почему так, но мне почему-то казалось, что я и так не достаточно разобрался в основах, пытаясь всё это время научиться программировать штудируя синтаксис языка.

Так наступила весна 2017. К тому моменту, поняв что у меня не получается совмещать работу и держать приемлемую скорость и регулярность обучения, и понадеявшись на то, что посвятив всё время учёбе я достаточно быстро восполню пробелы в своих знаниях, а так же решив, что отступать я не собираюсь, я покинул своё прежнее место работы, и параллельно с обучением начал рассылать своё резюме в местные компании. Так же успел принять участие в курсе по JavaScript на стороннем ресурсе, где я вроде бы и сделал успешно проект, получил неплохую практику, но ощущений, что я стал увереннее себя чувствовать в программировании как-то не прибавилось. Что подтверждали провалы на немногочисленных собеседованиях.

Время от времени я натыкался сети на интересные посты от Hexlet и вебинары от Рахима и Кирилла, и решил снова пройтись по ранее пройденным курсам а затем оформить подписку. В процессе прохождения, становилось понятно, что тут я научусь именно тому, чего мне всё это время не хватало – именно программированию – сдвинуть мышление и начать думать в правильном направлении при решении задач и построении программы. Именно тот навык, без которого я то и дело впадал в ступор при возникновении очередной задачи. Я вдруг понял, что до сих пор у меня вообще не было понимания такой вещи как абстракция. Курс “Последовательности” был очень непростым испытанием. Да и курс про составные данные смог перевернуть сознание. Особенно не давала покоя мысль: насколько же мне проще давалось бы понимание этих конструкций из синтаксиса, пройди я сначала этот курс.

Пройдя рекомендуемый набор курсов для участия в первом проекте, я записался на первый проект Хекслета, на котором у меня мозги кипели как никогда. Во многом, причиной тому было ограничение по сроку в одну неделю, но навык скорости решения задач ведь тоже необходимо нарабатывать :) Результат очень порадовал: я наконец создал с нуля полноценное приложение, полностью понимаю что там внутри происходит и у меня теперь есть хорошее понимание о построении архитектуры приложений.

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

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

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

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

Спасибо Кирилу и Рахиму за их ресурс. Без Хекслета мой путь в изучении программирования был бы значительно длиннее.

Аватар пользователя Denis Blazhkun
Denis Blazhkun 18 октября 2017
1
Похожие статьи
Рекомендуемые программы
профессия
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 5 декабря
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 5 декабря
профессия
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 5 декабря
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 5 декабря
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 5 декабря
профессия
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 5 декабря
профессия
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 5 декабря
профессия
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 5 декабря
профессия
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 5 декабря
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
Старт 5 декабря