pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Какая сейчас ставка у верстальщиков?

Лучший ответ: не знаю что это за зарплата для программиста/верстальщика - 200 долларов. 
в нормальных компаниях даже студентам-стажерам которые нихрена не умеют и ничего не делают в районе 1000 платят (я про москву/питер конечно говорю), просто не работайте с нищебродами, вас же никто не заставляет кому-то бесплатно сайты верстать.
не стоит соглашаться на первое встречное предложение, учитесь продавать свои навыки, иначе никогда ничего не заработаете.

Худший ответ: Кому сейчас нужны верстальщики?
Небольшим веб-студиям, работающим на российский рынок. Сайты сейчас есть практически у всех, региональные студии получают заказы через столичных перекупов. Зарплаты верстальщиков в студиях минимальные, те самые пресловутые 200-500 баксов. 
Ориентируйтесь в сторону frontend-а - работа на продуктовые, аутсорсинговые, аутстафные компании. Оплата труда там в разы выше, плюс в цене фронты с хорошими навыками верстки.
Ну и смотреть в России в сторону вордпресс - это как заведомо лишать себя крупных зарплат ) 
С ним программист может хорошо зарабатывать разве что на зарубежном фрилансе - но увы, поговаривают, на тот же апворк с такими навыками одно время не пускали, мол, там своих хватало.
Вопрос: Как развлечь себя во время ожидания компиляции/возникновения ошибки при дебаге?

Лучший ответ: Попробуйте играть с собою  в камень-ножницы-бумагу на щелбаны.

Худший ответ: www.vc.ru
www.dtf.ru
после гиктаймза - как глоток свежего воздуха.
Вопрос: Что выбрать для углубления знаний (backend)?

Лучший ответ: Оставайся в дотнете. Переход в указанные области я бы посчитал шагом назад во всех смыслах.
Если работаешь на работе, которая не мотивирует развиваться и делать что-то сверх нормы, поменяй её, здесь не в языке проблема.

Худший ответ: Для rapid dev лучше учить php-фреймворки, yii2-symphony-laravel
Для длительной разработки лучше учить computer science)
Для упрощённого поиска работы - опять же php-фреймворки и Битрикс.
Если гнаться за призрачным будущим - node.js. Хотя php7 довольно неплох!
Вопрос: Как можно перехватить проводной трафик, если коммутатор решает куда отправить пакет?

Лучший ответ: Ну давайте подумаем...
1) на физическом уровне можно вставить врезку в кабель, где-то на последней миле может быть радиорелейный пролёт (вы об этом даже не узнаете), тут даже вставку делать не надо, в конце концов можно и к транзитному сетевому оборудованию физический доступ получить, а ещё есть инструменты анализа электромагнитного фона (даже через силовые шнуры)
2) на канальном уровне можно применить arp-спуфинг, переполнить таблицу коммутации свича, подловить кривой конфиг xSTP, экспериментально подобрать мак/влан на соседнем порту для искусственной коллизии...
3) на сетевом уровне можно подменить шлюз (много разных техник и использованием того же ARP, VRRP, тупая подмена IPадреса), DHCP, подхачить протоколы маршрутизации (о, тут целое поле для маневров) и пустить через себя транзит.
4) на уровне приложений фишинг, подломы DNS уже стал притчей во языцех, так там ещё и сами приложения отлично ломаются.
А где-то есть ещё MPLS, зеркалирование трафика (так называемое lawful interception), серверы для работы со всем этим хозяйством...

Худший ответ: Вы путаете уровни.SSL шифрует трафик на вашем компе, и он расшифровывается только на сервере. В теории никто не может прочитать ваши данные, даже если будет контролировать провода. Хотя будет видно, куда идут пакеты, но что в них - не известно.MAC-адреса актуальны только в локальной сети, то есть до первого маршрутизатора. А дальше в Интернете ваш MAC никто не поймает.
Это на пальцах. :)
Вопрос: Сервис для маркетинга в социальных сетях?

