Как стать начинающим веб-разработчиком: история Кирилла Ширинкина

Illustration of two adults and a child viewing portraits in an art gallery, focusing on a large central portrait of a stylish man while other artworks are displayed around. Illustration of two adults and a child viewing portraits in an art gallery, focusing on a large central portrait of a stylish man while other artworks are displayed around.

Проследить, в какой именно момент у меня появился интерес к программированию, получается с трудом. Зато моменты, когда этого интереса точно не было, я вспоминаю мгновенно.

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

Другое воспоминание: когда мне было лет 13-14, один мой школьный друг увлёкся программированием. Он писал на C++ простенький проигрыватель mp3 музыки. А я, посмотрев на то, что он делает, и на его успехи, решил, что программирование — это какая-то сложная и скучная штука, непригодная для моего мозга. Никакого интереса ни процесс, ни результат у меня не вызвали.

Но вот, спустя ещё год или два, отец спонтанно предложил мне установить Dreamweaver и научиться делать сайты. Сайты оказалось делать интереснее — пишешь себе HTML/CSS, и на экране сразу что-то вылезает. Тогда я, наверное, впервые прикоснулся к коду — пусть и через интерфейс Dreamweaver.

Я загорелся желанием делать сайты и делать их правильно. Я начал терроризировать знакомых IT-шников вопросами о том, как что работает и что мне нужно учить. Таким образом, Евгений Янусов, на тот момент ответственный за администрирование сайта журнала Навигатор Игрового Мира, стал моим первым ментором в IT, в обмен на помощь с наполнением сайта контентом.

Первыми упражнениями были вещи в духе "установить Jabber", "подписаться на пару блогов через Google Reader" и, значительно позже, "установить Linux". Эти задания сыграли очень важную роль — поток новостей с Habrahabr позволил быстро погрузиться в мир технологий. Статьи про те или иные языки программирования пробудили во мне интерес к их изучению.

Последующие задачи от Евгения были связаны с изучением вёрстки, но уже не через WYSIWYG редактор, а по-серьёзному. Так я стал верстальщиком. Сначала сверстал аляповатый личный сайт. Затем, в сотрудничестве с давним другом с форума того самого журнала НИМ, русскоязычный сайт о писателе Джаспере Ффорде. Затем, с этим же другом, сайт некой музыкальной группы из Москвы. И так вплоть до первого настоящего заказа.

Первые деньги я получил за смену вёрстки с таблиц на блоки для интернет-магазина. Заказ получил от программиста этого магазина, с которым я знаком, вы не поверите, с форума журнала НИМ. Кажется, за тот изнурительный квест по подгону вёрстки для IE6 я получил 3 000 рублей.

Поворот сюжета! Я познакомился с со-основателем mkdev Леонидом Сущевым на форуме журнала Навигатор Игрового Мира. Форум журнала Навигатор Игрового Мира — колыбель цивилизации mkdev.

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

Но одна лишь вёрстка меня не удовлетворила. За HTML и CSS пошло изучение JavaScript и попытки впихнуть в каждый сайт максимум jQuery плагинов. За фронтендом подошло желание делать и бакенд. Первое моё знакомство с ним вылилось в изучение парочки различных CMS, на которых я переделывал свой личный сайт fodoj.com.

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

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

Как оказалось, чтобы написать классное веб-приложение, нужно уметь не только фронтенд. На Хабре я пару раз натыкался на серию статей "Покорим Ruby вместе". В Интернете я натыкался на Railscasts, в которых за 10 минут какой-то мужик мог реализовать полноценные фичи в приложении. Подсознательно и сознательно выбор был сделан. Я начал учить Ruby.

А дальше — по той же схеме, что и с вёрсткой. Первые нелепые приложения. Последующие менее нелепые приложения. Работа фронтендщиком в различных Rails проектах. В какой-то момент - предложение работать за скромные 11 000 рублей и опыт от Димы Васильца. А дальше — сплошной хардкор, интенсивное изучение, недосыпы, рост доходов, рост опыта, и так — вплоть до переезда в Берлин. Уже в Германии, конечно, всё тот же рост, интенсивное изучение, очередная смена направления разработки, рост доходов. И вот так — уже больше 8 лет.

Какой совет дашь новичкам, который редко встречается или считается необычным, спорным?

Забудь о любых правилах в IT. Не слушай, если тебе говорят, что на изучение X потребуется полгода или год - ты сможешь научиться вдвое быстрее и начать зарабатывать деньги. Не слушай, если тебе говорят, что у программистов на X в стране Y есть потолок зарплат - потолок, наверное, и есть, но он минимум в 3-4 раза выше, чем тебе нашептали в Telegram/Slack чатике.

Кирилл делится лайфхаком, как сделать рутинную работу программиста интереснее, и не прекращать развиваться Читать

Как ты сохраняешь свои навыки актуальными? Как постоянно растёшь и становишься лучше как разработчик?

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

Топ 3 книжек для новичка

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

А новичку, конечно, нужно Самообразование веб-разработчика. Это моя первая и бесплатная книжка. Она предельно короткая и нацелена на то, чтобы даже полный новичок её прочитал и понял, с чего нужно начинать.

Спойлер: я начал работу над значительно дополненным, переписанным и улучшенным изданием Самообразования веб-разработчика. Опубликуем к февралю. Подпишись на рассылку, чтобы узнать об этом первым.

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

Топ 3 сайта/рассылки/источника-инфы на которые должен быть подписан каждый разработчик

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

Рассылки и подписки - это push модель. Десятки статей будут атаковать твой мозг ненужной информацией, отвлекая от важного. Научись анализировать свои навыки, находить свои слабые места и устраняй их.

Так, стоп. От нашей рассылки, конечно, не отписывайся. Мы пишем раз в несколько недель и почти всего полезное и не-рекламное. А вот от GeekBrains отпишись, там один мусор.

Покажи свой рабочий стол

Работаю я обычно откуда попало и для работы ничем, кроме ноутбука не пользуюсь. Поэтому вот вам фото деплоя mkdev где-то на каком-то эскалаторе.


Об эффективности обучения у Кирилла и остальных менторов mkdev мы рассказывали в цифрах подписчикам нашей рассылки. Получить отчёт об успехах наших учеников ты можешь, подписавшись через эту форму: