что лучше фронтенд или бэкенд

workplace 2303851 1920 Рейтинг Топ 10
Содержание
  1. Из фронтенда в бэкенд
  2. Frontend
  3. Backend
  4. Впечатления от бэкенда после фронтенда
  5. Что в итоге
  6. Действительно ли back-end разработка более консервативна, чем front-end?
  7. Выбираем профессию frontend- и backend-разработчика: принципы и отличия
  8. Что такое frontend-разработка?
  9. Компоненты frontend-разработки
  10. Что такое backend-разработка?
  11. Компоненты backend-разработки
  12. Как взаимодействуют frontend и backend?
  13. Заключение
  14. Чем frontend отличается от backend’а? Объясняем на мемах
  15. Что такое frontend и backend?
  16. Чем отличается frontend от backend’a?
  17. Какие языки используют frontend и backend?
  18. Как взаимодействуют backend и frontend?
  19. Можно ли быть одновременно frontend и backend-разработчиком?
  20. Стать программистом: фронтенд vs бэкенд
  21. Чем занимается каждое из направлений
  22. Фронтенд-разработка
  23. Бэкенд-разработка
  24. Рынок труда для фронтенд- и бэкенд-разработчиков на PHP
  25. Динамика вакансий
  26. Уровень конкуренции
  27. Уровень зарплат фронтенд- и PHP-разработчиков (по данным hh.ru за 2021 год), в рублях
  28. Какой вы программист?
  29. Полноценное обучение

Из фронтенда в бэкенд

К переходам внутри департаментов иногда относятся по-разному. Кому-то просто привычнее видеть любые карьерные изменения внутри одной компании через призму роста должностей. Кто-то не считает возможным сменить сферу деятельности, даже если она смежная с текущей. Третьи же в принципе уверены, что переход из департамента в департамент означает, что человек занимает позицию “ни рыба, ни мясо”, и вряд ли добьётся чего-то значимого.

image loader

При этом некоторые работодатели всячески это приветствуют и считают чем-то вроде предохранителя от выгорания – человек сменит фокус внимания, сменит департамент или отдел, но не сменит саму работу в целом.

Меня зовут Костя, и я работаю в QIWI почти 4 года. Сегодня расскажу вам, как успешно перешел из frontend-разработки в backend.

Frontend

В QIWI я с конца 2014 года, начинал работать как разработчик iOS–приложений, и, в принципе, пару лет занимался разработкой QIWI-кошелька. При этом не могу сказать, что было скучно – задачи были довольно разные и в рамках одного приложения: мы занимались интеграцией кошелька с другими нашими сервисами, чинили баги, подтягивали анимацию. Кроме этого, был занятный опыт по созданию приложения для Apple Watch. Потом немного расширил фокус и поработал еще и над iOS-приложением для «Совести».

image loader

И вот примерно тогда я начал потихоньку переходить в бэк. В плане гибкой методологии это даже удобно – я переключался, в первом спринте мог делать какие-то задачки по бэкенду, а во втором проводить интеграцию API, которое я же и написал.

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

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

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

Кроме этого, знания хотелось именно диверсифицировать, чтобы не привязываться к одной платформе (Android мне немного не по душе, но и Apple все же сдает позиции). Ну и было желание в случае чего уметь взять и сделать себе приложение самому (и фронт, и бэк), если вдруг появится какая-то клевая идея. Пока вот не пригодилось, правда.

Backend

image loader

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

Никого не раздражало, что первое время я явно работал не так эффективно, потому что во многое надо было въезжать (но в долгосрочной перспективе команда-то все равно в выигрыше).

Конечно, у меня и до этого был небольшой опыт в разных сферах – мобильные игры и веб, но это все были, скорее, попытки нащупать что-то свое, нежели именно набивание практического серьезного опыта.

Впечатления от бэкенда после фронтенда

Нет работы с UI. Вообще. Раньше приходилось убивать время на исправление багов в UI, сейчас – нет. Минусы такого положения – конечный пользователь не видит результатов конкретно моей работы, как это было с фронтом. Я пытался определить, что же сложнее – бэк или фронт, и понял, что (лично для меня) тяжелее всегда было работать с многопоточностью и сетевым стеком. И тут уже не так важно – за фронт ты или за бэк. На фронте я просто столкнулся с такими задачами впервые, без подготовки, а на бэкенде уже с каким-никаким опытом.