Лучший ответ: Есть сервис https://buffer.com/ он поддерживает facebook, pinterest, instagram, google+, twitter, linkedin + есть мобильный клиент

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

Лучший ответ: $(el).on('click', function() {
  $(this).toggleClass(className);
});

// Первый вариант с jQ. Где e - это нужный селектор,
// на который нужно повесить событие "клик"
// this - тот же селектор, его можно заменить на другой, нужный
// className - это имя класса, который нужно добавлять
// и удалять по событию "клик"

// Так как подозреваю, что Вы недавно в JS, объясню подробней:
// Большинство листенеров (слушателей, событий) можно повесить
// Именно описанным сверху способом, где мы меняем
// 'click' на 'mousemove', 'resize' и так далее по необходимости
// Первый параметр здесь - название события
// Второй - функция-коллбэк, функция обратного вызова,
// Которая срабатывает при наступлении этого события
// И никогда иначе. 
// Внутри тела функции-коллбэка (то есть внутри фигурных скобок)
// Проводим все необходимые Вам действия.

document.querySelector(el).addEventListener('click', function() {
  el.classList.toggle(className);
});

// Второй вариант на plain JS, делает то же самое
// Для простоты, красоты и читабельности кода можно 
// заранее объявить переменную
// и записать в неё ДОМ-элемент:

var el = document.querySelector(el).

el.addEventListener(....)

Худший ответ: Если брать ваш пример то вам нужно только вначале поставить $('li:nth-child(n5)').hide();
Ну тоисть вам просто нужно "спрятать" те елементы которые должны быть скрыты, это делает ф-ция .hide() обратная ей .show(). Также эти лишки можна и цсс-ом скрыть . https://jsfiddle.net/asxsoy9v/11/
Вопрос: Sublime Text 3 в связке с WinSCP?

Лучший ответ: в настройках WinSCP выставить редактор ST3в настройках ST3 "save_on_focus_lost": true
Дерева, как вы хотите не будет, но сэкономите на телодвижении CTRL+S
Если еще довавить LiveReload, верстать станет намного приятней.

Худший ответ: Пользуюсь WebDrive - всем доволен.
Вопрос: Если разница в компаниях по какому методу верстаю сайт mobile first или desktop first или еще какой нибудь?

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

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

Лучший ответ: Этот тип называется "обычный дизайн для обычных людей" 
Аккуратно написан текст и все оформлено. Без трендов 2010-2017 годов.
Единственно шрифт Proxima вошел в моду в каком-то году и пока еще не вышел из моды))
Material - это про материал и главное взаимоотношения между ними (кнопки, карточки, какая из них лежит поверх, тени, продавливание вглубину или поднятие наверх, анимации и взаимодействие).

Худший ответ: Никакой, там и дизайна никакого нет, сделали "из того, что было", верхняя панель навигации в стиле Flat, почти Google Material, а кнопки - переходные между Rich и Flat, примерно года 2010.
Вопрос: Смена активного класса при клике с помощью vue.js?

Лучший ответ: Сложить пары "текст кнопки / имя класса" в объекты, объекты в массив, массив сделать свойством компонента:

data: () => ({
  items: [
    { buttonText: '+', className: 'container' },
    { buttonText: '-', className: 'container-fluid' },
  ],
  ...
}),
На основе этого массива создавать кнопки:

<button
  v-for="n in items"
  v-text="n.buttonText"
  :class="{ active : active === n.className }"
  @click="active = n.className"
></button>
Похоже на то, к чему вы стремились?

Худший ответ: Сложить пары "текст кнопки / имя класса" в объекты, объекты в массив, массив сделать свойством компонента:

data: () => ({
  items: [
    { buttonText: '+', className: 'container' },
    { buttonText: '-', className: 'container-fluid' },
  ],
  ...
}),
На основе этого массива создавать кнопки:

<button
  v-for="n in items"
  v-text="n.buttonText"
  :class="{ active : active === n.className }"
  @click="active = n.className"
></button>
Похоже на то, к чему вы стремились?
Вопрос: Какой путь у новичка в Go?

Лучший ответ: Go идеален для новичков, потому что он сделал процесс входа в язык максимально простым. И так, схема действий:
1) https://tour.golang.org/ - проходим весь курс. Самое важное в этом туре - это задачи. Они занимают 80% времени, но дадут 95% понимания и главное что вы лучше всё запомните
2) Effective Go читаем полностью.
Всё, вы уже можете считать себя программистом на Go и будете понимать почти всё о чём говорят другие программисты.
На оба этих шага вы потратитен пару дней. Я уверен, что любые книги про Go вам в итоге не дадут больше информации, чем эти два шага, зато сожрут кучу времени.

Худший ответ: Первым и обязательным шагом должно быть понимание - зачем оно вам надо или может понадобиться в будущем.
Из книг - https://www.golang-book.com/books/intro и www.gopl.io
Вопрос: Как создать «систему мониторинга состояния сетевого оборудования»?

Лучший ответ: поставить Zabbix

Худший ответ: Где найти этого человека?
В какое сообщество?
Вопрос: Как добавить данные к уже имеющимся в ячейку формата JSON?

Лучший ответ: причем тут explode если ты используешь json. 
json_encode() -> json_decode()
serialize() -> unserialize()

Худший ответ: Удобнее всего их хранить в массиве или в ячейке формате JSON.
нет, удобнее всего делать нормально.
hasMany называется. Relations между Modelями и всякое такое.
Вопрос: С чего начать изучать информационнную безопасность?

Лучший ответ: Сам учусь в универе на этом направлении, то могу посоветовать книгу Грайворонского(не знаю есть ли она на русском, но можешь поискать).

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

Лучший ответ: 1) У тебя где то должны быть деньги.
2) Этот "где-то" предоставляет API по распоряжению деньгами.
3) Твое приложение просто дает команду твоему серверу.
4) Твой сервер обращается к API той платежной системы, где у тебя деньги.
5) Платежная система и делает перевод по твоей просьбе.
Как вариант вместо API это может быть живой человек, просто в личном кабинете банка/платежной системы нажимающий кнопочки по списку платежей.
Для того чтобы это сделать - нужно изучить платежные системы имеющиеся на рынке:
Кто из них имеет удобный API, кто из них позволяет выводить деньги именно тем методом что тебе нужен - на карту. У кого из них тебя устроит стоимость услуг.
Примеры платежных систем:
Yandex.Деньги, Cyberplay, Payoneer и пр.

Худший ответ: 1 - если вы физическое лицо - ни как.. официально.. то есть можете написать бота к веб интерфейсу своего любимого банка, но СМС подтверждение операции, вам придется вводить в ручную
2 - если вы ИП или "юрик" - просите api у своего банка
ps подчеркну, InoMono говорит о платежных системах, есть еще WebMoney (динозавр в рунете кстати).. но это все не прямой вывод на карты - и это политика системы налогового надзора государства, это невозможно обойти ни какими api
pps если у вас счет в банке, где есть api для физиков, и можно отключить двухфакторную авторизацию - бинго!... но наверняка там будет не дешевое обслуживание... (ну и если вас хакнут - я не завидую...
ppps - у вас вроде iOS упомянут? присмотритесь к внутренним платежам мобильных вендоров, но повторюсь - к картам вас без контроля не пустят
Вопрос: Как передать get параметры в url в Django?

Лучший ответ: И, не будет работать, потому-что get параметры не являются частью этого  url адреса url(r'^coupons$', views.coupons, name='coupons'),
поэтому делаем так <a href="{% url coupons %}?category=1">

Худший ответ: Документация
Вопрос: Можно ли чисто на PHP узнать включены ли Cookie без перезагрузки страницы?

Лучший ответ: Нельзя.
Можно только получить переданные заголовки браузером.
Но это ничего не будет значить.

Худший ответ: Можно попробовать не давать ему открыть страницу первый раз. Т.е. если куков нет вообще - выдавать пустую страницу устанавливающую куки с рефрешем.
Но в этом случае человек с отключенными куками вообще не увидит ваш сайт, а получит вечный редирект.
Вопрос: Карусель jquery?

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

Худший ответ: Можно реализовать на slick carucel. Почитай документацию, там детально описано
Вопрос: Решение задач программирование?

Лучший ответ: 1) Олимпиадные задачи как раз таки и развивают логику и сообразительность. Как иначе вы собираетесь улучшать эти показатели, решая ребусы со спичками? Смешно.
2) Проблема не в том, что вы не можете решить сразу, это как раз нормально. Проблема в том, что вы не хотите тратить на это время и сразу бежите в интернеты.
3) Возьмите 1 задачу. Прочитайте, подумайте что можно сделать. Не получается? Думайте дальше, пока не решите. Даже если на это уйдет целая неделя.

Худший ответ: С синтаксисом особых проблем нет.
Проблемы возникают с решением задачек. Не получается самому найти решение, постоянно в интернете ищу решения. 
Учить синтаксис, с которым у тебя особых проблем нет.
Вопрос: Если я куплю американский macbook, слетит ли у меня гарантия при гравировке букв?

Лучший ответ: Я бы порекомендовала научиться печатать вслепую, и тогда не понадобится эта гравировка (у самой мак из Америки)

Худший ответ: какая гравировка?? какое печатание вслепую??? просто идете в Preferences -> Keyboard -> Input Sources и добавляете Russian - Phonetic. Через два дня будете печатать так же вслепую со скоростью как на ЙЦУКЕН.
Вопрос: Какие есть средства автоматизации для интернет-магазинов?

Лучший ответ: Очевидно что самопис или же приводить прайсы поставщиков к единому виду

Худший ответ: 1. Задать жесткий стандарт для поставщиков, чтобы те соблюдали его
2. Настроить программу под стандарт поставщика, этот стандарт тоже должен быть соблюден в рамках одного поставщика (то есть будет куча адаптеров)
3. Написать нейронную сеть, которую научите работать
4. Написать поставщику решение, где ЕГО менеджеры бы делали загрузку под вас (насколько знаю — такое можно много где увидеть) я как-то хотел взяться для виниловых пластинок для лейблов запилить софт :) но у меня тогда были лапки :)
Примером 1 варианта является Yandex Feed (для маркета) — под него легко подвести поставщиков, тк используется много где помимо сервисов Яндекса
Примером 2 видел в живую, как от книжных издательств собирали данные
Можно использовать промежуточный вариант, например сделать несколько конвертеров в одном инерфейсе, которые бы могли съедать xls, xml, csv и выдавать единый csv, который бы менеджер доводил бы до приемлемого состояния, а далее уже автоматом все делалосьЗадача больше про договоренности и бизнес-прцоессы, а также рынок, чем конкретно про разработку
Вопрос: Как блокировать P2P трафика с помощью Suricata (OpenVPN)?

Лучший ответ: Дистрибутив для маршрутизаторов Zeroshell умеет в nDPI (с GUI, что редкость), можете потестить. nDPI определяет по заголовкам тучу протоколов.

Худший ответ: заблокировать P2P конкретней торрент трафикТоррент-трафик может быть зашифрованный. Определить можно только по косвенным признакам.
Вопрос: Не быдлокод это или можно как-то по-другому?

Лучший ответ: Он и без margin прижат.

Худший ответ: Ты подключи normalize и проблем подобных не будет
Вопрос: Блокирует ли сигнал wifi медная фольга соединенная с минусом питания?

Лучший ответ:  70% пространства текстолита не задействованоПротравите на нём антенну.

Худший ответ: Помимо того, что фольга будет выступать отражателем (рефлеткором), через который сигнал не будет проходить, так еще и между отраженными элементами  будут возникать явления интерференции и дифракции, которые совсем не прибавят вам канальной скорости. Я полагаю, что в целом Вы получите очень прискорбный результат, хотя все зависит от расположения антенны внутри корпуса и качества экранирования.
Сделайте как предложил Константин Цветков - вытравите антенну на свободной плоскости, или если платы уже готовы - можно сделать накладку из нового слоя текстолита с антенной. Ну а если не позволяет толщина (нельзя два слоя) фрезерните отверстие и вставьте текстолит с антенной.
На самом деле вариантов масса - было бы ТЗ :)
Да, и не забудьте учесть ДН планарных антенн.
Вопрос: Как собирают аналитику сервисы типа 2ip.ru, ipinf.ru, www.similarweb.com и др.?

Лучший ответ: Предполагаю, что скачиваются списки доменов от регистраторов (они в открытом доступе)
Берутся только делегированные домены
Дальше по списку проходятся домены и резолвятся ip адреса
Всё складывается в базу и получаем необходимые привязки

Худший ответ: Дешевле заплатить
Гуглите
В открытых источниках много всего лежит
Вопрос: Почему частные IP адреса именно такие?

Лучший ответ: Ответ от создателей RFC1918.

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

Лучший ответ: 1. Если вопрос о работе самого флекса, то разумеется он давно работает хорошо. 97% поддержка,  на это как бы намекает.
А если о самом свойстве, то разумеется оно не волшебное и все проблемы не решает. На мой взгляд очень слабо проработан многострочный вывод блоков, т.к. изначально flex про выстраивание на одной оси. Нельзя mansonry раскладку сделать, нельзя своё выравнивание для последней/первой строки сделать.
2. Фреймворки в том или ином виде используют все. Если не чужие, то свои делают. Все задачи типовые и каждый раз всё с нуля писать, нет смысла.
Не любят, потому что Буцтрап, стал по сути конструктором вёрстки для "одарённых". Любой новичёк, лезет сайт верстать, но при этом не может элементарно блок выровнять по центру.

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

Лучший ответ: Что вы врете про 8 лет то? С таким опытом таких вопросов не задают.

Худший ответ: ну так перепишите свои проекты на java, заодно в упор посмотрите на + и -
Вопрос: Как определить в строке иероглифы?

Лучший ответ: тыц

Худший ответ: Регулярки:"/\p{Han}+/u"
"/\p{Hiragana}+/u"
// Korean
"/[\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]/u"
// Japan
"/[\x{4E00}-\x{9FBF}\x{3040}-\x{309F}\x{30A0}-\x{30FF}]/u"
Вопрос: Какую должность перспективней написать в трудовой книжке?

Лучший ответ: Вероятно, у вас какой-то особенный смысл для слова 'перспективы', но отечественная трудовая книжка и перспективы в IT вообще не связаны, на мой взгляд

Худший ответ: Директор/Начальник департамента/отдела информационных технологий. Нужное подчеркнуть, лишнее зачеркнуть и радоваться.Разработка внутреннего программного обеспечения (различные веб-сервисы в связке с 1С, автоматизирующие внутренние бизнес-процессы)Поддержка и развитие инфраструктуры предприятия, внедрение методологий (ITIL), планирование бюджетов ИТ, общение с вендорами и т.д
А вообще как тебе выше и сказали, запись в трудовой книжке волнует только сотрудников центра занятости населения. Ни HR-ру ни Директору предприятия до этой вашей формулировки никакого дела нет
Вопрос: Насколько быстры cms на файлах при большом количестве файлов?

Лучший ответ: При таком кол-ве файлов это будет глупо.

Худший ответ: Всё зависит от реализации структуры хранения и алгоритма поиска в этом хранилище.
Если всё сделать грамотно - это будет однозначно быстрее, чем mysql.
Но, это только разговор про чтение!Пруф: Dokuwiki - работает без БД, на файловом хранилище.
Если Вам нужна модификация/выборка данных - лучше, всё-таки, использовать БД.
Вопрос: С чего начать изучение php7 новичку?

Лучший ответ: Самый лучший вариант, нанять ментора, который будет помогать тебе в возникающих вопросах.Оптимальный вариант, начать разработку на известном фреймворке (который совместим с php7), попутно читая код этого фреймворка.Худший вариант (я выбрал этот, в начале своего пути), писать собственные CMS и фреймворки, которые ни кто не увидит. Но это очень опасный путь, так как ты можешь упереться в потолок собственного кругозора и ни кто тебе об этом не скажет. Еще минус этого пункта в том, что он занимает в разы больше времени, чем перечисленные выше.книгу Мэта Зендстры
Не рекомендую, сложная книга, не научит тебя ООП. Самый лучший вариант, для изучение ООП - начать писать всё на объектах, без статических функций и с применением интерфейсов. Результат гарантирую.НИ В КОЕМ СЛУЧАЕ НЕ ИЗУЧАЙ PHP ПО КНИГАМ

Худший ответ: Если полный новичок, то начать лучше с этого
Вопрос: Можно ли спокойно спать если ip сайта в черных списках?

Лучший ответ: Насчет SEO ничего не скажу, но с почтой проблемы будут. Барракуда - список так себе, второй вообще не знаю, а вот на sorbs рекомендую зайти, поискать себя и посмотреть, что Вам там "шьют".
UPD: Я знаю одну контору, которая давно и прочно в sorbs и спит спокойно :) Но Вам это не грозит, потому что эта контора называется Google :)

Худший ответ: Две из перечисленных баз существенны, поэтому скорее всего банят. В некоторых случаях почтовые службы могут игнорировать наличие ip в RBL, но это для крупных серверов с репутацией.
По поводу сервисов.
Если не рассуждать на тему качества самих сервисов, рассматривая отправку через них (их smtp или API) от того же "грязного" ip сервера, то проблема может сохраниться.
Вопрос: Как защитить проект от воровства программистом?

Лучший ответ: Из сегодняшнего поста "Модульбанк" на FB.
Предприниматель сделал приложение, продажи пошли – и тут вдруг разработчики решили, что их обделили и уходят, забрав исходный код. Универсального способа решить проблему нет, но подготовиться к неожиданностям стоит.
Про правильные договоры
– Если разрабатывает ПО ваши сотрудники, убедитесь, что трудовые договоры обязательно (!) предусматривают создание ими так называемых «служебных произведений». Иначе компания остается без прав на созданный программный код.
– Если ПО разрабатывается на стороне, включите в договор условия об исключительных правах вашей компании. После согласования или получения оплаты вы будете законным владельцем ПО. Иначе подрядчик сможет присвоить себе вашу разработку.
Важно: примеры пунктов для договора смотрите здесь — artgorbunov.ru/bb/soviet/20141206
Режим коммерческой тайны
Открытие сведений коммерческой тайны (КТ) карается Уголовным кодексом, можно даже сесть в тюрьму. Пользуйтесь этим. Для этого понадобится:
– составить список информации, составляющей КТ;
– ограничить доступ к КТ;
– вести учет лиц, получивших доступ к КТ;
– подписывать соглашение о неразглашении (NDA) c сотрудниками и контрагентами;
– ставить гриф «коммерческая тайна» на документах.
Важно: делайте бэкапы для себя — если унесут все исходные коды, то у вас будет база для восстановления.
Про кадры
Юрист и правильные документы – залог успеха. Но даже они не спасают на 100%. Честные сотрудники, которые правильно замотивированы и довольны работой, гораздо реже нарушают правила. 
Желаем найти именно таких!

Худший ответ: 1. Проект делится на части мелкие. Различные части делают различные люди.
2. Вы привносите в проект дополнительную ценность, которую не может привнести программист, например, находите клиентов. ПО без клиентов, даже если оно останется у программистa - смысла лишено.
3. Вы преувеличивайте желание программиста украсть ваш код. Если это квалифицированный программист - он сейчас очень хорошо зарабатывает, полно высокооплачиваемой работы для программиста. А с вашей программой нужно еще возиться, раскручивать.
Вопрос: Рассылки в мессенджерах легальны?

Лучший ответ: Законно. Вы пользуетесь возможностями социальной сети, а не устраиваете флуд/хакерские атаки, поэтому все легально.

Худший ответ: Вы на полном серьезе спрашиваете здесь о нормах законодательства США и/или отдельных штатов?