Итак, вы решили, что бэкенд-разработка — это профессия для вас, поздравляем! Многим самоучкам трудно определиться с выбором, но гораздо легче учиться эффективно, если у вас есть четкая цель, например, работа над бэкендом.
- Что такое бэкенд-разработчик?
- Действительно ли я могу выучить бэкенд самостоятельно?
- Как стать бэкенд-разработчиком?
- 1. Изучите базовые навыки кодирования
- Ресурсы для изучения базовых навыков кодирования
- 2. Узнайте, как приложения используют внутренние серверы
- Ресурсы
- 3. Освоить структуры данных и алгоритмы
- Ресурсы по структурам данных и алгоритмам
- 4. Изучите основы баз данных
- Ресурсы
- 5. Практика создания проектов на выбранном вами языке
- 6. Разверните несколько проектов для вашего профессионального портфолио
- Сколько времени нужно, чтобы научиться бэкенд-разработке?
- Как найти работу в бэкенде?
Что такое бэкенд-разработчик?
Бэкенд-разработчики — это всего лишь один из многих видов «программистов». Back-end разработчики создают и поддерживают системы, которые хранят, обрабатывают и защищают данные, используемые веб-сайтами и приложениями. В отличие от front-end разработчиков, которые контролируют все, что вы видите и с чем взаимодействуете непосредственно в браузере или в мобильном приложении. Backend-разработчики занимаются серверами, в то время как front-end-разработчики работают с клиентами.
Некоторые из наиболее распространенных названий должностей программистов включают:
- front-end разработчик
- Back-end разработчик
- Мобильный разработчик
- Разработчик игр
- Специалист по DevOps
- Специалист по анализу данных
Согласно последнему опросу разработчиков, проведенному Stack Overflow, бэкенд-разработчики в США имеют самую высокую медианную зарплату в этой группе: $150 000. Если вам нравится работать над проблемами, связанными с алгоритмами, структурами данных, обработкой естественного языка, базами данных или распределенными системами, то разработка бэкенда может быть для вас.
Действительно ли я могу выучить бэкенд самостоятельно?
Многие люди полагают, что поскольку бэкенд-разработчики, как правило, должны лучше разбираться в основах информатики, то им сложнее получить должность бэкенд-разработчика начального уровня, и в результате они начинают изучать технологии фронтенда. Я считаю, что это ошибка.
Просто потому, что навыки CS часто являются обязательным требованием для бэкенд-позиций, почти никогда не бывает так, что требуется степень CS. Если вы пойдете по пути обучения, который я описываю ниже, вам не придется возвращаться в университет.
Как стать бэкенд-разработчиком?
Выполните следующие шаги по порядку — есть много мест, где вы можете эффективно изучать backend онлайн, некоторые ресурсы платные, некоторые бесплатные.
1. Изучите базовые навыки кодирования
Изучение простого синтаксиса кодирования на самом деле очень увлекательно, и вы можете сразу же приступить к работе. Вашей целью должно быть понимание базового синтаксиса одного или двух языков программирования. JavaScript и Python — отличные варианты. Вы должны изучить такие простые понятия, как:
- Переменные и данные
- Операторы сравнения
- Циклы
- Функции
- Массивы
Ресурсы для изучения базовых навыков кодирования
- Boot.dev’s Basic Intro to JavaScript
- Edabit JavaScript Challenges
- Байт по Python
- Самоучитель Python
- Python для всех
- Learn JS от FreeCodeCamp
2. Узнайте, как приложения используют внутренние серверы
Ваша цель здесь — понять, зачем нам вообще нужны backend-разработчики! Я бы рекомендовал сделать пару небольших, простых front-end проектов, чтобы вы могли понять, какую роль играет backend-сервер в приложении.
Ресурсы
- HTML5 Canvas Graphics
- Изучайте HTTP
- FreeCodeCamp’s Learn HTTP
- HTML и CSS
3. Освоить структуры данных и алгоритмы
Этот шаг может занять немного больше времени — вашей целью здесь должно быть изучение основ информатики. Углубитесь в некоторые из наиболее распространенных алгоритмов и концепций структур данных. На собеседованиях по бэкенду часто задают вопросы на эту тему. Как бэкенд-разработчик, вы будете следить за тем, чтобы на серверах компании работал быстрый и производительный код.
Ресурсы по структурам данных и алгоритмам
- Изучайте алгоритмы на Boot.dev
- Изучайте структуры данных на Boot.dev
- Udemy
4. Изучите основы баз данных
Почти каждый бэкенд-сервер в мире использует одну или несколько баз данных для хранения информации. Архитектура большинства веб-серверов выглядит примерно так.
Я бы рекомендовал сначала познакомиться с базой данных SQL, возможно, PostgresQL. После этого познакомьтесь с некоторыми вариантами NoSQL, но я не думаю, что вам нужно быть экспертом в них.
Ресурсы
- Практика работы с базами данных StrataScratch
- Codecademy
- Коллекция ресурсов на Github Момера
5. Практика создания проектов на выбранном вами языке
Далее вам нужно выбрать один или два языка, на которых вы хотите специализироваться. Например, я в первую очередь бэкенд-инженер Go, но я также занимаюсь Python и JavaScript. Специализируясь, вы облегчите себе поиск работы. Компаниям нужны эксперты в тех областях, в которых они нанимаются на работу, а не универсалы. Вот несколько проектов, на которые вы можете взглянуть:
- Бэкенд для социальных сетей на Go
- Личные проекты на Boot.dev
- Проекты на Python
- Идеи проектов DevdevShow
6. Разверните несколько проектов для вашего профессионального портфолио
Наконец, вы захотите действительно развернуть несколько проектов! Так вы покажете работодателям, как разработчик-самоучка, что вы знаете, что делаете. В отличие от front-end разработчика, для back-end разработчика не так важен красивый личный сайт, а больше сам код. В порядке важности вам следует поработать над следующими вещами:
- Красивый профиль на Github
- Отличные файлы
README.md
на ваших трех лучших публичных репозиториях - По крайней мере, один проект, развернутый в интернете. Он должен иметь либо фронтенд, который с ним контактирует, либо документацию, которая поможет пользователям использовать его с помощью клиента Postman, cURL и т.д.
- Укажите проекты в своем резюме
Развертывание проектов не только сделает ваше присутствие в Интернете более привлекательным для потенциальных работодателей, но и даст вам практику, которая будет необходима в дальнейшей работе. Что толку от бэкенд-разработчика, если он не знает, как развернуть свой код в живой среде?
Сколько времени нужно, чтобы научиться бэкенд-разработке?
Если вы начинаете с нуля, то вам, вероятно, потребуется от 9 месяцев до 2 лет, чтобы изучить backend-разработку настолько глубоко, что вы сможете занять должность начального уровня. Конечно, для каждого это будет по-разному, но если вы сможете уделять 10 часов в неделю, я думаю, что это вполне оправданная оценка. Хорошая новость заключается в том, что это быстрее и дешевле, чем возвращаться в университет на 4 года. Самое сложное — просто не сдаваться.
Как найти работу в бэкенде?
Главный секрет того, как найти работу бэкенд-разработчика-самоучки, заключается в том, чтобы создать удивительное онлайн-представительство, демонстрирующее ваши работы. Как мы уже говорили выше:
- Вложите немного труда в свой публичный профиль Github
- Создайте несколько проектов с открытым исходным кодом
- Вносите вклад в существующие проекты с открытым исходным кодом
- Создайте отличную целевую страницу в LinkedIn и займитесь нетворкингом
- Заведите друзей в онлайн-сообществах кодеров
Как только вы это сделаете, начинайте подавать заявки на работу! Используйте все доски объявлений, которые сможете найти, и старайтесь подавать заявки только на те вакансии, которые относятся к вашей области знаний — например, «backend go разработчики». Старайтесь находить доски объявлений с нишевыми вакансиями, если они существуют, мне, например, очень нравится Golang cafe.
Самое главное, не переставайте учиться и создавать!!! Я видел очень много разработчиков, которые думают, что они успешно «научились кодить», и полностью переключаются на поиск работы. Послушайте, каждый день уходит всего час или около того на то, чтобы отправить кучу заявок на работу. Остальное свободное время вы должны посвящать продолжению строительства. Чем больше вы будете учиться и создавать, тем легче будет искать работу.
Удачи!