Найти в Дзене

Куда пойти? Направления в программировании

Сегодня попробуем перейти к конкретике.

Предположим, вас в целом заинтересовала идея стать программистом, но встает вопрос - "а что собственно я буду писать?", явно же не это:

10 GOTO 20
20 ECHO "Hello world"

Поэтому держите список основных и самых "на слуху" (далеко не полный список, иначе эта статья распухла бы до состояния энциклопедии) - направлений в программировании:

1. Веб-разработка.

Раньше веб-разработкой называли только клепание сайтов, интернет-магазинов и порталов. Сейчас с развитием интернет-технологий, веб есть везде: в телевизорах, телефонах, в корпоративных сетях и т.д и т.п.

В 2021 под веб-разработкой понимают использование веб-технологий для построения любых приложений. Т.е. это разработка какого-то бекэнда (сервера, принимающего запросы и отдающего ответы) и фронтэнда - то, что видит пользователь в своем браузере. Это может быть как и раньше - и сайт и портал и рабочая CRM-система и какой-то b2b сервис и многое другое.

Исходя из вышесказанного, сразу всплывают два под-направления, специализации: фронтэнд и бекэнд.

Основные языки программирования здесь: JavaScript, PHP, Ruby, Python и иногда Java.

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

2. Разработка под мобильные платформы

-2

Что тут скажешь, у каждого теперь есть как минимум смартфон, а как максимум: смартфон, смартчасы, смарттв и смартчайник)

Для всего этого нужны приложения.

Основные языки мобильщиков: Kotlin, Swift, Java, Си диез))) и всякие *-native JavaScript'ы.

3. Геймдев

-3

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

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

Тем не менее инди-студии, тоже существуют и иногда не хило выстреливают.

Идти на галеру или пилить свой независимый проект в гараже... - ну что ж, вам решать.

Основные языки: C, Си шарп, Java, JavaScript, Lua

4. Десктоп

-4

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

Языки: да тысячи их!

5. Data-science

-5

Если говорить о перспективах - то здесь будущее точно есть. Биг-дата, нейронки, самообучаемые системы - это то, что через буквально пару лет будет абсолютно везде. Любые, даже самые примитивные приложения и сервисы будут пытаться "думать", анализировать вас и под вас подстраиваться. (Как это сейчас делают всякие спотифаи, яндекс-музыки и прочие). Анализ изображений и видео, голос в текст, переводчики, анализ статистики... Всего не перечислишь!

Очень крутая сфера, но. наверное с самым высоким порогом вхождения. Тут нужна математика на хорошем уровне, матаны, матстаты, алгоритмика и много чего еще.

Языки: Python, C, Go...

6. САП, автоматизация предприятий

-6

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

Отличный вариант, для тех, кто хочет поменять сферу деятельности.

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

Хороший специалист по автоматизации предприятия, понимающий предметную суть - на вес золота.

Языки: ну, предположим, 1С

Есть еще много и много сфер и направлений, например: системное программирование, разработка для встраиваемых систем, IoT ("умный дом")... Но темы это довольно специфические и новичку явно не подойдут.