с чего начать изучение бэкенда

Как стать бэкенд-разработчиком в 2022 году: дорожная карта

Авторизуйтесь

Как стать бэкенд-разработчиком в 2022 году: дорожная карта

Как стать бэкенд-разработчиком, что изучать в 2022 году и в каком порядке? Мы составили дорожную карту, которая поможет в этом разобраться:

с чего начать изучение бэкенда. Смотреть фото с чего начать изучение бэкенда. Смотреть картинку с чего начать изучение бэкенда. Картинка про с чего начать изучение бэкенда. Фото с чего начать изучение бэкенда

Зона ответственности

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

Далее мы поговорим о ключевых моментах. Более полная картина представлена в виде дорожной карты по бэкенд-разработке.

Операционные системы и базис

Очень важно научиться работать с терминалом, особенно если речь идёт о Linux.

Бэкенд-разработчик должен знать, как работают ОС, что такое потоки и параллелизм, понимать, концепции построения сети и стандарты POSIX, а также уметь управлять процессами, памятью, вводом и выводом (I/O).

Полезные материалы:

А также видео о том, что такое операционная система и как она работает:

Выбор языка программирования

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

3–4 декабря, Онлайн, Беcплатно

Допустим, если вы уже знаете JavaScript и вообще решили освоить бэкенд после фронтенда, хорошим выбором станет Node.js: и поддерживать будет проще, и можно поиграться в фулстек. Знаете Python? Что ж, Django также предоставляет много готовых решений для серверной части. За Java стоит браться, если перед вами сложный долгоиграющий проект, а если же веб-приложение небольшое, писать для него бэкенд на Java — всё равно что шар-бабой гвозди забивать. Неизменной классикой по-прежнему остаётся PHP, ведь на этом языке действительно разработано подавляющее большинство современных сайтов.

И это далеко не все. Подробнее можете почитать в нашей статье о 8 основных языках для бэкенда.

Базы данных

Базы данных станут вашим главным ресурсом, а СУБД — новым домом. Следует понять разницу между реляционными и NoSQL СУБД, освоить нормализацию, транзакции, ORM, ACID, проблему N+1 и теорему CAP.

Материалы по работе с базами данных:

Также есть хорошее видео, которое наглядно объясняет нормализацию в БД:

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

Веб-серверы

Стоит научиться устанавливать и настраивать популярные веб-серверы, такие как Nginx, Apache, Caddy и MS IIS. Все они достаточно безопасны и просты в использовании.

А ещё можете почитать о том, как самостоятельно настроить сервер для сайта, используя DigitalOcean хостинг и операционную систему Ubuntu 20.04 LTS.

Заключение

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

Источник

Бесплатные образовательные курсы: бэкенд-разработка

с чего начать изучение бэкенда. Смотреть фото с чего начать изучение бэкенда. Смотреть картинку с чего начать изучение бэкенда. Картинка про с чего начать изучение бэкенда. Фото с чего начать изучение бэкенда

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

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

Introduction to Java Programming: Starting to code in Java · edX

Здесь вас познакомят с функциональной абстракцией, парадигмой объектно-ориентированного программирования (ООП) и АПИ. В программу заложено много интересных примеров, разбор кейсов и общение с наставниками.

Java. Базовый курс · Stepik

Курс для тех, кто начинает изучать Java, но уже знаком с такими понятиями, как «переменная», «цикл», «подпрограмма» и хоть немного разбирается в императивных языках программирования. В программе 23 урока, на которых вы узнаете о компиляции и запуске Java-программ, синтаксисе языка, системе типов и основах ООП. Для закрепления знаний заготовлены тесты и задачи.

Java для начинающих · Code Basics

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

1200 практических задач возрастающей сложности — как раз тот минимум, выполнив который, вы получите опыт необходимый для трудоустройства. Для поддержания «спортивного интереса» программа курса разбита на 40 левелов: вы сможете перейти на следующий, только если решили большую часть задач текущего.

