Бэкенд-разработчик – перспективы профессии, её плюсы, минусы и карьерные возможности
Создателей сайтов, программ и приложений можно условно разделить на 2 группы:
· frontend-разработчики, чья задача – «лицо» цифрового продукта, видимая пользователю часть;
· back-end-разработчики, которые занимаются частью продукта, скрытой от пользователя, «начинкой» сайта или приложения.
Бэкенд-разработка является одной из самых востребованных задач на рынке труда в России и мире. Зарплаты специалистов варьируются от 30000 рублей для начинающих до 2500-3000 и более долларов для опытных специалистов. На сайтах вакансий постоянно публикуются новые объявления.
Карьерные возможности
Даже для начинающих разработчиков наличие минимального опыта в программировании обязательно. Рост до старшего разработчика займёт минимум 1-2 года. На этом этапе специалист способен самостоятельно реализовывать чужие решения по созданию продуктов. Ведущий разработчик с достаточным уровнем компетенций для принятия решений «растёт» около 3-5 лет.
Далее есть два варианта развития карьеры: путь эксперта и управленца. Эксперт развивает и углубляет профессиональные знания и передаёт их начинающим коллегам. Менеджер постепенно перестаёт писать код самостоятельно, концентрируясь на управлении командой. Высшие менеджеры – технические директора – отвечают за конкурентоспособность компании и развитие IT-направления.
Сроки переходов с этапа на этап условны. Карьерный рост зависит от компаний, в которых работает специалист, от его личных особенностей, от наличия опытных коллег, у которых можно учиться, от владения soft skills и даже от случайностей.
Перспективы профессии в связи с автоматизацией и цифровизацией
Чем больше роботизация будет проникать во все сферы жизни, тем больше работы появится у бэкенд-разработчиков. При всём развитии искусственного интеллекта, он не способен на создание принципиально новых вещей и генерацию идей. Креативность присуща только человеку. Именно программисты будут создавать новых роботов для разных целей и управлять ими.
Стать высококлассным разработчиком непросто – требуется напряжённое и долгое обучение. Далеко не все, кто начинает изучать программирование, приходят к высоким заработкам. В ближайшие десятилетия опытные профессионалы по-прежнему будут массово востребованы бизнесом.
Какими навыками должен обладать бэкенд-разработчик
Его основная ценность – в hard skills:
· минимум 2-3 языка программирования, например, C#, Js, Python, SQL (познакомившись с одним, осваивать другой будет проще);
· проектирование систем, состоящих из множества взаимосвязанных элементов;
· тестирование кода – проверка работы программы целиком и её отдельных блоков, чтобы выяснить, соответствуют ли они требованиям заказчика;
· разработка документации: инструкции для пользователей, обзоры программного обеспечения, справочники по работе алгоритма, кода, интерфейса и API;
· знакомство с принципами Agile-подхода и методики Scrum для продуктивной работы в команде.
Из «мягких» навыков, важных для back-end-разработчика, можно выделить:
· коммуникабельность, которая необходима для оптимального карьерного роста;
· умение подстраиваться под изменения – ведь цифровые технологии не стоят на месте, постоянно меняются обстоятельства, а программистам приходится решать уникальные нетривиальные задачи.
Плюсы работы в бэк-енд-разработке:
1) Глобальная востребованность. Высококлассного специалиста, владеющего английским языком, охотно примут на работу международные IT-компании.
2) Мобильность. Вы можете работать из любой точки мира – большинство компаний допускают удалённый формат сотрудничества.
3) Вы меняете мир, создавая продукты для сотен тысяч и миллионов пользователей. Ваша работа – и есть прогресс, который влияет на жизнь вокруг вас.
Недостатки профессии backend-разработчика:
1) Вред для здоровья. От долгого сидения перед монитором страдает спина, суставы и зрение, появляется лишний вес.
2) Сложный баланс между работой и личной жизнью. Если вы хотите стать высокооплачиваемым профессионалом, придётся в течение нескольких лет в начале карьеры всё свободное время посвящать профессиональному развитию. Да и потом, чтобы оставаться в курсе тенденций и не остать от прогресса, понадобится отдавать много сил дополнительному образованию.
Комментарий недоступен
Про SQL вообще не так... Нахрен он нужен, когда у тебя объектная СУБД и вся мощь Java или Cpp в качестве DDL. Мы без него десятилетиями обходимся. проекты тут https://kernel.group/
Думаю, что просто в этом направлении рынок слабо развит: очень мало специалистов, работавших с Actian или другими объектными БД, мало историй успеха от разных команд и проектов. Отчасти дело в высокой цене, отчасти в том, что компании не видят ценности, а ещё мало пиара таких баз. Если бы были популярны открытые объектные БД для Java, далее за условные $1K — более крутые, за $10K — ещё более крутые, и так далее, то появился бы и спрос, и специалисты.
Объектных баз для Java и Cpp много, бесплатных, дешевых, дорогих и дальше как вы описали. Рынок не развит, вы правы. Есть популярный на западе стандарт - JPA. И весь этот пласт неизвестен в наших краях. Исторически что ли так сложилось? Хороших разрабов на CPP / Java достаточно много, но они почему то как в анекдоте "мыши плакали, кололись, но продолжали есть кактус" )) Использовать с объектно-ориентированным языком реляционную базу - такое себе удовольствие. Попробуешь объектную СУБД, к реляционному трешу не вернешься )
Для Cpp или C#?
Так-то JPA многие классические ORM имплементируют, в частности, Hibernate, TopLink и Spring ORM. Да и многие рекомендуют работать с ORM именно через Java Persistence API. Так что я бы не сказал, что это что-то совсем незнакомое.
На мой взгляд, чем больше разрабов познакомится с JPA, тем лучше. Но использовать ORM - зачем? Эта прокладка уже давно не нужна. Об этом написал в статье https://vc.ru/life/263279-versant-object-database-obektnaya-subd-rodom-iz-gamburga