Из магазина одежды в кибербезопасность за полгода. Как я стал разработчиком без платных курсов
Когда я уволился из магазина одежды, посчитал, что денег мне хватит примерно на восемь месяцев. Восемь месяцев на то, чтобы научиться разработке и начать зарабатывать этим на жизнь. Рассказываю, как так вышло, и что я сделал бы по-другому сейчас.
Привет, меня зовут Саша, и уже два года я занимаюсь разработкой в Start X.
Семь лет назад я переехал в Ростов-на-Дону и устроился продавцом в магазин одежды — на первое время, чтобы было чем платить за еду и квартиру. За два года там вырос до управляющего, а еще через два года переехал в Москву, чтобы возглавить самый крупный розничный магазин в торговом центре Метрополис. Я проработал в этой сфере уже пять лет и должен был стать региональным менеджером, то есть управлять сетью магазинов в разных частях России.
После того как мы пережили ковид, в компании боялись, что придется закрыться еще на полгода, экономили деньги, развитие остановилось. Я хотел расти, а не ждать, поэтому понял, что пора менять работу.
Мое образование — и высшее, и среднеспециальное — связано с разработкой и информационными технологиями, я всегда любил эту тему. Когда думал, чем хочу заниматься дальше, из всех возможных сфер видел себя только в разработке, поэтому решил двигаться в эту сторону.
Я учился сам и бесплатно — почти всё можно найти на Ютубе
Я уволился, купил компьютер на отпускные, которые мне выплатили, и на полгода засел дома, чтобы учиться писать код.
Мне тогда было 27, я менял сферу работы в сознательном возрасте, у меня уже была карьера в ретейле, амбиции и немаленькая зарплата. Поэтому целью было не просто заниматься чем-то интересным и начать что-то зарабатывать через восемь месяцев, а постепенно вернуться к прежнему доходу.
Я не хотел тратить деньги на курсы, потому что не верю в их эффективность и в трудоустройство после.
Кроме этого, всё можно найти бесплатно на том же Ютубе. Поэтому я учился сам. Начал с языков JavaScript и Swift, но потом решил сфокусироваться только на JavaScript, так как у меня уже были какие-то знания в веб-разработке.
Я сидел на сайте LearnJS — это самый популярный ресурс, который постоянно обновляется и c которого многие начинают учить JavaScript. Тогда я не до конца понимал, как могу использовать эти знания в реальном веб-приложении, поэтому просто писал на JavaScript телеграм-боты, всякие тестовые приложения, например, туду или чаты.
Это то, что можно было показать на собеседовании. А работу у меня получилось найти через шесть месяцев после увольнения из магазина одежды.
Самое важное для джуна — попасть к крутому технарю и не бояться вникать в смежные сферы
Я узнал, что есть стартап, которому нужен бэкенд-разработчик на аутсорс. Прошел техническое интервью — оказалось, что моих знаний и навыков достаточно для задач, которые предстоит решать. Так по договору ГПХ я попал в Start X.
Мне в работу передали самую первую версию продукта CTF. Сейчас это крутой интерактивный тренажер в формате интернет-банка, который помогает продуктовым командам получать навыки разработки безопасных приложений.
Тогда это была версия, которую собрали на коленке и использовали только внутри компании, чтобы привлечь сотрудников к теме безопасности. Потому что просто так их туда не затащить, но когда есть игра с призами, они сами начинают проявлять инициативу. Так как первая версия работала нестабильно, мне нужно было переписать продукт, чтобы исправить это.
По-настоящему мое обучение началось именно тогда. У меня был крутой тимлид, который учил меня разным штукам, за что я ему очень благодарен. Думаю, что самое важное для начинающего разработчика — попасть к крутому технарю.
Над продуктом работали два человека: я писал бэкенд, а мой коллега — фронтенд. В какой-то момент мы почувствовали коммерческий интерес к CTF и у нас появилась цель продавать его другим компаниям. Для этого нужно было переписать продукт на другие технологии, которые мне, как джуну, были не по силам. Так, в нашей команде появился еще один бэкенд-разработчик, а я стал вести проект как менеджер, потому что был в курсе всего, мог поставить и объяснить задачи. С этого момента CTF стал бизнес-проектом, а не просто внутренним тренажером.
На этом этапе очень пригодился пятилетний опыт в рознице, который научил меня работать в режиме постоянной перегрузки — когда у тебя миллион задач в единицу времени.
В магазине у нас были большие цели в рублях, определенный подход к обучению и индивидуальный план продаж для каждого сотрудника. Ответственность за выполнение этих показателей лежала на управляющем — это порождало большое количество операционных задач. Кроме того, были обычные для жизни магазина дела: принять товар, положить его определенным образом, сделать красиво, убрать, помыть. Ну и клиентский сервис — нужно было работать так, чтобы клиенты уходили довольными. Так как мультизадачности не существует, мне приходилось постоянно оптимизировать процессы, чтобы сделать работу лучше и быстрее.
Есть разработчики, которые не выходят из своей зоны компетенций, например, фронтенд-разработчик занимается только фронтендом: пилит логику для приложения, кнопочки и просто знает, что где-то там есть еще и бэкенд. А есть разработчики, которые меньше погружены в какую-то конкретную сферу, но могут написать и бэкенд, и фронтенд, и даже подевопсить немножко, а потом сразу потестировать. Я отношу себя ко второму типу, но это не значит, что я всё умею и могу.
Вокруг разработки есть много сфер, о которых раньше я знал только то, что они существуют. Поэтому в компании мне приходилось постоянно вникать в разные сферы, выходить из зоны комфорта и учиться новому. Мне нужно было не просто что-то сделать, чтобы научиться, а сделать хорошо, потому что завтра это будут продавать, и сделать плохо — не вариант.
Так я начал идти по пути бэкенд-разработчика, потом стал фулстек-разработчиком и менеджером проекта, а сейчас я лид разработки на другом проекте в Start X. Ну а к прежнему доходу мне удалось вернуться спустя год работы в компании.
Сейчас я понимаю, что обучение «в стол» было не лучшим решением
Когда я учился, у меня не было насмотренности и представления о работе реального проекта, который приносит деньги. Я видел много советов о том, что почитать, посмотреть и сделать, чтобы понимать, как выглядит работа программиста в таком проекте. Но это невозможно понять, когда ты еще ничего не знаешь. Нужно потратить примерно год, чтобы начать в этом разбираться. Если бы теперь с моими знаниями я вернулся в начальную точку, то изменил бы подход к обучению.
Сейчас я понимаю, что обучение «в стол» было не лучшим решением. Я просто загружал в голову новые знания, но не понимал, как применить их к коммерческому проекту.
Поэтому я бы выкинул все технологии, на которые тогда потратил время, а ко всем тем вещам, которые раньше пробовал и писал, добавил бы коммерческую составляющую.
То есть ставил бы себе задачу сразу заработать денег, а не просто побаловаться. Потому что даже проект за тысячу рублей уже будет восприниматься тобой по-другому, и ты будешь по-другому его делать. В этом случае потом будет легче начать работать в компании, быстрее разобраться в том, что нужно делать и зачем. Поэтому я и не верю в эффективность курсов. У многих из них нет коммерческого прицела, а если нет коммерческого прицела, то не будет и развития студента.
Новичку важно понимать, зачем он пишет код именно так, кто и зачем купит этот код, а не писать его только потому, что это задание к уроку. Задание ради задания — плохой подход. Задание для того, чтобы ты сделал какую-то штуку за деньги или удобный инструмент для себя, которым можно пользоваться каждый день — хороший подход.