Роман Чернышов – Веб-разработчик. Легкий вход в профессию (страница 7)
Представляю вашему вниманию интервью с моим братом Андреем Яровиковым, который является, что называется, «прирожденным айтишником». Он познакомился с миром электроники, микроэлектроники и программированием еще в дошкольные годы (более тридцати лет назад). Профессионал своего дела, «full-stack» разработчик фирмы Sinoby.
В каком направлении ты работаешь?
Разработчик веб-сайтов и различного рода внутренних сервисов компании.
Какое самое большое преимущество веб-разработчика full-stack?
Если ты «backend» или «frontend», зачастую свою работу ты делаешь лучше, чем «full-stack». Ты являешься хорошим винтиком в хорошо отлаженном механизме разработки. Если ты «full-stack», у тебя более широкий кругозор при программировании проектов. Желательно знание других языков программирования для понимания подходов и технологий. Из «full-stack» есть возможность вырасти в руководителя проектов. Есть понимание, как устроены реально работающие проекты и сайты.
Разработка на full-stack – есть ли в этом азарт? Правда, что работа с большим набором технологий не дает скучать?
Азарт есть всегда, особенно на первых этапах. Азарт приходит, когда занимаешься чем то новым. Глаза горят. Хочется всё сделать хорошо, но реальность такова, что всегда есть сжатые сроки. Почти всегда проект надо сделать ещё вчера, так как время программиста стоит денег, а заказчик и руководитель проектов должны экономить и свои, и деньги клиента. По этой причине в реальных проектах, чтобы успеть к сроку, часто приходится идти на компромиссы и писать не всегда понятный и красивый код. Для знания большого набора технологий надо уделять свободное время, которое никто не хочет оплачивать. Реальность такова: на работе тебя пытаются использовать для зарабатывания денег, и никто не хочет платить за твоё обучение. Набор технологий и инструментов даёт выбор, как сделать тот или иной проект максимально быстро и технологично.
Что самое сложное в full-stack?
Пожалуй, это опыт. Нужно много знать и стараться поспевать за трендами. Обычно это приводит к тому, что код, написанный, например «frontend», красивее и лучше, так как человек целыми днями только этим занимается и оттачивает мастерство, однако заказчику нужен реально работающий проект. Особенно если это «startup». И ему главное готовый продукт.
Правда, что узкая специализация ценится больше?
Скажем так. Ценится хороший разработчик. Специализацию всегда можно поменять. Это не проблема, начиная от определенного уровня навыков и технологий. Если ты «full-stack», ты можешь стать хорошим «backend» или «frontend». Количество вакансий обычно больше на «frontend» или «backend», так как руководители проектов набирают команду в уже создаваемый проект. Им нужен тот, кто будет создавать какую-то конкретную часть проекта.
Какой путь развития лучше: сразу в full-stack или что-то одно, но глубоко?
По моему мнению изначально желательно вкладываться в своё развитие. Изучать технологии. Попробовать то, что нравится. После того как определился, можно выбирать направление. Лучше всего начинать путь в разработке с углубленного изучения чего-то одного. Если станешь хорошим «backend» или «frontend» разработчиком, посмотришь, как у других работают проекты под капотом, сможешь пройти собеседование (отдельная тема), тебя возьмут в нормальную команду и подтянут твой «skill».
Как постоянно поддерживать уровень знаний, ведь технологий много?
Это самое сложное. Как я уже писал выше – никто не хочет платить за твоё обучение, поскольку тебе на работе платят зарплату, и ты должен её отбивать. Все заинтересованы в получении прибыли. Главный критерий – максимально быстро сдать проект и приступать к следующему. Приходится изучать технологии в свободное от работы время. Читать книжки в метро или в поезде после работы. Тебе должна нравится профессия, иначе встанешь на своём уровне и годами будешь делать одно и то же. Стагнация.
Правда, что full-stack разработчик в одиночку может построить большой проект уровня «управления всеми процессами компании»?
Когда меня спрашивают, можно ли сделать такой проект или такую функцию, я всегда отвечаю: можно всё, что угодно. Главное – время и деньги, которые будут выделяться на разработку. Обычно этот ответ нравится всем. Все понимают, что хорошо, быстро и дешево не бывает. Можно написать всё самостоятельно – это не проблема, но проект будет затягиваться. Можно нанять человека, который тебя разгрузит, только ему нужно платить зарплату, что удорожает проект. Можно нанять команду – это гораздо быстрее, чем делать всё самому, однако уже нужно хорошее финансирование.
Что бы ты посоветовал новичкам?
Как завещал Ленин: «учиться, учиться и ещё раз учиться». Видел и хороший плакат: «Теория без практики – мертва, практика без теории – слепа». Много практики. Пишите какие-то свои простые завершенные проекты, используя стек знаний. И всё получится.
7. Денежные потоки
Наваль Равикант
Раньше, лет двадцать назад или более, компьютерная тематика и уж тем более профессия в этой сфере привлекала лишь узкий круг людей, которых в свою очередь называли «гиками» (от англ. слова geek – «человек, увлеченный высокими технологиями»), и которые были рады работать почти за бесплатно (у программистов или системных администраторов, было даже правило: что-то сделать «за пиво», хотя-бы что-то). Сейчас направление «айти» привлекает многих «зарплатами», о которых не говорит в последнее время только ленивый. В этой главе я расскажу, какими путями «айтишнику» могут приходить деньги, возможно, подтвержу какие-то общепринятые мнения, или же опровергну. В любом случае, посчитать всегда интересно (особенно чужие денежки, правда?).
Однако давайте сразу условимся. Так как вы эту книгу можете читать в разное время, прошедшее с момента написания, приводить какие-то денежные суммы в абсолютных значениях не буду, просто потому что курсы валют постоянно меняются, цены скачут (растут), да и вообще инфляцию никто не отменял. Оперировать я буду в относительных величинах, например «средняя зарплата в столице». Для регионов можно брать значение «средняя зарплата в столице региона». Это позволит в любой момент времени понимать, о каких примерно цифрах идет речь. И вряд ли рынок ниши «айти» в относительных единицах изменится по отношению к другим нишам в ближайшие пару десятков лет.
В зависимости от того, какой путь в «айти» вы выбрали – найм, фриланс или собственные проекты, – будут определенным образом формироваться денежные потоки.
В найме вы просто получаете зарплату, то есть деньги от работодателя ежемесячно поступают к вам, на их количество влияет соблюдение вами рабочего графика (и трудового договора), уровень компетенции и немного (или много) удачи при устройстве на работу. Вопреки всеобщему убеждению, что зарплаты у всех «айтишников» высокие, скажу, – не у всех! Только у тех, кто является профессионалом высокого класса. Новичок может рассчитывать на сумму в половину от средней зарплаты. И новичком может считаться первые три года (а то и дольше) работы в компании. Да, грустно, не спорю, но такова реальность.
Имея хороший стаж, от пяти лет, и «прокачку» по всему «стеку» технологий, можно рассчитывать на 1-1,5, максимум 2, средние зарплаты. И только на отметке стажа в семь или десять лет можно говорить о сумме в 3 и более средних зарплат. Еще раз: друзья, может понадобиться десять лет, чтобы выйти на тот уровень зарплат, о которых все кругом говорят!
Во фрилансе аналогичным образом деньги от клиентов поступают к вам, но на их количество влияют иные факторы, а именно, умение находить заказчиков, грамотная оценка стоимости и сроков проекта, ваше усердие в работе и уровень компетенций. Как говорится, «волка ноги кормят». Тут с доходом дела обстоят несколько иначе, и самое интересно то, что новичок, выполняя узкий перечень простейших задач, за счет высокой скорости работы может в считанные месяцы (отточить навык) выйти на 1-2 средние зарплаты. Выйти на показатель, который в найме достигается лишь спустя годы.
Есть и обратная сторона: это – потолок, в который упирается каждый фрилансер, а именно – физическое ограничение по максимальному количеству выполнения заказов в месяц. И даже повышение уровня квалификации не в силах помочь. Дело в том, что задачи как были из разряда «все подряд» – и простое, и сложное, – так и остались. Высокая квалификация может просто не пригодиться. Если же фрилансер решит сфокусироваться лишь на сложных и хорошо оплачиваемых заказах, он рискует длительное время «сидеть» без работы. Достичь показателей в зарплате, максимального уровня найма, возможно, не удастся – никогда. Вы можете десять лет работать и получать тот же доход, что и в первые месяцы после входа в эту сферу. Неоднократно проверено на личном опыте…
В собственных проектах, опять же, интереснее: тут открывается поистине большое поле для творческих идей по части формирования бизнес модели и денежного потока. Вы можете получать деньги с прямых продаж исключительных прав на свой «продукт», или же с предоставления неисключительных прав на использование (авторское вознаграждение) с рядом ограничений для клиента (о правовых аспектах, авторстве, правах и лицензиях поговорим в следующих главах). Возможно, предоставление доступа с разовой оплатой или с оплатой помесячной или годовой подписки. SaaS (Software as a Service) – предоставление программного обеспечения как сервис.