Читайте также:  топ самых прикольных сайтов

Набраться опыта и делать что-то крутое можно в любой области, было бы желание и усидчивость, здесь практики сходятся – сделать что-то (и сделать хорошо), и чтобы это работало надежно и легко поддерживалось. Причем для бэкендера не столь критично наличие или отсутствие опыта во фронте. Если разраб учитывает все мелочи, сам продумывает корнер-кейсы и в целом понимает, как будут использовать его API, то он и без фронт-знаний сделает все, как надо.

Мне проще обнаруживать возможные проблемы как раз потому, что я знаю особенности реализации наших мобильных приложений. Но это не какая-то сверхспособность – это набор знаний, которыми так или иначе обрастает любой бэкендер, который часто работает с фронтами.

Что в итоге

Backend-разработка стала для меня еще одним хорошим опытом – я научился писать код и проводить ревью, продумывать архитектуру. Это на самом деле интересно.

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

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

Источник

Действительно ли back-end разработка более консервативна, чем front-end?

90% приложений сложнее hello world. Хотя и этот скелет меняется и развивается, пусть и не так быстро как хотелось бы, как разнообразные отростки (не консервативность, но более долгий жизненный цикл). Суммарный вес технологий и инструментов не меньше, и уж точно не менее динамично изменяющийся, чем у frontend-разработчиков.
Далее личный опыт на примере Java.
Лет 7-8 тому достаточно было знать Spring, Struts, Hibernate да Apache Commons в довесок для разработки большинства решений. Ну и J2EE-стек для задач Enterprise-уровня.
В году 2014 Spring, Hibernate все также в арсенале программиста, но появилась куча абсолютно новых вещей вроде AMPQ, Hadoop, Netty, Scala с функциональной парадигмой, мультиязычные окружения с Clojure/Groovy/JRuby; стали чаще встречаться альтернативные реализации популярных библиотек (например Guice / Guava); старые технологии вроде J2EE стали использоваться несколько реже. А одних только Key-Value хранилищ, кэшей и прочих NoSQL как грязи. Изменился даже сам подход к построению приложений – мало кто в 2005 слышал про asynchronous event-driven модели и отталкивался при проектировании от REST-стиля (собственно, там и корни frontend-девелопера как отдельной специализации). Про эволюцию систем сборок, VCS, бенчмарков и прочих «микро»-элементов можно расписывать не одну простыню.
И да простят меня frontend-товарищи за, возможно, чванливый тон, но раскурить тонкости работы async IO в зависимости от ОС-специфики вроде epoll/kqueue или учитывать CAP-теорему при построении middleware-кэша это уровнем сложности повыше, чем новый CSS-препроцессор и CoffeeScript c очередным MVC / MVVM-фреймворком. Некоторые задачи, вроде синхронизации потоков, так и вообще лежат большей частью в области математики.
Уверен, что и в frontend-разработке существуют задачи сложнее и интереснее поехавшей на пиксель верстки и обновления полей после парсинга JSON, но ИМХО backend-разработка ближе к системному программированию старой школы, в то время как frontend суть прикладное программирование с примесями дизайна.
Frontend-инструментов больше, backend-инструменты сложнее.

Источник

Выбираем профессию frontend- и backend-разработчика: принципы и отличия

Статья о том, что такое frontend- и backend-разработка, чем отличаются и как взаимодействуют между собой. Разбираемся и выбираем себе направление.

27456ea7adc7b1cabe9ce03fb645084a

a70fe44149dee21d9547e8823b8e30ed

Традиционно эти две сферы разработки разделяют на сцену и закулисье. Во frontend вы работаете на глаза пользователя, в backend же — на его опыт и ощущения. В Skillbox мы учим и frontend, и backend. Остается только выбрать направление своей будущей профессии. А теперь подробнее.

Что такое
frontend-разработка?

