Почему "Войти в Айти" это плохо. Часть 2

Почему "Войти в Айти" это плохо. Часть 2.

Почему "Войти в Айти" это плохо. Часть 2

Добрый вечер многоуважаемый читатель.

В конце прошлой части я затронул немного фронтенд разработку. Сейчас же хочу затронуть профессию бэкенд разработчика.

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

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

К слову, языков которые можно использовать для бэкенда, гораздо больше чем один Python, есть еще Ruby, PHP, Java, JavaScript / Nodejs, и конечно даже на с#, c/c++ можно написать бэкэнд сервисы.

Поэтому встает вопрос почему именно Python?

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

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

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

Очень часто я вижу, что в альтернативу Python предлагают Golang, тут я могу сказать, что это точно не тот язык, который нужно изучать первым. Я выбрал профессию бэкэнд разработчика, что делать дальше? Обычно вас сначала знакомят с синтаксисом языка после с более сложными конструкциями и уже потом вы начинаете изучать один из бэкэнд фреймворков. Для Python это в основном Django, Flask, FastApi реже async.io, асинхронные языки в основном предлагают изучать уже не новичкам, а мидлам. Программистов среднего уровня я не буду обсуждать, потому что они выходят за рамки моей статьи.

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

Кстати, взаимодействие с базами данных проходит с помощью специальных Orm у джанго она своя встроенная, а вот flask из коробки ее не имеет и предлагает вам выбрать. И конечно же самая распространенная Orm это SQL alchemy, она позволяет вам на языке python взаимодействовать с любой базой данных. Этакая прослойка между вами и базами данных Вы же не хотите писать запросы к базе данных по старинке? И, я считаю, что для бэкэнд разработчика все же нужно уметь обычные запросы к базе данных, но в рамках обычного курса это излишество, которое вам придется изучать самостоятельно.

Тут я хочу сделать одну ремарку. Если посмотреть вакансии на сайтах работы вы узнаете что везде требуется минимум знание RestApi и естественно если выбрали хорошую академию, то вы в конце концов придете к RestAPI. Или же вообще сразу будете изучать создание Api.

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

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

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

Почему эту часть я посвятил профессии бэкэнд разработчик?

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

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

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

Мой второй вывод:

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

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

В этой части статьи я обошел стороной бэкэнд разработку на Node.js поэтому о ней мы поговорим в следующей части и затронем немного профессию fullstack.

Начать дискуссию