PHP для начинающих · Code Basics

Самая простая и короткая часть в пути изучения языка программирования — это изучение его синтаксиса. Этот курс посвящен азам разработки программ на PHP. Он поможет заложить хороший фундамент для написания осмысленных программ.

Web-программирование на PHP 5.2 · ИНТУИТ

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

Python 3 Tutorial · SoloLearn

Изучите Python самым увлекательным способом — смотрите короткие уроки, соревнуйтесь и сотрудничайте с другими учениками, и проходите веселые викторины. За каждое достижение вы будете получать игровые очки, а в конце вас ждет трофейный сертификат.

Программирование на Python · Stepik

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

Погружение в Python · Coursera

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

Python для начинающих · Code Basics

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

Как стать Python-разработчиком · Яндекс.Практикум

Даже на бесплатной вводной части этого курса вы сможете обучиться азам программирования на Питоне и оценить свои возможности и мотивацию. Вводная часть дает доступ к тренажеру, 20 часов лекций и один готовый проект. А дальше — платно.

Racket для начинающих · Code Basics

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

SQL Fundamentals · SoloLearn

Этот компактный курс будет полезен для получения базовых представлений о разработке веб-приложений на PHP. Здесь вас познакомят с основами языка, структурным построением приложений и работой с файлами.

Алгоритмы и структуры данных · ИНТУИТ

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

C Programming: Language Foundations · edX

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

C Programming: Getting Started · edX

Здесь вы познакомитесь с принципами программирования на C и начнете писать код в браузере, который мгновенно обрабатывает написанное и дает фидбек. Еще вы напишете свою первую программу, и поймете, как выполнять простые вычисления и выводить результаты на экран, как сохранять значения в переменных и как повторять инструкции с помощью циклов.

Программирование на языке C++ · Stepik

На этом курсе отдельное внимание уделяется обсуждению базовых принципов работы программ, а также процессу их компиляции. Курс покрывает небольшую часть стандарта языка C++, но пригодится тем, кто хочет узнать о его наиболее важных возможностях, чтобы начать более тщательное изучение.

Introduction to C++ · edX

Цель этого курса — познакомить вас с языком C++, который упрощает написание программ и делает этот процесс более приятным. На C++ создаются приложения, которые будут работать на самых разных платформах, таких как Windows, Linux, UNIX и Mac OS X, а также на устройствах IoT.

Основы разработки на C++: белый пояс · Coursera

Курс разработан специалистами Яндекса и преподавателями «Школы анализа данных». Вас научат использовать конструкции С++ для создания своих типов данных, разбивать программу на классы и функции. В конце программы вас ждёт финальный проект: вы разработаете простое хранилище данных с возможностью добавления, удаления и поиска.

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

Источник

Как стать backend-разработчиком с нуля?

с чего начать изучение бэкенда. Смотреть фото с чего начать изучение бэкенда. Смотреть картинку с чего начать изучение бэкенда. Картинка про с чего начать изучение бэкенда. Фото с чего начать изучение бэкенда

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

1. Определитесь с языком программирования

В отличие от frontend-разработчика, которому достаточно владеть HTML/CSS и JavaScript, backend-девелоперу приходится сделать непростой выбор. Языков много, одни развиваются более активно, другие применяются для узких задач.

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

Cогласно исследованию The State of the Octoverse, Go входит в топ-10 языков с самым быстро растущим комьюнити. Кроме того, в 2020 году он занял первое место в списке самых высокооплачиваемых языков. В backend-разработке он нужен для создания микросервисов и высоконагруженных проектов, где много пользователей одновременно работают с сайтом или приложением.

PHP не сдает позиции одного из самых популярных языков интернета, Ruby и Node.js также предлагают отличные возможности для тех, кто их изучает. Когда вы освоите базовые правила и возможности выбранного языка, сразу опробуйте их на практике. Пишите маленькие приложения, которые будут собирать веб-страницы по заданному тегу, автоматизируйте свои ежедневные задачи, придумывайте цели и выстраивайте пути к ним.

