Интервью с разработчиком
Николаем Поляковым

Николай Поляков, разрабатывает веб-сервисы на JavaScript-фреймворках React/Redux и TypeScript.

В конце текста советы, с чего начать новичку.
Я буду выкладывать интервью с разработчиками, в которых ребята расскажут, как они стартовали, через сколько стали зарабатывать нормальные деньги и с чего лучше начинать новичку.
Евгений Гриценко
Основатель SaintCode Bootcamp
ЕВГЕНИЙ:
Чем сейчас занимаешься? На кого работаешь, какие проекты, какие технологии, за что отвечаешь на проекте?
НИКОЛАЙ:
На самом деле много чем :) Работаю в одной из крупнейших стоматологических компаний Ормко в мире в качестве senior frontend-разработчика. Они продвигают аналог брекетам, — пластиковые каппы, которые постепенно сдвигают зубы. Технология была разработана 20#nbps;лет назад, патент недавно закончился, теперь другие игроки могут вступить на рынок.

В веб-отделе нам надо обеспечить связь всех участников процесса: докторов, ребят, которые создают 3D-модели зубов, менеджеров (shipment operator) и производственный отдел.

В плане технологий я работаю с React/Redux, TypeScript, AWS, бэкенд на Java Spring. Основная сложность у нас сейчас в работе — переработать старый код (legacy на Java) и написать новый через веб-приложения (Single Page Application + API). Переход на SPA позволяет ускорить работу сервиса, так как сокращает количество обращений между сервером и браузером.

Нам сейчас требуются middle+ разработчики на JavaScript и Java. Можно написать мне на почту: nickolay.pol@gmail.com.
ЕВГЕНИЙ:
Какая мотивация быть на текущем месте работы?
НИКОЛАЙ:
Интересно работать в международной компании — США, Россия, Индия, все общаемся на английском языке, находимся в разных часовых поясах. Мне очень интересно получить понимание, как правильно делать международные проекты, где твоим продуктом пользуются люди по всему земному шару.
ЕВГЕНИЙ:
Если видишь себя на следующем месте работы, то каким оно должно быть?
НИКОЛАЙ:
Я хочу стать крутым CTO, уметь строить интересные и сложные системы, поэтому искал бы для себя что-нибудь с ещё большим уровнем отвественности за проект. Не обязательно, чтобы это была большая компания. Можно делать крутые вещи и маленькой командой.

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

Мне нравится Москва: и природа хорошая, и культурная жизнь присутствует, можно найти практически всё. В России далеко не самое плохое образование и система здравоохранения. Правда расстояния в Москве уматывают — у меня знакомая из Германии, например, после первого дня похода по достопримечательностям сдалась :)
ЕВГЕНИЙ:
После какой зарплаты на первое место выходит интересный проект?
НИКОЛАЙ:
Насчёт зарплаты: я бы сказал, что сейчас в Москве за 150−170к middle разработчику найдётся очень много проектов, из которых можно выбрать себе интересный.

Лично я считаю, что нужно делать «то, что ты можешь с теми возможностями, что у тебя есть и на том месте, где находишься», и что «возможности приходят с закатанными рукавами».

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

С другой стороны, делать то, что тебе изначально не нравится, очень непродуктивно, потому что не будет в этом развития — это будет съедать изнутри.
ЕВГЕНИЙ:
Так, теперь вернёмся в прошлое. Как пришёл в программирование?
НИКОЛАЙ:
Я ещё в школе изучал программирование, потом пошёл на мех-мат (Саратовский Государственный университет имени Н.Г. Чернышевского), по специальности «математик-системный программист». В универе админил, делал финансовые программы на Delphi, сайты разные на php.

Потом меня занесло в управление, занимался финансами. Дальше делал свой бизнес, не связанный с IT от слова совсем, — строительный бизнес. То есть не в IT я был где-то лет 10−11. Когда надоело — обновил инфу в голове о том как всё делается, и вернулся в IT уже как веб-разработчик.
ЕВГЕНИЙ:
Какие источники для обучения использовал? Были ли наставники?
НИКОЛАЙ:
Сначала использовал Coursera. Был отличный курс по веб-программированию от Гонконгского университета. Тогда понял отличие нашего образования от зарубежного.

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

Из наставников тогда были одногруппники по курсу, но мне кажется по вебу сейчас можно найти кучу инфы в интернете, главное — обладать критическим мышлением. Со временем пришел к выводу, что лучше всего изучать документацию и исходники, если есть.
ЕВГЕНИЙ:
Через какое время вышел на зарплату в 50к?
НИКОЛАЙ:
Я начал проходить курс на Coursera, через 2 месяца знакомый посоветовал просто разместить резюме — я думал, что мне ещё долго учиться надо. Был очень удивлён, что стали звонить по 3−4 раза в день по вакансии на позицию junior по веб-разработке.

Ходил по собеседованиям, записывал вопросы, на которые не мог ответить, готовился отвечать на них. Через 3 недели после размещения резюме вышел на работу. Моя первая зарплата как программиста была выше 50к раза в 2 с чем-то :)

Могу сказать, что прохождение собеседований — это отдельный навык, не всегда завязанный на актуальные знания, и его надо качать отдельно.
ЕВГЕНИЙ:
С чего начинать новичку?
НИКОЛАЙ:
Начните делать то, что вам реально нужно или интересно. Если интересен веб, то что бы вы сделали на нём? Интернет-магазин другу или родственнику, либо что-то, решающее вашу проблему или проблему кого-то рядом. Тогда и можно понять, будет ли вам вообще интересно заниматься этим всё время, какая часть работы больше нравится.

Если говорить про веб, надо попробовать сделать проект в котором есть Фронт — react, vue или angular, вёрстка, html, state-management, git; Backend — node.js, express (сначала можно заменить заглушками, эмулируя работу бэкенда); базы данных — например, MongoDB, а на самом деле любая. Bash, Heroku (можно научиться деплоить свои приложения, чтобы они были доступны в вебе). Если можете, изучите что-то побольше: AWS, Azure, Firebase.