Какие технологии, кроме языка, стоит изучить?
Допустим, вы выбрали язык программирования для первоначального изучения. Однако для реальной работы знания одного ЯП мало. Ведь писать программы вы будете для решения практических задач, и работать вам придется с технологиями, применяемым в решении этой задачи. С веб и GUI фреймворками, веб-серверами, с библиотеками для научных вычислений или с инструментами для автоматизации.
И компании, как правило, ищут тех, кто сможет с этими технологиями работать и разбирается в них хотя бы на базовом уровне.
Поэтому после изучения основ программирования и выбранного ЯП, вам придется изучить и некоторые дополнительные технологии.
Как выбрать, что изучать
Тут нет ничего сложного. В каждой сфере ИТ и для каждого языка как правило есть 1-2-3 основных стека технологий, и найти их можно прямо в описаниях вакансий.
Так что идем на сайт с вакансиями (например, HeadHunter), вбиваем в поиск выбранный нами язык программирования, ищем вакансии начинающих разработчиков и смотрим в раздел требований. Для запроса "Java junior developer" мы там, скорее всего, увидим что-то вроде:

Можно просмотреть 10-15 вакансий, которых вы считаете подходящими (по зарплате, условиям труда, местоположению, в общем все как если бы вы прямо сейчас искали себе работу) и попробовать выделить общие пункты.
Списки вопросов к собеседованиям
Помимо сайтов с вакансиями, полезными могут оказаться списки с типичными вопросами с собеседований. Логично, что если вас будут о чем-то спрашивать, то стоит именно это и выучить, не так ли?
Значительная часть таких списков, правда, будет относиться именно к деталям самого языка. К этим вопросам вам в любом случае будет полезно вернуться, подготавливаясь к собеседованию. Но на старте нюансы вам не очень важны, а нужны лишь основные направления.

Сайтов с такими списками множество в гугле по запросу "вопросы к собеседованию <название ЯП>", наподобие https://techrocks.ru/2021/02/03/250-java-interview-questions/ или https://github.com/enhorse/java-interview. Не пугайтесь здоровенных простыней на 100-200-500 вопросов, сейчас вас интересует именно раздел про технологии и инструменты, чтобы вычленить самые популярные названия и добавить в свой список на дополнительное изучение.
Пример начального списка технологий для Java
Из вакансий и списков вопросов можно выяснить, что от Java разработчика начального и среднего уровня обычно всегда требуют:
Знание основ языка (ну, это очевидно).
Опыт работы с базами данных, чаще всего упоминаются JDBC, MySQL, PostgreSQL.
Иногда требуется знание основных структур данных и алгоритмов.
Знание фреймворков, чаще всего упоминается Spring
Знание сопутствующих инструментов: систем контроля версий (чаще всего это Git) или систем сборки (в случае с Java это обычно Maven или Gradle).
Это и будет той базой, которую вам нужно будет изучить самостоятельно, чтобы с высокой вероятностью суметь устроиться на начальную позицию.
Вы также можете сразу попробовать посмотреть и "вакансию вашей мечты". То, к чему вы бы хотели прийти через несколько лет работы, и что могло бы вас мотивировать продолжать занятия. Это может быть senior позиция в крупной известной компании, наподобие показанной ниже вакансии в СберТехе с зарплатой от 250 тысяч рублей. Многие технологии и ключевые слова будут теми же, но добавятся и новые:

На основе такой вакансии вы сможете составить план на изучение дополнительных технологий в свободное время в течение нескольких следующих лет. Это то, что вам понадобится, чтобы через пару лет вырасти из начинающего разработчика и перейти на следующие уровни.
В случае с Java все эти основные технологии (работа с БД, инструменты, Spring) будут разобраны во второй части данной книги. Для других языков и сфер применения ИТ вам придется составить такой список самостоятельно.
Last updated