pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как узнать путь скрипта?

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

Худший ответ: Добрый вечер.
Как вариант $_SERVER
Да, забыл, почитайте для начала здесь
Вопрос: Учитывает ли Яндекс и Google ссылочную массу из конкретной 1 социальной сети?

Лучший ответ: Подтверждаю все сказанное Фёдор, но стоит отметить, что как минимум гугл серьезно ударился в поведенческий фактор. И частично тут польза будет, не как ссылочная масса (количество ссылок на сайт), а как тематическая ссылка, которая генерирует тематический трафик.
Экспериментов пока нет на данный момент и вряд ли это принесет ощутимый результат сегодня, но смотря на тенденции в изменении алгоритмов ПС. Думаю в ближайшем будущем, наличие ссылок из соц сетей, которые генерируют тематический трафик, будет иметь вес.

Худший ответ: Почти никак. Ссылки с твиттера обычно загоняют для быстрой индексации. С ВК почти никакого смысла в "просто" ссылках нет.
Либо если углубиться в SMO или крауд-маркетинг, то толк будет, но довольно косвенный, если говорить конкретно о ссылочной массе.
Вопрос: Существуют способы «незаметной» регистрации?

Лучший ответ: авторизуйте по аккаунтом в соц сетях и ничего придумывать не надо

Худший ответ: достаточно базовой авторизации - логин и пароль
и куки не нужны кстати
Вопрос: Почему Victoria показывает «unknown attribute»? Все ли ок с диском?

Лучший ответ: потому что виктории 9 лет. всё нормально.

Худший ответ: Все утилиты, показывающие статус S.M.A.R.T. у SSD, несколько вольно трактуют атрибуты. И какого-то единого варианта здесь нет, потому что у разных накопителей одни и те же параметры могут означать разные вещи. Соответственно, Victoria показывает Unknown, потому что авторы программы не вбили в свою базу расшифровку этих параметров для накопителей Samsung.
Вообще же, если почитать, что говорит про свой S.M.A.R.T. сама Samsung, то 235 - это POR Recovery Count - фактически, число некорректных по мнению контроллера отключений питания от SSD. 241 - Total LBAs Written - число записанных за время эксплуатации LBA-блоков (по 512 байт).
Вопрос: Практика и углублённое изучение Java?

Лучший ответ: Зависит от того, в каком направлении Вы собираетесь развиваться. Если допустим бэкэнд, пару ссылочек, когда то ради интереса смотрел, для начала вроде бы неплохо, объясняют основывеб сервис Java 1веб сервис Java 2
для теории, почитать что то интересное, из всех блогов что я в свое время читал, в этом очень много тем покрыто
Можно например написать какой то свой сервис (подбирать интересную музыку для тебя например), у которого будет нормально разделен бэкэнд и фронтэнд, то есть у тебя например будет веб  интерфейс, и возможноть добавить мобильные приложения (используя апи твоего сервера). Здесь и REST и сервисы и в облако все залить можно. Так же можно начать смотреть в сторону фреймворков spring projects и трендовых  штук 
Главное желание развиваться и все получится !!!

Худший ответ: посмотрите на hexlet.io, там есть слак чат, пишите простенькие 2D игры, если работаете в айти сфере попробуйте какие нибудь утилиты для себя написать.
Вопрос: Можно ли настроить отображение панели задач Linux Mint на двух мониторах?

Лучший ответ: Вопрос старый, но может кому сэкономит время.
Тыкался с этим битый час. Оказалось все "интуитивно", и ставить расширения не обязательно.
Дистрибутив Cinnamon 18.1
Параметры системы  => Панель
Жмем "Добавить новую панель" выбираем место на втором мониторе.
Но, внезапно, задачи не попадают на новую панель, она так и остается пустой. 
Чтобы заработало нормально, правый клик  на панели основного монитора => Изменить панель => "Копировать конфигурацию апплетов". На новой панели дополнительного монитора соответственно 
 "Вставить конфигурацию апплетов". 
После копирования конфигурации получаем две самостоятельные панели для каждого монитора. На каждую попадают окна открытые на соответствующем мониторе.

Худший ответ:  У меня два монитора. Хочу на первом вести основную работу, а на дополнительном держать открытыми всякие фоновые программы, чтобы периодически на них посматривать.
Мне кажется, дополнительные рабочие столы для этого намного удобнее.
Повесил 4 стола на кнопки f1-f4, вообще перестал голову ломать. Переключаться удобно.
И фоновые программы не отвлекают.
Ну, а если очень хочется, можно попробовать это.
http://web-notes.ru/2014/05/делаем-2-панели-задач-...
Долго искал когда-то, но потом перешел на 18 и не стал ставить.
Не знаю о работоспособности на 17-18.
Тут еще полезная инфа по этой теме.
https://linuxmint.com.ru/viewtopic.php?t=207
Обсуждение уже про 17-ю версию.
Вопрос: Откуда такая нагрузка на процессор?

Лучший ответ: Диспетчер задач не все процессы отображает.

Худший ответ: Вероятнее всего обнова винды или чето с этим связанное.
Можешь поискать программы которые показывают ВСЕ запущенные процессы.
Вопрос: Автоматическая смена ролей пользователя в Wordpress после оплаты в Woocommerce?

Лучший ответ: Здравствуйте, я бы рекомедовал вам обратиться во фриланс биржу и поставить задачу на реализацию подобного функционала.
А так быстрый поиск в гугл дал следующие результаты (без владения рнр, кодекса ВП и API Woocommerce, вы вряд ли сможете реализовать это):
- https://nicola.blog/2016/03/07/changing-user-role-...  (нужно вставить в functions.php)
- https://gist.github.com/troydean/9322593
- https://wordpress.stackexchange.com/questions/1206...

Худший ответ: add_action('woocommerce_thankyou', 'change_user_role_on_order_success');
function change_user_role_on_order_success($order_id ) {
$order = new WC_Order( $order_id );
$user_id = $order->user_id;
$wp_user_object = new WP_User($user_id);
$items = $order->get_items();
foreach ( $items as $item ) {
$product_name = $item['name'];
$product_id = $item['product_id'];
$product_variation_id = $item['variation_id'];
}
if ( $product_id == '999' && $wp_user_object->roles[0] != "administrator"){ // Не исправлять админа!
wp_update_user( array( 'ID' => $wp_user_object->ID, 'role' => "my-role" ) );
} else
if ( $product_id == '777' && $wp_user_object->roles[0] != "administrator"){ // Не исправлять админа!
wp_update_user( array( 'ID' => $wp_user_object->ID, 'role' => "my-role2" ) );
}
}

Как вы можете видеть в коде, пользователи получат роль  my-role, если они покупают продукт id 999, и они получают роль пользователя my-role2, когда они покупают продукт id 777. Заменяйте на нужный. У меня данный код функционирует. Разместить в function.php вашей темы.
Вопрос: Какой Макбук про 2013 или макбук про 2016?

Лучший ответ: Сейчас есть две тенденции: 2015 и 2018. До 2015 по соотношению цена-качество бесполезны, а до 2018 дальше багованные железки. Ну и брать только прошку

Худший ответ: Владею 13ой прошкой 17го года, такое себе удовольствие, греется/шумит, какбудто в космос взмывает))), клавиатура царапает дисплей (гарантия если он в усмерть только) при носке без какойнить бумажечки между дисплеем и клавиатурой))) Клавиши залипают от крошек(лечится руками, но вроде есть гарантия), только вот что красивый и макось, это все достоинства.
Вопрос: Почему скачивается .htaccess?

Лучший ответ: Добавьте строку:RewriteRule ^.htaccess$ - [F]

Худший ответ: Требуется добавить строку:
RewriteRule ^.htaccess$ - [F]
Вопрос: Что такое интерфейс и каким образом он представляет набор операций верхнему уровню?

Лучший ответ: Самое простое понятие интерфейса - сетевая розетка и штепсель (или вилка). К каждой розетке подходит свой тип вилки, например в разных странах разные стандарты.
И вот линия передачи передает некую информацию (пусть это будет напряжение 220V), и чтобы подключиться к этой информации нужен интерфейс с одной и другой стороны (коннекторы или вилка-розетка). Тогда набором операций будет "включить вилку в розетку", и "выключить". 
Если это все перевести на программный уровень, то в понятие интерфейса может добавиться "определить тип розетки", "подать питание", "сигнализировать приемник и передатчик", "зарезервировать нагрузку, полосу пропускания" и т.д.
Таким образом набор операций в виде "интерфеса" определяет те операции, который верхний уровень может делать с нижним, не заботясь о реализации нижнего уровня. Это как включить вилку в розетку, а уж как устроена сама передача по проводам на нижнем уровне, нас не интересует.

Худший ответ: Не знаюкак может помочь, но посоветую использовать wireshark для начала изучения протоколов, где наглядно можно увидеть происходящее + там и wiki неплохая (не rfc конечно..).
Я бы объяснил так: 1 - всегда физика (аппаратное средство приема/передачи сигнала), 2 - логика (из 1 уровня инфе предается определенная структура, в зависимости от типа сети (ethernet, PPP..). Во второй уровень инкапсулируются протоколы уровнем выше, например:
браузерный запрос к сайту в OSI = 
7. HTTP структура
6. utf-8  или другая кодировка, заданная уровнем выше
5. TLS шифрование
4. TCP сокет (тут задается порт)
3. IP 
2. Ethernet/PPPoE и тп.
1. кабель/wifi rx/tx
Вопрос: Как задать плавность исчезающему меню?

Лучший ответ: Добавьте transition: all 0.5s в класс fixed-top

Худший ответ: скорее всего   transition: all .5s ease;  для  .fixed-top не будет работать, потому что transition дает плавность свойствам блока, а у вас происходит удаление блока. 
Поэтому, нужно смотреть что дает .fixed-top, мб там нужно высоту в 0px ставить + opacity или visibility и тогда  transition даст необходимую плавность
Вопрос: Когда наконец таки можно будет сменить никнейм на тостере?

Лучший ответ: Как только вы сможете написать это на support@toster.ru или на https://toster.ru/feedback

Худший ответ: Вы сами решили:
1. Придумать себе такой ник в 2008.
2. Продолжать под ним сидеть.
и админы здесь ни при чём.
Зарегьте себе другой - проблем не вижу.
Вопрос: Можно ли через Mikrotik «прозрачно» преобразовать поток данных по протоколу TCP (port 5060) в поток данных по протоколу UDP (port 5060)?

Лучший ответ: ПО середке Астериск на Paspberry PI?

Худший ответ: Согласен, Астериск очевидное решение, больше того, если других идей не будет, не поленюсь и поставлю сервер, тк Агатов предполагается несколько.
А насчет работы инкапсуляции, также согласен - у обычного роутера это не возможно, тк из летящих UDP датаграммы нужно будет состряпать целую TCP сессию с TCP сегментами в нужном порядке, ну и наоборот в другую сторону. Т.е. произвести своеобразную сетевую трансляцию. Но в микротик напихано столько возможностей, что полностью оценить его возможности может только человек очень глубоко его знающий, вероятность того, что это возможно очень мала, но я не мог не спросить))))
Вопрос: Где создавать макеты веб-дизайна?

Лучший ответ: Photoshop, Sketch, Illustrator.
Главное не забывайте про требования к макетам (актуальны не только для psd).

Худший ответ: Adobe Fireworks 
16 лет пользуюсь )
п.с. адобы казлы, что зарезали его
Вопрос: Как открыить базу данных, не таблицу(SELECT), а базу?

Лучший ответ: В mysql не знаю, но попробуйтеuse invo;
Ещё как вариант:select * from [invo].[table1];

Худший ответ: в mysql базу не открывают, а используют.
use ;
phpmyadmin неявно делает эту команду, когда вы выбираете базу данных в списке баз сервера.
Так что просто пишите запросы...
Вопрос: Как выполнить экcпорт данных из MS Access?

Лучший ответ: Пошаговая инструкция

Худший ответ: Осталось только подумать о обратной схеме: когда данные хранятся сразу в mysql таблицах, прилинкованных к акцессу. И пусть хоть обудаляются акцессовские файлы. :).
Вопрос: Что делать, если заказчик просит скидку?

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

Худший ответ: Если пока нет других заказов, то скидку можно сделать.
Вопрос: Правильно ли использовать Singleton для класса БД и шаблонизатора?

Лучший ответ: Нет. 
Читайте про DI. 
Чем плохо всё остальное:github.com/codedokode/pasta/blob/master/arch/di.md
Реализации на PHP:github.com/ziadoz/awesome-php#dependency-injection.

Худший ответ: Можно.
Нет ничего плохого иметь глобальную ссылку на доступ к базе.
Вопрос: Как передать значение из Span в форму Contact Form 7?

Лучший ответ: в CF7 вам нужно создать скрытое поле type="hidden"
в js добавить обработчик$('.cities_list li').on('click', function(){
    var size = $(this).text();
    $('#ID_hidden_input').val(size);
});
Этот вариант вам подойдет если по умолчанию у вас не выбран ни один из размеров и будет: Выберите размер.
Иначе при отправке #ID_hidden_input будет пустым.

Худший ответ: По идее, вы можете при помощи js кода на клиентской стороне передать значение в контактную форму. Повесьте обработчик на кнопку открытия модалки и при клике на нее передавайте выбранное значние в поле.
Вопрос: Как сделать высоту блока адаптивной?

Лучший ответ: min-height - задаешь своим внутренним блокам, отступы добавляешь и все дела, при необходимости задаешь oveflow: hidden

Худший ответ: min-height - задаешь своим внутренним блокам, отступы добавляешь и все дела, при необходимости задаешь oveflow: hidden
Вопрос: Как сделать данный эффект?

Лучший ответ: ну, можно так...
https://jsfiddle.net/nhgofLx2/2

Худший ответ: Посмотреть код с помощью Ctrl+U, почитать исходники=) Я пока кратко глянул, но каждая буква - отдельный блок...
Вопрос: Как отцентировать текст (ссылки) по вертикали?

Лучший ответ: ну и задайте line-height на фиксированную высоту блока

Худший ответ: хейдера - это смешно
Покажу Вам классную штуку, только не рассказывайте никому - вот
Вопрос: Проблема с несколькими модальными окнами, тех кто сталкиался скажите в чем подвох?

Лучший ответ: Ошибка в том что в модальное окно вложено модальное окно. Зачем такой ад?
Плюс думаю у Вас у модалок id одинаковый, в любом случае решать Вашу проблему можно только видя код. Без кода - все это догадки. А кофейная гуща уже заканчивается.

Худший ответ: Решил проблему удалением 2х классов  у  всех дивов и модалок 
animated
и
fadeInRight
Вопрос: Почему различаются цвета на PSD и на HTML странице?

Лучший ответ: Проверь, в RGB ли макет - пишется на вкладке с документом либо в меню Image -> Mode
Если таки RGB - какой цветовой профиль в макете? Зайди в Edit-> Convert to profile и посмотри, что написано в Source profile. Должно быть sRGB. Если стоит другой - это точно как минимум часть проблемы.

Худший ответ: Так цветовой профиль же подключен. Отключите его - и будете видеть как на самом деле монитор его показывает.
Вопрос: Как в DevTools удобно копировать весь CSS определенного тэга/класса HTML?

Лучший ответ: 
выделяешь и копируешь. в чем проблема? в один клик

Худший ответ: Вкладка Sourses в хроме
указываешь путь у css файла на компе - все само сохранится.
Вопрос: Как сделать функцию,перебирающую массив?

Лучший ответ: Какой массив вам нужно перебрать?
Вообще, способы разные есть: Массив: перебирающие методы

Худший ответ: Вот какбы создаем 8 объектов с разными аватарами как в задании клик
з.ы. у вас тестовое задание на знание ООП, прочитайте про это
Вопрос: Аутентификация для api?

Лучший ответ: Только сегодня уже был вопрос на эту тему. Буквально на первой же странице.
Читайте про JWT.

Худший ответ: Первая ошибка - это отправить ЛОГИН и ПАРОЛЬ POST-запросом.
Отправляем всегда хешированные данные ключом сервера!
Минимум информации - читайте тут.
Вопрос: Как побороть warnings?

Лучший ответ: 19/20. Полю int* argkeys::shortName вы присваиваете строковый литерал, то есть const char*.
26/27. 4-му полю int option::val вы присваиваете argkeys::shortName то есть int*.
25. Переменная не задействована.
30. Функция ничего не возвращает.
Си, как нормальный кроссплатформенный ассемблер, такие присваивания с вопиющим несоответствием типов терпит, но поскольку это часто признаки ошибки в программе, выводит предупреждение.
Что могу предположить? В структуре int* shortName заменил бы на int id или char id, и присвоил бы ему символьный литерал (то есть 'h'). Это автоматически решит и второе предупреждение (как только заменим там shortName на id).
А 25 и 30 — сначала допишите программу до конца.

Худший ответ: В общем я нашел проблему КМК )) Если заменить двойные кавычки на одинарные, то тип int будет работать:...
struct argkeys {
    const char *name;
    int shortname;
    char *helpstr;
    char *manstr;
    char *description;
};
extern const struct argkeys ArgKeys[];

const struct argkeys ArgKeys[] = {
    {"help", 'h', "-h, --help", "-h[--help]", "description"},
    {"version", 'v', "-v, --version", "-v[--version]", "description"}
};
...
Уважаемый Mercury13 , вы совершенно правы. По первым двум пунктам, что вы подметили, я как только не пытался писать. А потом заменил кавычки и о чудо )) Можете объяснить почему так? Или как запрос составить, чтоб почитать?
Вопрос: Как использовать Gulp сборки для других проектов?

Лучший ответ: Просто в новый проект копируй файлы сборки (без node_modules) открывай консоль
Пиши npm i   = как установится уже запускай gulp
или прочти https://zaurmag.ru/programmy-i-servisy/gulp.html#i-2

Худший ответ: Зависит от привычки и сборки, мне всегда было лень устанавливать пакеты, поэтому сделал в сборке npm команду для клона c гита нового проекта.
Вопрос: Как растянуть input?

Лучший ответ: Используйте calc;
Если первый инпут имеет ширину 200px, а второй должен занять всё остальное пространство, то он займет 100% - 200px; Так и пишем: calc(100% - 200px);
codepen.io/anon/pen/vyXYdJ

Худший ответ: Как то так можно сделать.
Вопрос: Как уйти в чистый бэкэнд без знания js?

Лучший ответ: Да вообще без проблем. Особенно сейчас, во времена фронтенд-фреймворков, бэкендер может вообще не видеть html/css/js-кода. Раньше всегда приходилось вёрстку на шаблонизатор напяливать, а сейчас надо только резво выплёвывать json.

Худший ответ: Для бизнес приложений в java есть фреймворки, которые верстают за вас.
Начиная от древних gwt, spring и др.
Вопрос: Как изъять первую цифру из String PHP?

Лучший ответ: $string1 = "5 шт за 1000 руб";
$count1 = (float)$string1;

Худший ответ: Раздроби строку по пробелам и выбери первое значение для каждой строки. Это и будут твои цифры.
Вопрос: Как получать информацию о видео php?

Лучший ответ: Повальсировать с бубном всё же придётся. Надо установить/скачать на сервер ffmpeg и его утилиту ffprobe, которая даёт инфу о медиафайле. Через exec() выполнить её и распарсить ответ:<?php
$filename = "test.mp4";
$cmd = sprintf('ffprobe -v quiet -show_streams -of json "%s"', $filename);
$output = array();
exec(  $cmd, $output);
$data = json_decode( implode('', $output));

$width = $height = 0;
if( $data  &&  isset($data->streams) && is_array($data->streams)  &&  count($data->streams)) {
	foreach( $data->streams AS $i => $stream) {
		if( isset( $stream->width, $stream->height)) {
			$width = $stream->width;
			$height = $stream->height;
			break;
		}
	}
}

echo "Video is ${width}x$height\n"; // Video is 400x224

Худший ответ: Размер файла? Тогда filesize()
Вопрос: Что будет с Ubuntu 14.04 LTS после окончания поддержки?

Лучший ответ: ну гугле забанили ??Старые версии Ubuntu
все переезжает на old-releases.ubuntu.com
там же лежат инсталяционные исошники а также все репозитории ажно с самого первого выпуска.

Худший ответ: without-systemd.org/wiki/index.php/How_to_remove_s...
И используйте свежайший debian без systemd, если уж у вас systemdфобия. 
SysV init из Debian не выпилили, просто по умолчанию используется systemd.
Вопрос: Как узнать какой уровень DOM поддерживает браузер?

Лучший ответ: Не думаю что на этот вопрос может быть ответ в современном мире.
Современный веб состоит из сотен спецификаций, и каждый браузер поддерживает некоторое подмножество этих спецификаций.
Поэтому вместо какого-то уровня стоит проверять поддерживаются ли конкретные нужные вам фичи в конкретной версии конкретного браузера. Для оценки состояния с поддержкой фич можно воспользоваться https://caniuse.com/

Худший ответ: нашел это https://modernizr.com/ возможно кому и поможет
Вопрос: В каком языке, в какой области программирования меньше текучки «знаний»?

Лучший ответ: Говорят Fortran довольно стабильный.

Худший ответ: Вам дали хороший советы.
Я дополню.
Учите SOLID
общие принципы проектирования кода
А так остальное дело синтаксиса.
Зная общие принципы будет чище писать код.
Вопрос: Как оформить договор о совместном развитии проекта с будущей коммерциализацией?

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

Худший ответ: см. простое товарищество
нужен практикующий бухгалтер под такое и посмотри примеры как чего когда разбегаются
фишка в том, что как только зарабатывать - то выгоднее ИП, ООО и т.п., в том числе для УСН, поэтому на практике такое не очень, но под твою задачу "что делаем" вполне подойдет
Вопрос: Изучение и продвижение в PHP?

Лучший ответ: Начните с книги М.Зандстры про PHP. Очень ёмкая и подробная книга, охватывающая много аспектов. На мой взгляд это лучшая книга по PHP.
Ну и порешай к задачки на codewars немножко, чтобы руку набить на простейших вещах

Худший ответ: Посмотрите так же Node.js как вариант для бэкенда. Но я так же полностью согласен с вышесказанным комментарием.
Вопрос: Что учить в университете, чтобы найти работу после его окончания?

Лучший ответ: Выучила c++, python, html, css.
Вы писали что-то хотя бы тысяч на 15 строк кода? То что вы написали, грубо говоря, две маленькие программы, отнюдь не значит, что выучили язык. Выучить язык - это не только выучить синтаксис и базовые вещи. Выучить язык - это прежде всего досконально разобраться с его особенностями и эко-системой.В универе преподают просто ужасно
В большинстве университетах дают фундаментальные знания. Языки программирования отходят на второй план.Не знаю что учить дальше, где набраться опыта?
Да что же вы все один и тот же вопрос задаете ("где набраться опыта?")?Выбираете интересующий вас стэк технологий (web, mobile, desktop и тд) и пилите любой проект, который придет в голову. Это настолько очевидно, что мне даже неловко об этом говорить. Реализуете первую порцию функционала, далее будете постепенно его улучшать. Еще лучше, если выложите этот проект в open source, чтобы им попользовались люди, дали feedback. "Всплывут" баги, будете их фиксить. Скорее всего, получится так, что в определённый момент начнете боятся менять код из-за мыслей о том, что появятся новые баги, поймете, что хорошо бы покрывать код тестами, дабы исключить это. Далее поймете, что вот этот участок кода попахивает и хорошо бы было его переписать... И так далее и тому подобное. Приобретёте необходимый опыт, сможете выйти на фриланс или вообще устроиться в какую-либо IT контору, если время позволяет, конечно.

Худший ответ: Что советую сделать:
1. Понять, что выучить ЯП это как выучить обычный язык: в английском, к примеру, сотни тысяч слов, но даже средний носитель языка знает около 30-40к, больше и не надо. И зазубривая слова без практики говорить не научишься. В программировании так же.
2. Понять, что преподаватели, которые могут научить вас программировать в вузе бывают крайне редко, далеко не в каждом вузе хотя бы один найдется. Как правило они и сами то не умеют, да и программирование учится на практике, а не в лекционном зале.
3. Понять, чего хочется в программировании: веб, back-end front-end, безопасность, геймдев, микроконтроллеры, мобайл и еще куча всего. Для разных направлений используются разные технологии, фреймворки, и соответственно, ЯП. И уже, выбрав направление, гуглить какие там используются ЯП, посмотреть количество вакансий на hh.ru
4. Понять, что голый ЯП без соответствующих фреймворков мало кому нужен, а на изучение некоторых фреймворков может уйти не меньше времени, чем на сам ЯП.
5. После осознания всего этого, выбора направления, просмотра требований понравившихся вакансий на hh.ru, составить roadmap и учить, учить, учить. Не забывая, разумеется, о том, что практика не менее важна.