Pull to refresh

Как я стану веб-разработчиком… и стану ли?

Reading time7 min
Views25K
По следам своего недавнего интервью и на правах пятницы публикую более подробный рассказ про свои планы по переходу из конструкторов в веб-разработчики для обсуждения и получения советов от сообщества. Пишу исключительно от себя, никто над душой не стоит и текст не вычитывает, нет скрытого подтекста и уловок HR менеджеров, как это бывает в других статьях об успешной переквалификации.

Пролог


На Хабре частенько проскакивают статьи на тему «из таксистов в программисты за 9 месяцев»… А что если я только собираюсь преодолеть этот путь? И вдруг не получится? В любом случае, я хочу немного рассказать о себе, чего хочу и почему решил пойти таким путем. Это не очередная success story и, возможно, никогда таковой не станет, но думаю найдутся люди, которые увидят в этих строках себя, свои страхи и отговорки и решат что-то изменить. Хочется рассказать о том, что уже было сделано, а что только планируется, и получить обратную связь от бывалых специалистов области. Итак, пройдемся по порядку.

Немного о себе


Анатолий, 27 лет
Город: Смоленск
Семейное положение: женат, есть дочь и ипотека
ВУЗ и специальность: НИУ «МЭИ», инженер АСОИУ
Служба в армии: радиоперехват ОсНаз ГРУ
Текущая профессия: инженер-конструктор 2 категории


В программировании я не совсем новичок, у меня есть определенный бэкграунд за спиной. Начиналось обучение с Бэйсика и Паскаля в средней школе, потом был Делфи, Си/Си++, PHP, JavaScript. Сейчас мой основной язык Go. Ну и конечно Си для микроконтроллеров.

Между четвертым и пятым курсом четыре месяца провел в Америке по программе бесплатной рабочей силы Work and Travel, где немного подтянул разговорный английский и много путешествовал (фото сделано в Силиконовой долине). После института сходил в армию по призыву, где служил за постом радиоперехвата и писал игры на VBA, о которых по возвращению рассказал на Хабре.

На завод я попал еще во время учебы в институте на практику, и после армии вернулся туда же, что хорошо отразилось на карьерном росте. В мои текущие задачи входит полный цикл разработки и сопровождения приборов газоанализа: от проектирования электрических схем до написания текстовой документации. Спектр задач очень размазан, делаем всё и сразу. Здесь появился первый опыт написания и поддержания серверов сбора телеметрии с датчиков. В качестве языка для бэкенда выбрал Go, а для фронтенда Vue.js.

Мой путь в вебе


Еще со студенческих времен я немного (преимущественно в качестве хобби) промышлял созданием / допиливанием / поддержкой сайтов на готовых движках и написанием под них различных парсеров на PHP: картинки, товары, статьи, комментарии. На этом мои познания в вебе до недавнего времени заканчивались.

С Go я познакомился в прошлом году, выбрав его в качестве языка для рабочей задачи: требовалось поднять сервер для сбора телеметрии с датчиков по TCP. Знакомство прошло успешно, я достаточно быстро смог решить поставленную задачу и стал дальше углубляться в изучение. Прошел два курса от Mail.ru на Coursera, решил на нем еще пару прикладых задач, одна из которых крутится на Heroku и выручает меня по сей день: прогоняет через себя и отдает мне ролики с видеохостингов, ибо у нас на работе заблокирован доступ к видеофайлам.

Также год назад начинал писать браузерную io-игрушку JS (Phaser) + Go на вебсокетах. За основу взял идею и графику старой bluetooth игрушки BiPlanes с намерениями добавить несколько типов игры (Death Match, Capture the Flag, Rugby) и деление игроков на небольшие комнаты по 10 человек.



Долго думал, как организовать AI для ботов, но так и не придумал и к сожалению работу приостановил, т.к. сейчас занят другим проектом, о котором далее.

Встала задача по знакомству разработать автоматизированную систему управления наружным освещением: сюда входило проектирование самого устройства и написание серверной и клиентской частей для управления. После разработки и сборки платы на написание ПО под микроконтроллер взял в подмастерье коллегу, а сам тем временем занялся серверной частью. В задачи сервера входят периодический опрос параметров устройств через TCP и поддержка REST API для SPA. Для клиентской части взял Vue заготовку админ панели, связал с серверной частью посредством JWT и постепенно наращиваю функционал обеих частей.

На данном этапе это выглядит примерно так (там два яруса плат, если что):









Сейчас ведем переговоры об урегулировании отношений, инвестициях и дальнейшем развитии системы.

В процессе работы я понял, что мне очень не хватает знаний по SQL: я банально не понимал, как работает запрос на соединение двух таблиц. Начал искать, где бы подтянуть свои знания в этой области: немного почитал / посмотрел теории и взялся за практику на сайте SQL-EX. Очень доволен результатом: прорешал более 80 задач и получил базовый сертификат, теперь в SQL я чувствую себя немного уверенней. Планирую постепенно прорешивать задачи на расширенный сертификат.

