Рубрика:
Карьера/Образование /
Рынок труда
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
Вакансия: Fullstack-разработчик
Что лучше для компании: ИТ-профессионал с узкой специализацией или, как говорится, многорукий Шива, особенно если речь идет о разработке? Ведь зачастую ИТ-проект медленно развивается именно из-за того, что backend-специалист и frontend-разработчик не могут никак договориться. Так может лучше взять одного профессионала, который умеет и то, и другое? Представители компаний и организаций рассказали, когда и каких кандидатов они рассматривают на позицию Fullstack-разработчика.
1.Какими знаниями и навыками должен обладать Fullstack-разработчик? 2. Каков его инструментарий? 3. Каковы требования компании к его уровню образования? 4. Какие требования предъявляются к опыту работы Fullstack-разработчика? 5. Есть ли особые требования, которые обусловлены спецификой деятельности вашей компании?
Юрий Гизатуллин, СЕО IT-компании Tiqum
«Следует отметить, что разработчик уровня middle не может быть fullstack-разработчиком»
Fullstack-разработчик должен иметь знания и умения как в back-end, так и в front-end, независимо от языка программирования и стека, в котором он работает. Если он также способен заниматься инфраструктурными задачами, например, настройкой сервера и развертыванием приложения, то это увеличивает его ценность, как профессионала.
Однако недостатком fullstack-разработчика является то, что ему не хватает времени для глубокого изучения какого-либо вопроса, поскольку ему приходится равномерно распределять свое время между front-end и back-end. Тем не менее, преимущества перекрывают это.Например, меньшее количество людей можно задействовать для реализации небольшого MVP-продукта.
Кроме того, в крупных проектах fullstack-разработчики являются взаимозаменяемыми, что упрощает распределение задач. Они также могут быть хорошими тим-лидерами, поскольку понимают и back-end, и front-end, и могут эффективно коммуницировать с командой разработки.
Хотя высшее образование в области информационных технологий или смежных областях является полезным, куда важнее иметь практический опыт работы в back-end и front-end, начиная от 6 лет. Следует отметить, что разработчик уровня middle не может быть fullstack-разработчиком.
В нашей компании нет особых требований к fullstack-разработчикам. HR-специалисты оценивают его менеджерские способности и софт-скиллы в зависимости от того, на какую позицию он претендует – стать лидером или разработчиком.
Михаил Крыжановский, CEO и кофаундер Runello.ru
«В современном мире fullstack-разработчик очень востребован, поскольку он может самостоятельно создавать полноценные веб-приложения»
Компании могут предпочитать нанимать отдельных фронтенд и бэкенд- разработчиков, поскольку они могут иметь более узкую специализацию и глубокие знания в своей области. Однако, fullstack- разработчик может быть очень полезным в малых командах, где есть ограниченный бюджет и нужно создавать приложения с нуля.
Одна из ролей fullstack-разработчика – быть связующим звеном между фронтенд и бэкенд разработчиками. Он может работать с API, обрабатывая запросы, и связывать их с пользовательским интерфейсом. Также, он может участвовать в разработке архитектуры приложения и обеспечивать взаимодействие между фронтенд и бэкенд -частями приложения.
Fullstack-разработчик не может полностью заменить фронтенд или бэкенд- разработчика, поскольку его знания и опыт могут быть ограничены. Однако он может взять на себя часть работы, особенно в малых командах или при разработке прототипов. В любом случае, полезность fullstack- разработчика заключается в том, что он может работать как на фронтенде, так и на бэкенде, что делает его гибким и универсальным специалистом.
Кроме того, fullstack- разработчик должен владеть различными инструментами для разработки веб-приложений. Некоторые из них могут включать текстовые редакторы, такие как Visual Studio Code или Sublime Text, фреймворки для разработки, такие как Node.js или Spring, а также базы данных, такие как MySQL или MongoDB.
3. Требования к уровню образования fullstack- разработчика могут различаться в зависимости от компании и проекта. Однако, бакалавр или магистр в области информационных технологий может быть полезен для того, чтобы получить хорошее понимание основных принципов разработки веб-приложений.
Требования к опыту работы fullstack разработчика также могут различаться в зависимости от компании и проекта. Некоторые компании могут требовать опыта работы не менее 2-3 лет, в то время как другие могут быть более гибкими и готовы рассмотреть кандидатов с меньшим опытом.
4. Особые требования к fullstack- разработчику могут быть связаны со спецификой деятельности компании. Например, для работы в компании, занимающейся разработкой игр, могут потребоваться специализированные навыки. Также, в зависимости от проекта, могут потребоваться специализированные знания и навыки, такие как работа с мобильными устройствами или интеграция со сторонними сервисами.
В заключение, fullstack- разработчик – это универсальный специалист, который может работать как на фронтенде, так и на бэкенде веб-приложений. Он должен иметь глубокие знания и опыт в различных областях, уметь работать с различными инструментами и технологиями, а также постоянно обновлять свои знания в области веб-разработки. Fullstack- разработчик может быть полезен в малых командах, где необходимо создавать полноценные веб-приложения с ограниченными ресурсами, а также в больших компаниях, где он может связывать фронтенд и бэкенд- команды разработчиков.
Алексей Александров, генеральный директор компании SEBEKON
«Практика нашей компании показала, что оптимально рассматривать соискателей с опытом работы не менее четырех лет»
При выборе типа специалиста нужно отталкиваться от задач компании и в целом от ее типа и уровня развития. Если компания занимается заказной разработкой, то лучше брать fullstack-разработчиков. В таких компаниях обычно много проектов на поддержке, задачи по ним появляются спонтанно, как правило, они разноплановые. И бывает сложно выдернуть нужного узкого специалиста с другого проекта для их решения. Fullstack-разработчики справятся с этим лучше.
Если речь о продуктовой компании или о компании заказной разработки, сидящей на долгосрочных проектах, то можно сконцентрироваться на поиске узкоспециализированных спецов.
Что касается технологий и инструментария, которым должны обладать fullstack-разработчики, то лучше не привязываться к конкретным перечням. Опять же все зависит от потребностей компании: в одной будет нужен один пул технологий, в другой – иной.
Среди общих навыков выделим знание JavaScript и PHP, Laravel и React Native. Помимо этого, fullstack-разработчик должен знать особенности создания баз данных.
К сожалению, в своей практике отбора мы часто сталкиваемся с тем, что соискатели владеют разными языками программирования, но плывут на вопросах, посвященным базам данных.
Также требуются знания в области интеграций: REST API, протоколы авторизации, работа токенами и др.
Наконец, для fullstack-разработчика важно иметь минимальные знания по архитектуре, поскольку сейчас идет бум на разработку микросервисной архитектуры.
Из дополнительных знаний мы всегда смотрим на знание визуальных редакторов, работу с Git. Последнее время на собеседованиях стали спрашивать об опыте работы ли с ChatGPT.
Что касается требований к образованию, то законченное высшее образование – это уже плюс, независимо от специализации. Для нас это знак, что человек умеет учиться. При этом отсутствие высшего образования не повод выкинуть резюме. В ходе собеседования мы задаем вопрос: оставляет ли соискатель время на самообразование, из каких источников он получает новые знания? Большинство соискателей ограничиваются только чтением специализированной документации, единицы ищут знания в специализированных онлайн-медиа. При этом ни один человек не сказал, что читает специализированные книги.
Практика нашей компании показала, что оптимально рассматривать соискателей с опытом работы не менее четырех лет. Ранее планка была чуть ниже – три года, но кандидаты с таким опытом работы были откровенно слабыми, поэтому пришлось поднять.
В нашей компании к fullstack-разработчикам мы предъявляем следующие требования по знанию технологий: 1. Работа с фреймворком PHP Laravel. Если нет знаний по Laravel, то Node.js. 2. Работа с React Native или Vue.js. 3. Работа с фреймворком Битрикс. Мы постепенно отказываемся от 1С-Битрикс, но все же у нас еще много проектов на поддержке, разработанных на этой CMS.
Константин Глумов, старший разработчик Альфа-Банк
«Необходимо уметь пользоваться современными фреймворками, так как в современном мире свои велосипеды изобретать нет никакого смысла»
1. В понятие fullstack-разработчика вкладывают умение работать одновременно с фронт и бекэнд- частями приложения. Специалист должен хорошо уметь строить как серверную часть, так и пользовательский UI. Также желательно разбираться в базах данных.
Необходимо разбираться как устроено клиент-серверное взаимодействие, микросервисная архитектура, кэши, очереди и многое другое. Также неплохо знать SQL, чтобы писать запросы к базе данных.
3. Многие разработчики не имеют профильного образования и пришли в ИТ- сферу исключительно на знаниях, полученных самостоятельно. Соответственно высшее образование для Необходимо уметь пользоваться современными фреймворками, так как в современном мире свои велосипеды изобретать нет никакого смысла при приеме на работу стоит далеко не на первом месте. Главное – знание определенных технологий и умение решать поставленные задачи в заданные сроки. Работодатели смотрят на релевантный опыт по резюме соискателя. На собеседовании узнают, насколько хорошо он знает стек технологий. А для подтверждения этого могут попросить написать простое веб-приложение.
4. Fullstack-разработчик должен иметь опыт написания как фронтэнд, так и бекенд-частей приложения. Необходимо уметь пользоваться современными фреймворками, так как в современном мире свои велосипеды изобретать нет никакого смысла. Слишком трудозатратно.
5. В нашей компании есть четкое разделение на фронт и бэк- разработчиков. Более того фронт для Android и iOs также пишут разные разработчики. Максимальный уровень специализации обеспечивает лучшее качество. Без этого невозможно создание по-настоящему больших вэб-приложений, так как сложность и объем знаний слишком велик, чтобы уместить это в голову одного специалиста. Для бекенд-девелоперов время от времени появляются задачи, где нужно сделать простые UI -формы. Но они идут в рамках технического направления и не связаны с клиентской историей
Максим Няголов, CTO в Darwin Intelligence
«Одним из наших требований является опыт работы с большими объемами данных и высоконагруженными приложениями»
Fullstack-разработчик должен обладать знаниями и навыками как в области frontend-разработки, так и в backend-разработке. В частности, это включает в себя знание языков программирования, таких как JavaScript, HTML, CSS, Ruby, Python, PHP, а также знание баз данных и фреймворков. Это важно, чтобы он мог работать с клиентскими и серверными технологиями, понимать, как они взаимодействуют между собой.
Инструментарий fullstack-разработчика зависит от конкретного проекта, но в общем случае это может включать в себя текстовые редакторы, среды разработки, фреймворки, инструменты для тестирования и отладки, системы контроля версий, базы данных и т.д.
Наша компания не требует специального уровня образования у fullstack-разработчика, но, конечно же, предпочтение отдается кандидатам с соответствующим образованием в области информационных технологий. Мы рассматриваем кандидатов на позицию fullstack-разработчика с разным уровнем опыта работы. Однако желательно, чтобы у кандидата был опыт работы с использованием фреймворков и других инструментов для создания крупномасштабных приложений.
В Darwin Intelligence, мы часто работаем с крупными заказчиками и проектами, которые требуют высокой производительности и надежности. Поэтому одним из требований является опыт работы с большими объемами данных и высоконагруженными приложениями. В нашей компании важно иметь как специалистов с узкой специализацией, так и fullstack-разработчиков, которые могут решать задачи в разных областях. Разумеется, каждый проект имеет свои особенности и требования, и мы выбираем подходящих специалистов в зависимости от того, что нужно реализовать.
Алексей Канько, Senior Backend Developer, компания Revizto
«Обычно компании предпочитают кандидатов с высшим техническим образованием в области информационных технологий, но также могут рассматривать кандидатов с другими образованиями или без него, но с опытом работы в сфере ИТ»
Чтобы стать fullstack-разработчиком, нужно обладать навыками в области клиентских и серверных технологий, включая HTML, CSS, JavaScript, языки программирования (например, Node.js, Python, Ruby, PHP, Java), базы данных (например, MySQL, PostgreSQL, MongoDB), а также фреймворки для серверной разработки (например, Express, Ruby on Rails, Flask) и клиентской разработки (например, React, Vue, Angular).
Кроме того, fullstack-разработчик должен знать принципы тестирования и отладки приложений, уметь работать с Git и другими системами управления версиями, а также иметь понимание основных концепций и паттернов проектирования.
Инструментарий fullstack-разработчика может включать – редакторы кода (например, Visual Studio Code, Atom), системы управления версиями (например, Git), фреймворки и библиотеки (например, React, Node.js, Express), базы данных (например, MySQL, PostgreSQL, MongoDB), а также инструменты для тестирования и отладки приложений (например, Jest, Mocha, Chai).
Требования компании к уровню образования fullstack-разработчика могут варьироваться в зависимости от конкретной должности и опыта. Обычно, компании предпочитают кандидатов с высшим техническим образованием в области информационных технологий, но также могут рассматривать кандидатов с другими образованиями или без него, но с опытом работы в сфере ИТ.
Для работы в качестве fullstack-разработчика от кандидата обычно требуется опыт работы от 2-3 лет. Он должен включать разработку и реализацию веб-приложений, работу с базами данных, использование фреймворков и библиотек, а также умение работать в команде и соблюдать установленные сроки.
Каждая компания имеет свою специфику, поэтому требования к fullstack-разработчику могут варьироваться. Некоторые компании предпочитают кандидатов с определенным опытом работы в конкретных фреймворках или технологиях, а другие требуют знания в определенной отрасли или сфере деятельности.
Также, например, некоторые компании могут требовать от fullstack-разработчика знание специфических инструментов и технологий, связанных с их продуктами или услугами. Также возможно требование от fullstack-разработчика знания и понимания архитектуры системы, а не только ее компонентов. В общем, особые требования могут быть обусловлены конкретной спецификой деятельности компании и ее потребностями в ИТ-разработке.
Ахмад Боков, генеральный директор «Искусство Автоматизации»
«Многорукие» разработчики такого плана полезны в стартапах, когда проект еще небольшой и помещается в голове у одного специалиста»
В проектах, небольших по объему, fullstack-разработчик может быть очень кстати. Очень, кстати, «многорукие» разработчики такого плана полезны в стартапах, когда проект еще небольшой и помещается в голове у одного специалиста. Если это небольшой сервис, который только стартует, то есть смысл, даже рекомендуется призывать на работу на этой стадии fullstack-разработчика. Это может быть просто сайт, простая система, простое мобильное приложение, тогда Fullstack разработчик окажется кстати.
Но если мы говорим про проекты, средней и высокой сложности, системе, которая уже имеет свою историю, 2 или 3 года в разработке, то fullstack-разработчика может не хватить. Просто в одной голове не помещается сразу все знания о технологиях, которые используются на бэке, и которые используются на фронте.
Что касается навыков и знаний, которыми должен обладать fullstack-разработчик, то он должен уметь одновременно работать и с базой данных, и на фронте. Нужно понимать все тонкости JS фреймворках, то есть это довольно широкий спектр технологий.
Каков его инструментарий? У fullstack-разработчика, очевидно, идет объединение – фронтенд-компетенции и бекенд-комптенции. То есть, происходит объединение этих двух инструментов. Бэкенд-разработчик – это умение работать с базами данных, с настройкой серверов, с настройками виртуализации. Для fullstack-разработчика применимы также и фронтенд- качества – это умение верстать, делать сложные анимации на фронте. Мы уже понимаем по спектру обязанностей, что это очень широкий круг обязанностей.
Каковы требования компании к уровню образования? Часто встречаем разработчиков, которые раньше были очень далеки от разработки и это неплохо. Лично у нас каких-то специальных требований к образованию нет. Если человек умеет решать задачу, пусть он в прошлом был поваром, педагогом, не столь важно. Мы судим по результату. Если он умеет работать, то на образование лично мы не смотрим. Но это не значит, что в других компаниях нет особенных требований к этому пункту.
Какие требования мы предъявляем к опыту разработчика? Нужно понимать и смотреть, какие у специалиста были компетенции в обеих зонах проекта. Отдельно надо рассмотреть опыт работы на бэкенд- части и отдельно фронтенд- часть. Как правило, либо в одну, либо в другую сторону будет перекос. Невозможно во все стороны одинаково развиваться. Здесь нужно четко понимать, какие у человека слабые стороны, значит в этих качествах надо будет его усиливать.
Есть ли особые требования? У нас идет упор на бекенд-составляющую. Сервисы, которые мы пишем, как правило, просты на фронте, но сложны в бэкенд -части. Поэтому мы особый акцент делаем на бэкенд- часть разработки. То есть, если человек называет себя fullstack-разработчиком, то мы смотрим в первую очередь, какой опыт у него был на бэке и уже дальше от этого отталкиваемся. Потому что у нас бэкенд- часть намного сложнее, чем фронтенд.
Резюмирую: для старта проекта fullstack-разработчик подойдет, в более серьезных проектах незря разделяют компетенции. Потому что каждая отрасль – это отдельный пласт задач со своим инструментарием, требующим глубинного погружения.
Илья Мельников, руководитель Технологического департамента компании PARMA TG
«В рамках проектов мы много работаем над цифровизацией и оптимизацией бизнес-процессов. Для этого нужны знания BPM-решений. Мы используем Camunda, Activity»
1. Фулстек-разработчик должен владеть несколькими языками программирования, работать с базами данных, системами управления версиями, шаблонами проектирования и веб-фреймворками, применять практики DevOps. Кроме этого, понимать основы UI/UX-дизайна, уметь адаптировать приложения под различные устройства, включая мобильные.
4. Обычно на позицию фулстек-разработчика приглашают специалиста с высшим образованием в области ИТ, математики или других технических наук. Очень важно, чтобы у кандидата был опыт работы с языками программирования и фреймворками. На уровень мидл мы рассматриваем специалистов с практическим опытом работы в проектах не менее 2–3 лет.
У ИТ-компаний часто формируются дополнительные требования к фулстек-разработчикам: список зависит от сферы деятельности работодателя и особенностей проектов. Поэтому компании уделяют время обучению и адаптации персонала, а также развивают программы стажировок, чтобы вырастить профильных специалистов «под себя». Обычно в такие программы приглашают студентов старших курсов технических вузов.
5. Основные требования к разработчикам определяют масштабы и сложность ИТ-проектов. Для простых и небольших работ вполне достаточно одного универсального фулстек-специалиста. В крупных комплексных проектах, как правило, необходима команда разработчиков, в которой каждый участник обладает специализированными знаниями как фронтенд, так и бэкенд.
PARMA TG одновременно реализует десятки проектов – от локальных небольших доработок ПО до создания информационных систем федерального масштаба, поэтому мы пошли по пути создания сбалансированной команды. Это означает, что у нас есть как фронтенд- и бэкенд-разработчики, так и универсальные фулстек-специалисты.
Каждый разработчик в нашей компании имеет сильную экспертизу в какой-то одной технологии, при этом программа профессионального развития такого специалиста обязательно включает формирование дополнительных компетенций в смежных областях.
В рамках проектов мы много работаем над цифровизацией и оптимизацией бизнес-процессов. Для этого нужны знания BPM-решений. Мы используем Camunda, Activity.
Среди других технических требований – умение работать с брокерами сообщений, например Kafka, RabbitMQ; средствами мониторинга и логирования, в числе которых: Graylog, Prometheus, Alertmanager, VictoriaMetrics, Grafana, Zabbix; инструментами юнит-тестирования и статическим анализатором кода; средствами защиты информации.
Сергей Радченко, директор по развитию бизнеса Hopper IT
«Прежде всего надо смотреть на успешные проекты в портфолио и умение применять новые технологии и инструменты разработки»
1. Fullstack-разработчик – это мастер на все руки в мире разработки. Он должен обладать навыками разработки как фронтенд, так и бэкенд- частей приложения, а также уметь тестировать и отлаживать код. Кроме того, он должен быть в состоянии работать с API и использовать сторонние библиотеки и сервисы. Из софт-скиллов важно умение работать в команде и эффективно общаться с другими разработчиками, дизайнерами и менеджерами проектов.
Fullstack-разработчик также должен иметь опыт работы с базами данных, такими как MySQL, PostgreSQL, MongoDB и другими, а также понимать принципы работы серверов и знать протоколы передачи данных, такие как HTTP и WebSocket. Умение работать с системами контроля версий, такими как Git, также является необходимым.
3. Мы в Hopper IT ценим образование, но не делаем дипломы главным критерием при найме. Важнее всего для нас – практические навыки и опыт работы, который способствует развитию проектов и компании в целом. Конечно, образование является прекрасным фундаментом для карьеры в ИТ, но без желания и усердия не обойтись. Мы ищем людей, которые готовы постоянно учиться, развиваться и расти вместе с нами.
4. Хороший Fullstack-разработчик должен иметь не менее двух лет опыта работы в полном стеке технологий, а лучше – от трех до пяти лет. Кроме того, важно не только количество лет, но и качество этого опыта. То есть прежде всего надо смотреть на успешные проекты в портфолио и умение применять новые технологии и инструменты разработки.
5. Мы верим, что каждый человек может быть талантливым и компетентным специалистом в своей области, независимо от специфики деятельности компании. Поэтому мы открыты для «стандартных» fullstack-разработчиков, которые готовы проявить свои навыки и знания в работе на интересных и сложных проектах. И всегда готовы погрузить сотрудника в особенности компании. eof
Ключевые слова: fullstack-разработчик, фронтенд, бэкенд, софт-скилл
Подпишитесь на журнал Купите в Интернет-магазине
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|