2. Познакомьтесь с пакетными менеджерами

Когда вводная часть позади, а список базовых приложений выходит за 5-10 позиций, переходите к следующему шагу. Освойте пакетные менеджеры (package manager) — специальные утилиты, которые позволяют добавлять в приложения сторонние библиотеки, чтобы расширять свои возможности и создавать новые функции. При помощи них вы также сможете предлагать свои библиотеки для использования другим разработчикам.

Пакетный менеджер у каждого языка свой. В Python он называется pip, в PHP — Composer, в Ruby — RubyGems. К этому моменту вы поймете, чего недостает вашим предыдущим продуктам, улучшите их работоспособность и поставите перед собой новые цели.

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

3. Приобщитесь к лучшим практикам

Главный навык любого программиста — это умение искать информацию. Изучайте опыт других разработчиков на Github и других профильных сайтах, ищите отраслевые стандарты. Некоммерческая организация OWASP (Open Web Application Security Project) регулярно обновляет правила для создания безопасных веб-приложений.

Когда вы разберетесь с пакетными менеджерами и усвоите общепринятые принципы разработки, вы сможете создавать более сложные программы. Поищите открытые проекты на GitHub, разберитесь в их устройстве, попробуйте сделать нечто похожее и добавить свои функции. Не стесняйтесь задавать вопросы, но помните, что ответы на многие вопросы уже есть на форумах.

4. Тестируйте свой код

Умение тестировать свой код и вычищать в нем баги входит в must-have любого разработчика. Разберитесь, как строится процесс тестирования, какие бывают тесты для приложений и как их нужно писать.

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

5. Переходите к базам данных

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

Это обширная тема, разобраться в которой может быть даже сложнее, чем выучить тот же Python. Сам по себе язык структурированных запросов (SQL) освоить нетрудно — в 70-х годах его придумали как раз для тех специалистов, которым для работы необязательно знать программирование. Однако простые на вид процессы обработки запросов в базе данных скрывают множество хитростей, так что будьте готовы отложить обучение до тех пор, пока не начнете заниматься рабочими проектами. А пока выучите базовые принципы и термины — ключи, индексы, нормализация и т.д.

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

6. Изучите фреймворки

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

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

7. Углубляйтесь в базы данных

От реляционных баз данных переходите к нереляционным. Эта тема чуть сложнее, поскольку решений для работы с неструктурированными данными очень много, и у многих из них своей собственный, уникальный язык. Новичку стоит разобраться с MongoDB, Cassandra, RethinkDB и Couchbase. MongoDB набирает все большую популярность у разработчиков, так что ее нужно сделать приоритетом.

8. Расширяйте набор умений

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

Программная разработка постоянно меняется, так что успешный профессионал постоянно следит за новыми технологиями и применяет их в деле.

Освойте программирование на Go и backend-разработку высоконагруженных приложений.

Источник

Профессия: бэкенд-разработчик

Для остановки нет причин —
Иду, скользя.
И в мире нет таких вершин,
Что взять нельзя.
В. Высоцкий

Если бы эта статья вышла не на Хабре, а в образовательном журнале, я бы начал её так: «Вспомните сайты, которые вам нравятся, на которых удобная навигация и приятный интерфейс. А знаете ли вы, что это только верхушка айсберга…». Но на Хабре это знают, пожалуй все, поэтому никакой лирики. Бэкенд любого веб-проекта — это сложная система, которая позволяет приложению быстро работать, качественно искать, шустро отдавать информацию пользователю, надёжно и безопасно хранить данные и при необходимости работать с другими внешними системами. Это как швейцарские часы: покупают их за стиль и шильдик, но ценители знают, что под сдержанным циферблатом кроется волшебный мир часового механизма. И бэкенд-разработчики — это маги механизмов, организмов, кишочек, внутренностей или как вы ещё это называете у веб-приложений. Эх, без лирики не удалось!