Frontend — это разработка пользовательского интерфейса и функций, которые работают на клиентской стороне веб-сайта или приложения. Это всё, что видит пользователь, открывая веб-страницу, и с чем он взаимодействует.

olesya melnik

Пишет про дизайн и маркетинг в Skillbox. С 2011 по 2017 год писала про бизнес в деловые СМИ, соучредитель агентства копирайтинга «Абзац».

Frontend-разработчик сотрудничает с дизайнерами, программистами
и UX-аналитиками, чтобы создавать удобный и востребованный продукт.

Чтобы наглядно понять frontend-разработку, откройте страницу любого сайта — перед собой вы увидите интерфейс. Щёлкнув правой кнопкой мыши, откроете код страницы в браузере.

568650756fb40ed0a3290b33f521305038238314

Это и есть пример работы frontend-разработчика, он скачивается в браузер пользователя, и его можно увидеть своими глазами. Код страницы описывает цвета, вёрстку, шрифты, расположение графических элементов и так далее.

Компоненты frontend-разработки

Что такое
backend-разработка?

Backend-разработка — это набор аппаратно-программных средств, при помощи которых реализована логика работы сайта. Попросту говоря, это то, что скрыто от глаз пользователя и происходит вне его браузера и компьютера.

Например, когда вы вводите запрос на странице поисковика и жмёте клавишу Enter, frontend заканчивается и начинается backend. Ваш запрос отправляется на сервер Google или «Яндекса», где расположены алгоритмы поиска. Именно там случается всё «волшебство». Как только на мониторе появилась информация, которую вы искали, — вновь происходит возвращение в зону frontend.

Читайте также:  с добрым утром хорошего дня счастья здоровья картинки

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

hat 0 IRKmcQ

Backend — это процесс объединения сервера с пользователем.

Компоненты backend-разработки

Backend-разработчик применяет те инструменты, что доступны на его сервере. Он вправе выбрать любой из универсальных языков программирования, например, Ruby, PHP, Python, Java. Всё зависит от конкретного проекта и задачи заказчика.

Также для backend-разработки используются системы управления базами данных:

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

Как взаимодействуют frontend и backend?

Взаимодействие frontend и backend происходит по кругу:

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

Существует несколько вариантов взаимодействия frontend и backend:

Обязанности frontend- и backend-разработчиков, как правило, разделены, но бывают моменты, когда программист решает проблемы как на стороне сервера, так и в клиентской части. Оба вида разработки подразумевают и технические, и творческие компоненты. Нередко на рынке встречаются специалисты, которые уверенно чувствуют себя как во frontend, так и в backend и могут совмещать их.

Заключение

Начать свой путь в обеих отраслях можно с 12-месячного курса Skillbox «Профессия веб-разработчик». Он подходит для новичков и программистов с небольшим опытом. За год вы на практике изучите основные языки программирования и создадите портфолио, которое поможет найти перспективную и хорошо оплачиваемую работу.

Источник

Чем frontend отличается от backend’а? Объясняем на мемах

front end back

Большинство мемов про frontend и backend дают общее представление о специфике этих сфер: первые как правило изображаются красиво и гладко, вторые — запутанно и брутально. Но так ли все просто на самом деле? Чтобы объяснить разницу, мы разобрали факты о двух профессиях на мемах.

Что такое frontend и backend?

snimok ekrana 2021 06 22 v 15.27.22

Frontend — это клиентская часть продукта (интерфейс, с которым взаимодействует пользователь). В случае с сайтом, её формирует и выводит на экран браузер, который работает с HTML, CSS и JavaScript.

Backend — это внутренняя часть продукта, которая находится на сервере и скрыта от пользователей. Для её разработки могут использоваться самые разные языки, например, Python, PHP, Go, JavaScript, Java, С#.

Чем отличается frontend от backend’a?

snimok ekrana 2021 06 22 v 15.29.57

Чтобы понять, чем отличаются backend- и frontend-разработка, разберемся, за что они отвечают. Допустим, пользователь нажимает кнопку «Подробнее» на сайте музыкального фестиваля. Сразу после этого загружается новая страница, на которой в нужном порядке и с заданным дизайном отобразилась информация о программе мероприятия. Верстку и взаимодействие с backend настроил frontend-разработчик.

