Все статьи | Дневник студента

"Бэкенд разработчик" - начало

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

Покончим с прошлым.

Для полноты картины стоит рассказать предысторию, куда без неё.Совсем скоро мне будет 31 год и почти 10 из них были проведены в сфере торговли: электроника, мобильные гаджеты и пр. Продавцов в разное время и в разных местах называют по разному - торгаш, барыга и другие формы, после которых ты начинаешь чувствовать себя зашкварно. В последнее время компании называют продавцов в своем подчинении сотрудниками. Просто сотрудник. Как у спецслужб - ты вроде есть, делаешь какую то работу, но в любой "горящий" момент ты устраняют. Может тут кто то в теме).

Примерно лет через 5 в голове появились мысли, что я занимаюсь бесполезным для общества делом - ничего не произвожу, не оказываю каких либо полезных услуг, ничего не создаю. Просто беру то, что сделал другой человек, передаю в руки покупателя и ещё требую за это деньги. Конечно тут нужно упомянуть о разного рода "дополнительных" услугах, на которых строится бОльшая часть дохода продавца. Наверно, каждый может вспомнить свой опыт покупки электроники в крупных ритейлах: ты готов купить этот ноутбук, но выясняется, что если сейчас не оформить супер-мега выгодную услугу по настройке (дефолтной как правило) ОС и установке "ВСЕХ ИГР и ПРОГРАММ", то непременно ударятся об землю небеса, из морских пучин выйдет сам Люцифер (внезапно) и обратит твой новый ноут и холодильник в пепел.

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

Знакомство с болью.

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

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

Примерно две недели ушло на понимание основ HTML и CSS, потом начался JS, который, к моему удивлению, затянул меня с головой во все эти задачи, циклы, методы. Курс по JS был очень быстро мною освоен, дальше пошли селекторы CSS, на которых я решил, что фронтенд мне точно не нужен. Встал вопрос с поиском других толковых ресурсов и друг показал мне Хекслет. Около двух месяцев я уделял по 4-6 часов (иногда больше) обучению, упёрся в "испытания доступны только при наличии подписки", не задумываясь оформил её и продолжил обучение.

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

В силу опыта продавца и отсутствия привычки гуглить я доставал всех кого только мог (прошу прощения), задавал вопросы по делу и не по делу, верные и глупые. Некоторые особо стойкие ребята разжевывали информацию по крупинкам, что очень сильно помогало мне (иногда это единственный способ понимания мной какого либо материала), я жму руку этим мужам. Часто были мысли что я просто тупой и не способный, что я уже слишком стар для всего этого дерьма программирования; проводил время целыми днями в апатии с полным отсутствием желания что либо изучать. Тогда, по традиции, я снова задавал вопросы "а нормально ли, что так происходит". Половина ответов была о том, что я реально тупой. Наверно у читателей может возникнуть мыслей, что у автора нет собственного мнения и стержня, и он стремится переложить ответственность за принятие решения на других людей. Они могут быть правы.

Были и очень особые темы, к примеру, коллекции, в частности вторая половина этого курса. Я потерял мысль рассуждения учителя и почву под ногами: сразу же жутко не понимал задачу (не тему, а именно задачу), от этого бесился и смотрел решение учителя, ну и вы сами догадались почему у меня после этого горело еще больше. Дня три я просидел в таком состоянии, после чего решил попробовать просто пройти курс сначала. К моему удивлению весь курс дался довольно легко, возможно, из за того, что я помнил отрывки кода из решений учителя, но в любом случае пришло понимание этого кода. Потом я повторил такой же трюк с прототипами, не так хорошо зашло, но лучше, чем ничего.

В таких передрягах я докатился до середины января: было пройдено только половина профессии Бэкенд Node JS. С этими знаниями я как то ещё умудрялся помогать другим людям в обучении. Потом внезапно появилась какая то вселенская уверенность в том, что моих знаний вполне достаточно для трудоустройства. Но это будет в следующем топике, а сейчас попробую сделать выводы из процесса обучения, возможно они будут для кого то поддержкой, ответом на вопросы, или просто окажутся полезными:

  • Найдите причину, по которой вы хотите что то изучать. Для меня, как ни странно, основной причиной было то, что я просто хочу это понимать. Да, круто быть программистом сейчас, да, хорошая зарплата. Но я не думаю об этих вещах, когда чего то не понимаю.

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

  • Не ленитесь всё повторять. Если вам кажется, что если первый раз непонятно, то и второй раз понятней не станет - то вы заблуждаетесь. Часто в понимании какого либо вопроса помогает память - запоминаете какой то кусок рабочего кода, вставляете его в решение один раз, второй, третий. Разу к пятому придет понимание этого кода.

  • Помогайте другим. Но помогайте только тогда, когда готовы помогать, даже если придётся опускаться до “машинного кода”. У всех разные уровни понимания, и не нужно удивляться, если человек не понимает ваших абстракций.

To be continued...

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
25 мая 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
25 мая 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
25 мая 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
25 мая 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
25 мая 5 месяцев