Короче, сегодня разбираем очередную профессию в серии «Профессия…». Итак, а что, если пойти в бэкенд-разработчики?

с чего начать изучение бэкенда. Смотреть фото с чего начать изучение бэкенда. Смотреть картинку с чего начать изучение бэкенда. Картинка про с чего начать изучение бэкенда. Фото с чего начать изучение бэкенда

Кто это?

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

Бэкенд-разработчик создаёт компоненты и функции, которые доступны пользователю приложения или сайта через интерфейс. Проще говоря, бэкендеры — это программисты, которые разрабатывают всё то, что не видит и напрямую не трогает пользователь. То есть красивая форма ввода данных или корзина интернет-магазина — это фронтенд, а хранение данных в СУБД, связка полей формы регистрации и корзины, интеграция с платёжным шлюзом, автоматические письма, подгрузка и обновление контента — это всё бэкенд. Поэтому, если форма регистрации стала отдавать ошибку базы, виноват… тестировщик 🙂 (почему— мы тоже расскажем в очередной серии).

За что отвечает бэкенд-разработчик:

с чего начать изучение бэкенда. Смотреть фото с чего начать изучение бэкенда. Смотреть картинку с чего начать изучение бэкенда. Картинка про с чего начать изучение бэкенда. Фото с чего начать изучение бэкенда

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

с чего начать изучение бэкенда. Смотреть фото с чего начать изучение бэкенда. Смотреть картинку с чего начать изучение бэкенда. Картинка про с чего начать изучение бэкенда. Фото с чего начать изучение бэкенда

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

Где нужен?

Как и в случае с фронтенд-разработкой, абсолютно везде, где есть сайт или приложение, которое в вебе взаимодействует с пользователем. Другое дело, что всем нужны бэкендеры разного уровня: в офисе условной социальной сети или крупного сайта объявлений бэкенд-разработчик обязан не просто иметь базовые навыки, но и работать с высокими нагрузками, микросервисной архитектурой и контейнеризацией (Docker, Kubernetes), знать системы мониторинга (типа Zabbix, Grafana), иметь навыки Scrum (опционально для конкретных компаний). А для небольшого интернет-магазина вполне достаточно связки PHP-Ajax-нужная СУБД-немного HTML, иногда и того меньше. Понятно, что и оплата труда, и требования к опыту также совершенно разные.

Традиционно на «Хабр Карьере» мы нашли 444 вакансии бэкенд-разработчика, что без малого в 2 раза больше, чем во фронтенде. На hh.ru — около 1800. В общем, на рабочих местах вас уже ждут фронтендеры, у которых поиск по сайту отрабатывает два часа 🙂 А если серьёзно, в компании может быть 2-3 бэкенд-разработчика на одного фронтенда, особенно если речь идёт о приложениях со сложной внутренней логикой и бизнес-логикой (интернет-магазин, CRM-ERP, корпоративный портал и т.д.).

Средняя заработная плата

Уровень специалистаСредняя заработная плата
Стажёр (Intern)35 345 руб.
Младший (Junior)55 241 руб.
Средний (Middle)105 048 руб.
Старший (Senior)168 350 руб.
Ведущий (Lead)185 335 руб.

Если сравнить с заработной платой фронтендеров, то рост незначительный, от нескольких сотен рублей до 6000 руб. (у мидлов). Но это реально очень средние значения, многое зависит именно от стека программирования, дополнительных навыков, опыта и основного языка разработки. Кстати, для всех уровней бэкенд-разработчика на первом месте стоит PHP, и мы о нём ещё поговорим.

Базовые требования к профессионалу

