Каждый, кто решит «уйти в ИТ» в самом начале своего профессионального пути столкнётся с неким подобием алгоритма, который придется преодолеть дабы определиться в своей будущей профессиональной деятельности. Первое разветвление путей, это выбор конкретной сферы деятельности, например тестирование, архитектура, веб разработка, гемдев, мобильная разработка и пр. Далее предстоит выбрать конкретный язык программирования, который необходимо будет освоить. Однако в случае, если выбор пал на веб разработку, соискателям придется принять дополнительно еще одно решение и определиться хотели бы они пойти во Frontend или Backend.
Содержание:
- Что такое Frontend и Backend
- Что делает фронтенд-разработчик
- Конкретные задачи фронтэнд-разработчика
- Что нужно знать и уметь, чтобы стать Frontend-разработчиком
- Что делает бэкенд-разработчик
- Функции бэкенд-разработчика
- Что нужно знать
- Fullstack
- Кто больше зарабатывает
- Frontend
- PHP
- Java
- Что выбрать: Frontend или Backend
Что такое Frontend и Backend
Для того, чтобы простыми словами объяснить что такое фронтенд и бэкенд в разработке можно рассмотреть принцип работы любого современного гаджета. Например, планшета. Фронт- это то, что видит человек и то, что он сам может «потрогать»: иконки, клавиатура, перелистывание страниц и пр. Не зря сегодня фронтендов часто называют «разработчиками интерфейсов». А бэкенд- это все, что спрятано внутри и что заставляет планшет выполнять именно те задачи, которые мы от него ожидаем: поиск необходимого файла, серфинг в интернете, просмотр фильмов и пр.
Что делает фронтенд-разработчик
Фронт отвечает за визуализацию проекта, за то, чтобы все нажималось, перелистывалось и корректно отображалось на любых экранах.
Конкретные задачи фронтэнд-разработчика
- Создание и верстка динамических интерфейсов
- Написание скриптов
- Разработка новых и поддержка существующих компонентов
- Разработка npm модулей
- Реализация серверного API на клиенте
- Тестирование функционала
- Оптимизация и расширение функционала
- Рефакторинг кода
- Ускорение работы сайта, приложения
Фронт в своей ежедневной деятельности плотно контактирует с дизайнерами и бэкенд-разработчиками.
Что нужно знать и уметь, чтобы стать Frontend-разработчиком
- Html
- CSS
- CSS-процессоры: SASS, SCSS, LESS
- Технологии адаптивной верстки – CSS FlexBox, CSS Grid
- JavaScript, TypeScript
- Знать один из фреймворков
- Уметь работать с системой версий контроля Git
- Писать чистый код, используя линтеры для анализа качества кода и устранения ошибок
- Умение тестировать приложения
Читайте также:
Что делает бэкенд-разработчик
Бэк отвечает за функционал проекта, то есть делает так, чтобы все задачи выполнялись и человек, использующий приложение мог одним нажатием кнопки получить то, что ему необходимо: положить товар в корзину, заказать такси, оформить страховку и пр.
Функции бэкенд-разработчика
- Работа с базами данных
- Написание и оптимизация SQL запросов
- Работа с разными серверами
- Разработка собственного API и внедрение внешнего
- Написание и рефакторинг кода
- Написание тестов
- Разработка технической документации (Swagger)
- Разработка архитектуры приложений
В процессе работы бэкенд взаимодействует с бизнес-аналитиками, девопсами, архитекторами баз данных, фронтенд-разработчиками.
Профессии в IT: кто такие айтишники, чем они занимаются и сколько зарабатывают
Что нужно знать
- Один или несколько серверных языков (PHP, Java, Python, Go, C# и др)
- Базы данных MySql, NoSql, Postgres
- Принцип работы протоколов передачи данных HTTP и HTTPS
- Понимание работы и настройка веб-серверов Apache или Nginx
- Docker
- Как организовывать сессии, хранить cookie-файлы
- Знать Oauth — открытый протокол авторизации
- Уметь работать с системой версий контроля Git
- Понимать как устроены асинхронные запросы
- Работа c Memcached, Redis — кэширование данных
- Знать один из фреймворков выбранного языка программирования (для PHP- Symfony или Laravel, для Python- Django, для Java- Spring)
Читайте также:
Fullstack
Существует и третий путь- это не выбирать между бэкендом и фронтендом, а стать сразу и тем и тем. В разработке это называется фулстек.
Такой вариант стоит рассмотреть, если:
- Вы никак не можете определиться, что вам больше нравится фронт или бэк
- Вы планируете запускать собственный проект или разрабатывать сторонние полностью самостоятельно
- Ваши карьерные ожидания не заканчиваются позицией разработчика, а идут дальше и вы хотели бы стать в будущем техлидом или проджектом.
Кто больше зарабатывает
Доход любого разработчика зависит прежде всего не от выбранного языка, а от:
- Компании, в которой он работает
- Опыта в разработке
- Набора навыков и умений
- Софт скиллов
Если брать средние значения, то Frontend-разработчики практически не уступают в заработках бэкам, а некоторые языки (например PHP) даже превосходят.
Frontend
Junior Frontend-разработчик без опыта может рассчитывать на минимальный доход от 40 000 рублей. Есть вакансии, которые предлагают зарплату вплоть до 200 000 рублей начинающим специалистам.
Специалисты с опытом работы от 1 года зарабатывают минимум 80 000 рублей, среднее же предложение по рынку труда- от 185 000 рублей.
Вакансий, которые предлагают фронтам доход от 400 000 рублей на момент написания статьи- 53.
Для релевантности сравним предыдущие данные с двумя разными позициями бэкэнд-разработки- PHP и Java
PHP
Junior PHP-разработчик без опыта работы по специальности может зарабатывать от 35 000 рублей и максимальный доход может со старта составлять также 200 000 рублей.
Если опыт работы составляет 1 год, то пхпэшник может рассчитывать минимум на 65 000 рублей. В средним же такие специалисты зарабатывают от 125 000 рублей
Более 400 000 рублей опытному PHP -разработчику готовы предложить 32 работодателя.
Java
Junior Java-разработчик сможет выбрать среди вакансий с минимальным предложением оплаты труда 35 000 рублей. Максимально работодатели готовы платить новичку до 150 000 рублей. Не готовы компании брать сейчас джавистов без опыта и много им платить.
С опытом работы от 1 года Java-разработчик может зарабатывать от 65 000 рублей, среднее предложение- от 180 000 рублей
Актуальных вакансий, которые предлагают доход от 400 000 рублей, сайт по трудоустройству отыскал 136 штук. Начинающих джавистов нанимаю неохотно, зато разработчики с опытом могут быть уверены в востребованности и высоком доходе.
Что выбрать: Frontend или Backend
Frontend | Backend |
Подойдет для старта в программировании с нуля | Есть языки программирования, которые с нуля освоить будет тяжело |
Можно быстро найти первое место работы и начать зарабатывать | Работодатели неохотно берут разработчиков без опыта |
Не требуется специальные навыки | Желательно иметь математический склад ума |
Максимальный карьерный рост до тимлида команды фронтов | Подойдет для тех, кто хочет стать техлидом или проджектом |
Подойдет для тех, кто хочет сразу видеть результат своей работы | Бэкенды могут долгое время решать одну единственную задачу |
Предпочтительнее для визуалов и тех, кому нравится создавать «красоту» | Подойдет для технарей и тех, кого больше волнует содержание, а не внешний вид |