Backend-разработчик делает так, чтобы сервер сформировал ответ и отправил его на нужный компьютер. О действиях в backend многие даже не задумываются — для них страница загружается сама по себе.

Какие языки используют frontend и backend?

pasted image 0 6

Фронтенды пользуются языком разметки HTML, который определяет расположение элементов на странице. CSS отвечает за внешний вид контента — шрифт, цвет и отступы. JavaScript — за динамические элементы: анимацию и взаимодействие с пользователем.

Backend-разработчик использует PHP, чтобы передать информацию из базы данных на frontend. С фреймворками (наборами инструментов для быстрой разработки) на этом языке можно сократить много рутинной работы backend-разработчика.

Go используют для разработки микросервисов и высоконагруженных проектов, где с продуктом взаимодействует одновременно большое количество пользователей. Для backend-разработки подходят также Java, C# и Python.

Освойте с нуля востребованную профессию и выучите Go — один из самых высокооплачиваемых языков программирования. После курса сможете претендовать на junior-позицию в backend-разработке. Скидка 5% по промокоду BLOG.

Как взаимодействуют backend и frontend?

pasted image 0 7

500 Internal Server Error — распространенная ошибка, которая появляется из-за дисконнекта frontend и backend. Она означает, что сервер не может обработать запрос пользователя, а браузер не может сообщить, что именно пошло не так.

Причиной может быть ошибка в коде или скрипте сайта или элементарная нехватка оперативной памяти. Чтобы исправлять такие ситуации или совсем не допускать их, важно выстроить взаимодействие frontend- и backend-специалистов. Этим часто занимаются DevOps-инженеры (читайте наш гид об этой профессии).

pasted image 0 8

Когда frontend понимает, как работает серверная часть сайта и какие ошибки могут возникнуть, а backend имеет представление о работе интерфейса — это значительно упрощает работу в команде. Но это не значит, что они должны разбираться в деталях и выполнять обязанности друг друга (особенно если им за это не доплачивают).

snimok ekrana 2021 06 22 v 15.42.08

Frontend- и backend-разработчиков одинаково бесит, когда работодатели не различают их функционал. Эта проблема возникает из-за стереотипа «тыжпрограммист», когда backend-разработчика просят поправить кнопку на сайте, а frontend — разобраться с ошибкой на сервере. Избавиться от этой проблемы помогает грамотный проджект-менеджер, который точно знает зону ответственности каждого специалиста в команде и обращается с задачами к нужным людям.

Читайте также:  флуконазол какой фирмы лучше выбрать

Можно ли быть одновременно frontend и backend-разработчиком?

Да, это называется fullstack-разработкой (full stack = полный стек). Fullstack-разработчики бывают разные: некоторые совмещают frontend и backend и дополнительно занимаются мобильной разработкой. Другие могут совмещать разработку, например, с UI/UX-дизайном.

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

Fullstack-разработчик на Python

Вы начнете с программирования на Python и JavaScript, изучите фреймворки Django и React, познакомитесь с DevOps. Через год обучения сможете занять junior-позицию и параллельно продолжать усиливать компетенции. Скидка 5% по промокоду BLOG.

Источник

Стать программистом: фронтенд vs бэкенд

Чем занимается каждое из направлений

Фронтенд-разработка

Занимается версткой и программированием страниц. Всё, что вы видите и с чем взаимодействуете на сайтах: дизайн, кнопки, листалки, схемы — относится к этому направлению разработки.

10226391Коротко и схематично о фронтенде. Слева направо: HTML — CSS — Javascript.

Задачи фронтенд-разработчика — сверстать и «оживить» сайт, обеспечить корректность его работы на всех устройствах. Для этого специалисту необходимо знание языков разметки HTML и CSS и языка программирования JavaScript, а также педантичность и внимательность.

Часто для перехода в ИТ-сферу выбирают именно фронтенд-разработку. Она не требует углубленного знания математики и подходит людям и с гуманитарным складом ума.

Бэкенд-разработка