Требования к бэкендеру ещё более чувствительны к особенностям компании и её бизнес-процессам, чем у фронтендера. Иногда это могут быть весьма странные на первый взгляд вещи такие как «понимание принципов работы рыбного холодильника как предприятия», «знание основ продаж или опыт в продажах», «блестящее знание JavaScript, CSS и HTML». Но это выглядит безумно и отталкивающе только при первом подходе. На самом деле, бэкенд-разработчик действительно больше погружён в бизнес-процессы, должен не только разрабатывать код в соответствие с ними, но и подстраивать какие-то вещи под конкретные задачи, понимать, как оно работает изнутри. Если вы никогда не видели воронку продаж и не понимаете, чё это за фигня, вы никогда не сможете разработать её логику вместе с фильтрами, срезами и переходами (даже если у вас будет отличное ТЗ, разобраться сложно). Ну а в примере с «блестящее знание JavaScript, CSS и HTML» всё просто: вероятно, руководитель не очень-то доверяет своему другому разработчику и готов пересмотреть подход к разработке. Такое нередко случается в небольших компаниях.

Но есть и базовый набор требований, который бэкенд-разработчик увидит практически в любой вакансии.

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

+ ООП, фреймворки, Docker+ высоконагруженные системы, ООП, фреймворки, Docker+ Linux, ООП, фреймворки, Docker

Топ-5 востребованных технологий у специалистов по данным «Хабр Карьера», 2 полугодие 2019 года, нижняя строка — «дополнительные» скиллы.

Принцип формирования списка: пользователи, внося данные о заработной плате, указывают скиллы, которые у них в приоритете (что они умеют делать!). То есть это не требования работодателя, а навыки специалистов каждой категории.

Как видите, компании готовы брать стажёров с базовыми вузовскими C, C++ и C#, но в дальнейшем предпочитают специалистов с «рабочим набором» бэкендера. Обратите внимание на интерес к контейнеризации и высоконагруженным системам.

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

с чего начать изучение бэкенда. Смотреть фото с чего начать изучение бэкенда. Смотреть картинку с чего начать изучение бэкенда. Картинка про с чего начать изучение бэкенда. Фото с чего начать изучение бэкенда

Важные личные качества

Бэкендеру хорошо, он может быть интровертом 🙂 Его зона работы с пользователями сведена до минимума, в основном, все рабочие контакты с менеджерами или коллегами. Эти ребята нередко работают по ТЗ и делают всё так, как это прописано в документе либо так, чтобы получить состояние, максимально близкое к целевому (ТЗ, знаете ли, тоже бывают несовершенны, а то и совершенно не…).

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

Необходимость знания иностранных языков

Вот что было написано для фронтенд-разработчика.

Для любого программиста крайне желателен английский язык не ниже upper-intermediate с уклоном в технический английский. Так вы сможете читать в оригинале многочисленные рекомендации Google и других компаний для оптимальной разработки (очень много полезной документации!), самообучаться с помощью зарубежных лекций, общаться с коллегами на форумах, задавать вопросы, а также читать книги по юзабилити и дизайну, среди которых очень много крутых англоязычных и пока не переведённых изданий.

Это же справедливо и для бэкендера, даже в большей мере. В комментариях к предыдущей статье заметили, что уровень upper-intermediate великоват для айтишника, достаточно и ниже. Я сужу по себе и по уровню учебников. Скажем так, от intermediate до upper-intermediate шаг не выглядит пропастью и уровень «на поболтать» берётся легко. А вот от upper до advanced — пропасть и по сложности, и по лексике. Впрочем, если вам норм читать и понимать, что читаете при другом уровне, никто вас экзамен сдавать не заставит, пользуйтесь.

Где учиться

В принципе, те же технические вузы, курсы, самообразование и корпоративные университеты. Но есть важные нюансы.

с чего начать изучение бэкенда. Смотреть фото с чего начать изучение бэкенда. Смотреть картинку с чего начать изучение бэкенда. Картинка про с чего начать изучение бэкенда. Фото с чего начать изучение бэкенда

Лучшие книги и средства обучения

