<НазадВыбираем направление разработки для обучения программированию
2/5/2023Программирование находится в поле зрения многих людей. Кого-то привлекают высокие зарплаты, а кому-то хочется создать свое ИТ-решение.
Этой публикацией я начинаю цикл о том, как стать программистом. Хэштег цикла - #хочукодить.
В этой статье вы узнаете какие бывают направления разработки, чем они отличаются и в каком больше платят.
Выбор направления - важный этап для будущего программиста. Направление должно соответствовать вашим целям и интересам. Для любителей всего красивого подойдет одно направление, а для тех, кому нравятся алгоритмы и все логическое - другое.
Я выделяю несколько основных направлений - фронтенд (frontend), бэкенд (backend) и фулстек (fullstack). Давайте рассмотрим каждое из них.
Направление: Фронтенд
Все мы регулярно взаимодействуем с интерфейсами сайтов, мобильных, веб-, приложений и приложений для ПК. Все это - фронтенд или клиентские приложения.
Вот список основных задач фронта (фронтенд разработчика):
- Верстка интерфейсов. Это процесс преобразования дизайна интерфейса в код, используемый для отображения веб-страниц или экранов. Каждый интерфейс состоит из кнопок, полей ввода и иных элементов.
- Написание логики взаимодействия с элементами интерфейса. Это преобразование в код того, что должно происходит при взаимодействии пользователя с элементами интерфейса.
- Написание логики взаимодействия с бэкенд приложением. Что такое бэкенд и для чего он нужен, поговорим в следующем разделе.
Если у вас есть тяга ко всему красивому, вы педантичны к визуальному оформлению и хотите видеть визуальное отображение ваших трудов, то можете попробовать это направление разработки.
Направление: Бэкенд
Представьте интернет-магазин. У него может быть несколько фронтенд приложений: сайт, мобильное приложение, панель администратора/модератора. Каждое из этих приложений должно постоянно взаимодействовать с базой данных, например для создания, редактирования или удаления товаров. Неужели придется писать код взаимодействия с базой данных для каждого фронтенд приложения?
Нет. Это ресурсоемко и небезопасно. Ресурсоемко, потому что при смене логики или типа базы данных, придется переписывать эту часть логики во всех приложениях. Небезопасно, потому что доступная в общей сети интернет база данных - лакомый кусок для хакеров.
Бэкенд приложение - это компонент ИТ-решения, который отвечает за всю логику взаимодействия с базой данных и общие функции бизнес-логики продукта, например авторизацию, обработку файлов, взаимодействие с сервисами онлайн оплаты.
У бэкенд приложения нету графического интерфейса, а задачи, которые оно решает больше алгоритмического плана.
По статистике, зарплаты бэкенд разработчика выше, чем у фронтенд.
Если вам неважна визуальная составляющая, вы любите логические, алгоритмические задачи и хотите разрабатывать "сердце" комплексного ИТ-решения, то попробуйте это направление разработки.
Направление: Фулстек
Фулстек разработчик - это человек оркестр, который может писать как фронтенд, так и бэкенд часть продукта.
Стать фулстек разработчиком - это долгосрочная цель. Я рекомендую начинать с фронтенда или бэкенда. Стать в выбранном направлении профессионалом, после чего переходить в фулстек режим.
Фулстек - это круто. Вы сможете разработать комплексный продукт самостоятельно и получить за это очень хороший гонорар.
Заключение
Если вы любитель визуальной красоты, присмотритесь к фронтенд разработке, если вы хотите решать интересные алгоритмические задачи и разрабатывать "сердце" ИТ-решения, жертвуя визуальной составляющей, присмотритесь к бэкенд разработке.
Не стесняйтесь ставить цель стать фулстек программистом. Начинайте ее достижение с развития бэкенд или фронтенд навыка.
Если вы чувствуете, что вам нужен наставник на этом нелегком пути, то я всегда к вашим услугам.
Самое свежее
Состав команды разработки
7/6/2023В этой статье мы рассмотрим состав команды разработки ИТ решения
Простыми словами о графах
12/18/2022В этой статье мы начнем знакомство с графами, познакомимся с одним из алгоритмов для работы с графами и реализуем граф на языке программирования Rust.
В чем отличие аутсорсинга разработки от аутстаффинга ИТ-сотрудника для разработки?
10/17/2022В этой статье разберемся, что такое аутсорс- и аутстафф-разработка.
UI/UX дизайн: Процесс создания
4/9/2023В этой статье поговорим об основных шагах в процессе создания UI/UX дизайна.
UI/UX дизайн: Введение
3/29/2023В этой статье мы начинаем знакомиться с UI/UX дизайном. Это важнейший этап в разработке любого визуального интерфейса приложений.
Agile, Шесть сигм и Отсутствие принципа
9/14/2023В прошлой статье мы начали погружение в процесс разработки. Первый этап этого процесса — планирование. На этом этапе проектный менеджер вместе с другими участниками команды формирует пул задач в соответсвии с какой-то методологией ведения проектов.
Знакомьтесь, Пентест
8/22/2022Начинаем рассматривать один из основных методов оценки безопасности компьютерных систем и сетей на предмет потенциальных уязвимостей - тестирование на проникновение
Сокращаем срок реализации MVP
12/8/2022Разберемся со сроками реализации MVP.
Выбираем язык программирования
3/17/2023В этой статье мы поговорим о выборе языка программирования для изучения
Тестирование концепции MVP
1/9/2023Разбираемся с тем, как не потратить бюджеты на разработку MVP впустую
Проектирование архитектуры приложений: Введение
3/6/2023В этой статье поговорим о процессе создания архитектуры ИТ-решения
Техническое задание: Структура
2/17/2023В этой публикации мы рассмотрим универсальную структуру ТЗ
Неверная оценка стоимости услуг ИТ подрядчика
9/10/2022Сегодня мы поговорим о неверной оценке стоимости разработки ИТ решений. Эта боль - одна из основных для предприятий и стартапов, включая самих ИТ подрядчиков.
Введение в паттерны проектирования в разработке программного обеспечения
10/3/2022В этой статье мы начнем погружаться в мир оптимизации архитектуры приложений с помощью шаблонов проектирования
Уровни модели OSI
9/6/2022В этой статье мы более подробно рассмотрим каждый из уровней модели OSI
Основные типы архитектуры приложений
3/7/2023В этой публикации разберемся с тем, какие бывают архитектуры приложений
10 способов использования Rust Cargo
2/11/2023В этой небольшой статье я собрал 10 способов использования системы сборки и менеджера пакетов языка программирования Rust
Документирование кода в языке программирования Rust
8/24/2022В этой статье рассмотрим то, как происходит документирование в Rust и рассмотрим очень полезную возможность - написание тестов через документирование.
Знакомство с моделью OSI
8/19/2022В этой статье начинаем рассматривать фундаментальную модель сетевого взаимодействия - OSI
CSS анимация пульсации
8/31/2022Простой пример того, как реализовать анимацию пульсации, используя HTML и CSS
Для чего нужна ER-диаграмма в процессе разработки?
4/28/2023Обсудим в общих чертах, что такое ER-диаграмма и для чего она нужна.
От концепции к MVP
11/18/2022В этой статье вы узнаете, на примере, о том, как перейти от концепции к MVP без лишних усложнений в функционале продукта
Для чего нужны UML диаграммы?
5/23/2023В этой статье мы поговорим о том, что такое UML диаграммы, какие они бывают и где используются
Введение в написание технического задания
1/31/2023Техническое задание - это важная часть процесса разработки. В этой статье начнем погружение в данный вопрос.
Введение в разработку
10/10/2022Сегодня большинство компаний сталкивается с ИТ-разработкой и часто не получают то, чего хотят. В этой статье мы начинаем погружение в процесс создания ИТ-решений.
От идеи к концепции
10/27/2022В этой публикации мы поговорим о том, чем идея отличается от концепции. Сделаем это на примере конкретной цели
Взвешенные графы
12/26/2022В этой статье мы познакомимся со взвешенными графами, алгоритмом Дейкстры и его реализацией на языке программирования Rust.
Процесс разработки: Планирование
8/16/2023В этой публикации мы начнем рассматривать процесс разработки. Начнем рассмотрение с процесса планирования.