Отвечает за внутреннюю функциональность сайта. Бэкенд-разработчик работает с сервером — невидимой частью сайта, где хранится вся информация. Он создает базы данных и управляет ими, проводит интеграции с внешними сервисами и занимается всем, что находится «под капотом» сайта.

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

«Бэкенд есть у сайтов, мобильных приложений и даже у игр. Последние тоже „общаются“ с серверами и передают данные о вашей игре. Все платежные системы, системы оповещения, отправки писем и многое другое — все делается на бэкенде». Алексей Симоненко, директор по развитию в HTML Academy

Для бэкенда существует несколько языков программирования: PHP, Python, Ruby и другие. Поскольку они сильно отличаются между собой, мы остановимся на одном из них — PHP.

PHP — один из самых популярных и стабильных языков бэкенд-разработки. По данным W3tech.com, на нем написано 79% сайтов. PHP находится в топе языков программирования более 20 лет.

Рынок труда для фронтенд- и бэкенд-разработчиков на PHP

Динамика вакансий

По данным hh.ru, оба направления востребованы примерно одинаково. При этом востребованность специалистов растет.

10226392

Уровень конкуренции

Уровень конкуренции за рабочие места среди бэкенд-разработчиков ниже, чем у фронтенд-разработчиков и в целом по рынку. В апреле 2021 года hh.индекс (соотношение количества активных резюме к вакансиям) составлял:

Уровень зарплат фронтенд- и PHP-разработчиков (по данным hh.ru за 2021 год), в рублях

Уровень зарплат для фронтенд-разработчиков несколько выше, чем для PHP-разработчиков.

Зарплата PHP-разработчиков находится в диапазоне от 75 до 155 тысяч рублей, в среднем специалисты получают 110 тысяч рублей. Зарплата фронтенд-разработчиков лежит в диапазоне от 85 до 180 тысяч рублей и в среднем составляет 125 тысяч рублей.

Регион Направление разработки 1-й квартиль
(минимум по рынку), тыс. руб
2-й квартиль (медианная зарплата), тыс. руб 3-й квартиль (максимум по рынку), тыс. руб
Россия PHP 75 110 155
Россия Фронтенд 85 125 180
Москва PHP 100 140 175
Москва Фронтенд 110 150 200
Санкт-Петербург PHP 85 120 160
Санкт-Петербург Фронтенд 100 140 180
Регионы PHP 60 100 130
Регионы Фронтенд 70 100 150

Какой вы программист?

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

? Фронтенд-разработчик ? Бэкенд-разработчик
✓ Визуальная часть
То, что вы делаете, видно сразу. Эстетика, педантичность и быстрый результат.
✓ Глубинное устройство
Бэкенд не покажешь маме со словами
«Смотри, это я сделал»,
но без него ничего не работает.
✓ Узкая направленность
Фронтенд — всегда верстка
и программирование на JavaScript.
✓ Возможность выбора
Много языков программирования.
Возможность работать сразу
на нескольких популярных языках.
✓ Постоянные обновления
Фронтенд постоянно развивается —
и разработчикам придется учиться всегда.
✓ Стабильность
Радикальные изменения в бэкенде происходят редко. Это направление требует фундаментальных знаний.
✓ Низкий порог входа
Освоить фронтенд может даже человек
с гуманитарным складом ума.
Где-то придется подтянуть математику, но в целом всё реально.
✓ Хардкор
Приготовьте знание и любовь
к математике, сложным задачам, оптимизации, алгоритмам
и всему техническому.
Только бэкенд, только хардкор!

Чтобы выбор был еще проще, пройдите бесплатный тренажер « Знакомство с веб-разработкой». За два дня вы на практике познакомитесь с HTML, CSS, JavaScript и PHP и точно определитесь.

Полноценное обучение

Для тех, кто готов погрузиться в программирование, в HTML Academy открыт набор на программы «Фронтенд-разработчик» и «Бэкенд-разработчик». Обучение фронтенду займет у вас 1 год и 3 месяца, бэкенду — 1 год и 2 месяца.

На каждой из программ вас ждут:

Источник

Рейтинг товаров
Adblock
detector