Опытного IT рекрутера точно нельзя испугать модными словечками или
техническими выражениями, а вот начинающему стоит разобраться во всех
тонкостях IT сферы. Узнайте, чем занимаются "front end", "back end",
"full stack" разработчики, чтобы быть уверенными в том, что вы с
твердыми знаниями подходите к выполняемой роли специалиста. Какие-то
различия - существенные, какие-то несут в себе большое количество
тонкостей, но все они позволят вам понять текущие потребности
IT-индустрии.
На сегодняшний день создается все больше и больше
различных веб-инструментов, программ и сервисов. Спрос на разработчиков
растет с каждым днем с такой же прогрессией. В связи с этим выросла
потребность в IT рекрутерах.
Сегодня мы поможем вам понять, кто такие "front end", "back end", "full stack" разработчики.
Front End разработчик
Когда вы видите наполненный жизнью сайт с привлекательным интерфейсом,
вам становится интересно, кто же этот волшебник, который так
профессионально с ним поработал. Именно в эту минуту вы думаете о front
end разработчике, даже об этом не зная. Любое визуальное отображение, с
которым вы работаете, производится потом, кровью и слезами front end
разработчика. GUI или «Графический пользовательский интерфейс» - это
визуальный фронт, на котором отображается экран, позволяющий клиентам
взаимодействовать с программным обеспечением. Любое из сегодняшних
устройств с прилагательным «умный», будет иметь интерфейс, который
запускает приложения, предоставляет доступ к веб-сайтам, и все это
создается разработчиком front end.
UI дизайнер или дизайнер
«Пользовательского интерфейса» создает пространство, в котором
происходит взаимодействие между человеком и машиной. С точки зрения
мастерства, данный процесс требует от программиста сочетания навыков
программирования и дизайна, и часто этот человек вовсе не должен быть
программистом.
Дизайнер UX ссылается на конструктор «User
Experience», в котором описывается путь, который пользователь
использует, и его общая эффективность. Front end разработчики также
должны думать над общим удобством использования, полезностью и опытом,
которые пользователь имеет при взаимодействии с программным обеспечением
и этот конкретный сегмент требует, безусловно, самых «гибких навыков»
программиста. Тем не менее, эта работа может выполняться также не
программистами.
Responsive design - очень трудная работа. Она
относится к процессу адаптации дизайна интерфейса к любому экрану, от
широкоэкранных настольных компьютеров и ноутбуков до мобильных
устройств, таких как планшеты и смартфоны.
Традиционно
разработчиком front end является человек, которому удобно работать как с
дизайном, так и с кодированием. Другими словами, тот, кому комфортно
работать с использованием простых инструментов проектирования и умеет
писать структуру веб-сайта в HTML и стилизовать его с помощью CSS-кода.
На данный момент самой большой проблей для front end разработчиков
является то, что веб-сайт, построенный только с использованием HTML и
CSS, будет полностью статическим. Если вы думаете о stickman на пустой
странице в качестве веб-сайта. HTML будет достаточно, чтобы нарисовать
его форму и CSS будет использоваться для его стилизации (сгустить,
покрасить его, добавить одежду и т.д.). Но чтобы заставить stickman
двигаться и реагировать, front end разработчику как следствие
потребуется что-то еще.
По мере усложнения и совершенствования
веб-приложений спрос на полный язык программирования Turing в интерфейсе
растет с большой скоростью, поэтому для анимации программистов -
stickman используют Java Script, который является языком
программирования на стороне браузера.
Back End разработчик
В прошлом back end состоял из физического компьютера и программного
обеспечения, предназначенного для запуска запросов через него. Сегодня
этот процесс стал куда более сложным: облачные серверы являются более
распространенными, трудоемкие базы данных и приложения микросервиса, но в
принципе back end по-прежнему остается процессом объединения сервера,
приложения и базы данных для решения проблемы.
Весь процесс
прочно закреплен в логике, сети процессов и запросов, разрешаемых за
считанные секунды, чтобы дать вам, как пользователю, определенный
желаемый результат. Выберите рейс из Нью-Йорка в Гонконг и вы находитесь
в зоне front end, нажмите клавишу поиска и вы перемещается в back end,
чтобы правильно вернуть вам лучший, самый короткий, самый дешевый рейс в
мгновение ока. Как только результаты будут отображаться для вас, вы
снова будете во front end. Если поисковый запрос выдал вам своевременный
и полезный результат, и вы не представляете, благодаря чему это
произошло, спасибо разработчику за завершение поиска, а также
бесчисленное множество других вещей, упрощающих вашу жизнь.
У
back end разработчика может быть множество обязанностей. От создания
базы данных и интеграции до обеспечения безопасности, а также технологий
резервного копирования и восстановления, также back end разработчики
создают мозг приложения.
Back end разработчики используют
различные технологии для кодирования основной вычислительной логики
информационных систем, конкретного программного обеспечения или
веб-сайтов. Они могут включать Java, C#, Python и языки баз данных,
такие как SQL и многие другие. Back end отличаются от разработчиков
front end тем, что работа back end разработчика полностью лишена
какого-либо визуального дизайна и основывается на логике и архитектуре
программного обеспечения, целью которой является предоставление
определенного результата. Иногда возникают проблемы с объединением back
end и front end, что приводит нас к человеку, который может обработать
обе части.
Разработчик Full Stack.
Разработчик full stack - это тот, кто хорошо работает как с бэкэнд, так и
с фронтэнд. «Чтобы быть более конкретным, это означает, что разработчик
может работать с базами данных, PHP, HTML, CSS, JavaScript и всем, что
находится между ними, также принимая во внимание преобразование проектов
Photoshop в интерфейсный код», - говорит Sitepoint.
Для
разработчиков full stack необходимо общее знание технологий из каждой
части процесса разработки. Это, конечно, означает, что они не будут
экспертом в какой-либо конкретной области, но скорее могут предложить
лучший обзор возможностей применения и возможности преодоления разрыва
между тем, как функционирует система и как она выглядит и ощущается для
пользователя. Возможно, это не требование дляработы, но разработчик full
stack обычно также понимает бизнес-логику, пределы дизайна и
пользовательский интерфейс. На ранних этапах развития бизнеса может
возникнуть большая потребность в разработчиках full stack, поскольку их
универсальность может быть полезна при разработке продукта, но по мере
созревания компании разработчикам требуется все больше и больше
конкретных навыков.
Full stack разработчик также может быть
отличным техническим специалистом. Он имеет широкое понимание технологий
и может предвидеть, какие будущие усилия по набору персонала должны
быть или какие технологии должны быть реализованы в дальнейшем.