Выбирать средства обучения необходимо исходя из выбранного языка программирования и актуального в конкретный момент стека. Общие рекомендации такие.

Будущее бэкендера

Будущее бэкендера прорисовывается довольно чётко и перспективно.

Главное, что у вас не выйдет — это быть плохим разработчиком и при этом рассчитывать на что-то интересное. Дело в том, что каждая компания ждёт от бэкендера ответственности (представьте себе ошибки в коде банковского приложения, какой-нибудь критически важной ГИС или системы онлайн-мониторинга — сразу поседеть можно) и здравого подхода к работе. Филонить или говорить «так задумано» вряд ли получится — при всей внешней незаметности работы бэкенда сбой в ней заметнее всего.

Мифы профессии

▍Бэкенд — это очень сложно

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

с чего начать изучение бэкенда. Смотреть фото с чего начать изучение бэкенда. Смотреть картинку с чего начать изучение бэкенда. Картинка про с чего начать изучение бэкенда. Фото с чего начать изучение бэкенда

▍Бэкенд-разработчик получает миллионы

Это вообще общий миф про программирование. Самая большая реальная заработная плата у российского разработчика, которую мне приходилось видеть своими глазами — это 540 тыс. руб. в месяц (С/С++, зарубежный проект, системы компьютерного зрения, кандидат наук, удалёнка), вторая от него — 400 тыс. руб. (Delphi, удалёнка, зарубежный энтерпрайз, немецкий язык как нативный). Остальные очень похожи на те цифры, которые я взял с «Хабр Карьеры» для своих табличек. Миллионы получать вы будете только в том случае, если сойдётся: блестящее знание языка + талант + опыт и уникальные навыки в узкой сфере + проект, готовый столько платить. Таких ребят единицы и я не скажу, что их участь прекрасна: 99% их жизни работа, 1% — сон. Поэтому важно осознать другой тезис: бэкенд-разработчики востребованы и хорошо зарабатывают, лучше многих специалистов. Значит, стоит постараться.

▍PHP — г@вно, PHP мёртв, PHP must die

Обожаю этот холивар! Но при этом знаю, как его пугаются новички и стремятся обойти этот мощный и во многом удобный язык и его фреймворки. Дело в том, что в начале 2000-х-2010-х PHP был крайне популярным языком программирования у фрилансеров и прочих джентльменов удачи от ИТ. На нём написано море плохих дилетантских сайтов и приложений — но не потому что язык плохой, а потому что эти ребята не были способны использовать его изящно и грамотно. Оттуда и пошли эти мифы про «плохость».

Конечно же, PHP прост в изучении, живее всех живых, на нём написаны и поддерживаются сотни тысяч проектов, проектищ и проектиков и жить ему ещё довольно долго. Согласно Stackoverflow PHP выбирают 25.8% профессиональных разработчиков. Да и по Octoverse GitHub язык довольно стабилен по количеству проектов:

с чего начать изучение бэкенда. Смотреть фото с чего начать изучение бэкенда. Смотреть картинку с чего начать изучение бэкенда. Картинка про с чего начать изучение бэкенда. Фото с чего начать изучение бэкенда

К слову, по-настоящему хорошие программисты PHP высоко ценятся во всех смыслах этого слова.

Главный совет

Нет лучшего языка для бэкенда, более того я вам скажу, что нет лучшего языка программирования для ни для чего. Изучайте тот язык, который необходим вам или вашему будущему возможному работодателю (это можно узнать заранее), тогда вы сможете быстро и элегантно решать поставленные перед вами задачи. Не стоит изучать какую-то технологию из принципа «все побежали и я побежал».Тогда вы сможете стать действительно уникальным, думающим и зарабатывающим специалистом. Который будет диктовать свои условия, конечно, лучшие.

Ну что, есть среди читателей опытные бэкендеры? Как оно? Почему выбрали именно эту сторону разработки?

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *