Шаг 2. Осознанный выбор технологий

У нас уже есть какие-то представления об IT-индустрии в целом. Теперь нам пока выбрать свой IT-путь в рамках работы разработчиком.

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

Критерии выбора технологий:

  • Вам это нравится. Если вам не нравится работать с версткой — то вероятно вам не надо становиться frontend веб-разработчиком. Понимаю, что у вас нет опыта работы с версткой, но вы можете поглубже изучить для каждой области какие там есть проблемы. Если вам не нравится решать такие проблемы — то лучше займитесь другой областью.
  • Ваша смежная область. Если вы сейчас работаете программистом PHP, то вам относительно будет несложно перебраться на ASP.NET или Ruby. Если вы раньше программирования скрипты для каких-то плат и контроллеров, то веб-часть от вас сейчас далека. Если вы бухгалтер, то вероятно вам имеет смысл работать в решениях, ориентированных на этот сегмент (у вас преимущество — вы хорошо знаете бизнес-логику!).
  • Что будет востребовано еще много лет? К примеру спорный вопрос — нужно ли начинать изучать нативную мобильную разработку? Не исключено, что HTML5 будет расширен до всех функций телефона и по сути приложение можно будет создавать на нем (1 приложение для всех платформ). Все большие языки конечно будут еще долго существовать, но все дело в нюансах технологий и их применения.
  • Быстро и просто попробовать. Если вы можете что-то быстро попробовать — то пробуйте. Много вы не потеряете, но получите реальный опыт. Если выстрелит — отлично. Если нет — то просто переключитесь на что-то другое. Есть конструкторы мобильных приложений — почему бы не попробовать работать на них? Есть готовые CMS — почему бы не попробовать поковыряться в них?
  • Оцените объем рынка труда. Побудьте немного маркетологом — зайдите на HeadHunter и посмотрите зарплаты по выбранным технологиям. Посмотрите средние значения, посмотрите потолок.

Очень важный чит-код. Есть такая штука, как статистика ключевых слов в Яндексе wordstat.yandex.ru. Забивайте туда “C# вакансия”, “C# программист”. Разделите одно на другое.

У вас получится некая величина, характеризующая спрос и предложение на C# программистов по данному региону. Сравнивая таким образом различные языки и технологии вы сможете понять что больше востребовано, где предложения на рынке труда недостаточно. Т.е. изначально вы довольно обоснованно выбираете более выгодную специализацию.

Направления разработки

Вкратце расскажу какие бывают в целом направления

По типу приложения:

  1. Веб-приложения. Это сайты, порталы, веб-системы.
  2. Мобильные приложения. Это нативная разработка под IOS и Android. Есть кроссплатформенные решения, например, Xamarin.
  3. Настольные программы. Это то, что устанавливается на вашу операционную систему. См. ASP.NET Win Forms
  4. Утилиты, драйвера, эксплойты и прочее. Это различные программки для решения каких-то узких специфических задач.

Разработка обычно делится на несколько уровней и как раз по уровням можно разбить специализацию программистов:

  1. Работа в базе данных + уровень доступа к данным. Это создание хранимых процедур, проектирование структуры базы данных и т.д.
  2. Работа с бизнес-логикой. Бизнес-логика — это слой, в которым программируются основные последовательности действий. Более подробно про все эти моменты мы рассказываем в своем курсе Core 2.0
  3. Работа на front end. Это вывод интерфейса и реализация логики интерактивности на интерфейсе пользователя.

Также можно разделить на специфические роли:

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

И последняя классификация — по типам предметной области:

  • Вы можете делать приложения для бизнеса
  • Вы можете делать приложения с кучей графики
  • Вы можете делать игры
  • Вы можете делать программы по информационной безопасности
  • Вы можете заниматься какой-то конкретной технологией, например блокчейн

Задание. Сейчас у вас есть вся необходимая информация, чтобы сделать начальный обоснованный выбор в пользу какого-либо направления. Выберите несколько подходящих вариантов и создайте таблицу сравнения по критериям. Не торопитесь. Если хотите побольше узнать о какой-то технологии — вперед в Ютуб, смотрим по конкретной технологии обзорные видео. Результат задания — выбранный сегмент в мире программирования.

Теперь вы готовы к следующему шагу. Ни в коем случае не начинайте делать следующий шаг, пока твердо не решите с своим выбором.

← Как начать программирование. Шаг 1 Как начать программирование. Шаг 3 →