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

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 мы рассказывали в цифрах подписчикам нашей рассылки. Получить отчёт об успехах наших учеников ты можешь, подписавшись через эту форму:

Subscribe to our Newsletter

Let us send you the best of what we've discovered in DevOps, Cloud and Kubernetes, as well us occasional event announcements.

We are also preparing some ways to learn together: weekly challenges, free courses and more. Subscribe now to be the first to get those.