Текущая работа предусматривает обильное число командировок по просторам нашей необъятной родины. С того момента, как я заболел идеей профессиональной переориентации, я начал подстраивать свои командировки таким образом, чтобы проездом через Москву или Питер попадать на всевозможные митапы, которые так или иначе затрагивали веб программирование.

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

Почему я решил сменить работу


Если кратко, то я просто заскучал. Последний год не было интересных проектов, нет разработок новой техники. Вся работа является какой-то незначительной, мое развитие просто остановилось. Хочется работать и быть полезным, в конце концов.

Работая на заводе, чувствую себя отстающим от мира сего. Сколько современных технологий проходит мимо нас?! Да что говорить, когда я единственный в отделе, кто использует Git? Остальные сотрудники, которые называют себя «программистами», до сих пор сохраняют программы по разным папкам и периодически теряют «нужную» версию.

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

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

Мои планы


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

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

В ближайшем будущем планирую много времени посвящать чтению книги «Высоконагруженные приложения» Мартина Клеппмана и таки дочитать ее до конца, она положительно сказывается на моем осознании, чего же у вас там, в Вебе, происходит. И это вовсе не уловка на фоне недавней статьи, интервью было составлено еще за месяц до этого, я правда ее читаю… Узнал я о ней из интервью Oh, my code с преподавателем Golang курсов Василием Романовым из Mail.ru. Хотя чего я оправдываюсь?!

Мои страхи


Я уверен, что подобные страхи есть практически у всех, кто хочет сменить работу, даже не обязательно в новой для себя области. Тут за вас отчасти говорит так называемый синдром самозванца, нужно это понимать.

Страх #1 — Мало опыта для перехода на новую работу.
Да — мало, да — хорошо бы иметь больше, но опыт дело наживное: можно не знать какой-то конкретной технологии, но жизненный опыт и стремление развиваться никто не отменял. Я вообще считаю весь свой жизненный опыт уникальным: да я в армии со спутников скриптами отфильтровывал информацию о том, сколько холодильников загружают в Air Force One. Ну само собой не только это… но об этом история умалчивает.

Страх #2 — Компаниям нужны миддлы / сеньоры / лиды, но только не джуны
Да, статистика по вакансиям подтверждает это, но вакансии для джунов есть, и это главное. А кто говорил, что будет легко? Надо искать.

Страх #3 — Зарплата джуна в новой для меня области будет сильно ниже, чем я имею сейчас, а ведь мне надо содержать семью
Этот страх основной. Я надеюсь частично его компенсировать за счет более высоких ставок в ИТ в целом. Я понимаю, что возможно придется согласиться на некий даунгрейд по зарплате, но я готов на это решиться ради бОльших перспектив, тем более жена недавно вышла из декрета и мы потихоньку начинаем вставать на ноги после двухлетней «голодовки». Она меня в этом поддерживает, а на днях заявила: «А давай переедем?». И куда я могу поехать, имея опыт разработки только газоанализаторов?! Это еще больше мотивирует сменить профессию.

Страх #4 — Первая работа не должна быть удаленной
Я считаю, что с современными технологиями в организации удаленной работы вообще нет никаких проблем, будь то новичок или бывалый. Для меня ситуация складывается так, что в моем городе практически отсутствуют компании, которым могли бы потребоваться бэкенд-разработчики: есть только небольшие веб-студии, которые клепают сайты-визитки, так что поднабраться опыта сначала на офисной работе у меня наврятли получится. Тут я готов рассматривать вариант временного переезда на стажировку в Москву или Минск с дальнейшим продолжением работы удаленно. Судя по всему такое практикуют.

Страх #5 — Мой возраст уже не совсем подходит для джуна
Ну тут надеюсь у меня уже и опыта чуть больше, чем у вчерашнего студента, а все остальное придется наверстывать своим трудом — я всегда считал себя способным учеником.

Мои цели


Конечно самая глобальная цель: стать удаленным бэкенд-разработчиком, снять тихое помещение и заниматься тем, что нравится. Да, я понимаю, что смотрю на мир через призму розовых очков, но я этого хочу и в это верю. Смоленск находится между Москвой и Минском в 4 часах езды от каждого, что должно быть весьма удобно в случае каких-то митапов, не будь я только железно привязан к проходной завода.

А локальные цели пока что выглядят так:

1. Дочитать книгу «Высоконагруженные приложения».
2. Начать рассылать резюме и проходить собеседования.
3. Больше практики… Возобновить работу над игрой.
4. Продолжить решать задачи от SQL-EX и начать разбираться в оптимизации запросов.

Заключение


Надеюсь рассказ получился не слишком сумбурным, жду ваших комментариев с замечаниями и предложениями. Кстати, завтра иду на свое первое собеседование в ИТ сфере.

Ссылки по теме:


1. Из хирурга в разработчики: как в 40 лет сменить профессию?
2. Как я за 9 месяцев превратился из неофита в разработчика ПО без отрыва от основной работы
3. Мой опыт войти в айти в сравнении с тамбовким таксистом
4. «Я три года борюсь с синдромом самозванца» — 10 вопросов программисту, выпуск 7
Tags:
Hubs:
+24
Comments129

Articles