Windows, или Туда и обратно
https://t.me/ithuetiЛонгрид про рабочее окружение. Я попробую сделать выжимку в конце, но ничего не обещаю.
В разработке под платформы для живых людей (мобилки, Win, Mac) вендор дает IDE и есть какие-то общие практики (само собой, веб и Линукс - платформы для нелюдей). На предыдущем рабочем месте настройка рабочего окружения от выдачи компьютера до сборки проекта занимала пару часов с учетом загрузки пакетов, установки IDE и сборки. Я сейчас говорю только о той части, где надо писать код и запускать отладку, зайти в джиру и поставить нескучные обои не учитываем.
И вот полгода назад я пришел в новую компанию на позицию C++ разработчика в команду компьютерного зрения, а тут все не так как в разработке десктопных продуктов. Во-первых целевая платформа - Линукс. Во-вторых специфика железяк и их SDK. И на заре проекта было решено все базовые зависимости держать в докере. Разработка велась там же. По этой и не только причине в этот докер засунули VSCode, XOrg и VNC.
Мне выдали бук с виндой, которую я нежно люблю и считаю лучшей ОС (дизлайк, отписка). И я пытался, писал код в Sublime и VSCode, запускал CMake в докере и так первые 2 недели, а потом я столкнулся с обстоятельствами непреодолимой силы в связи с которыми было принято решение переехать на Ubuntu 16.04. Я страдал от неидеальности Unity и Gnome и в итоге остановился на KDE.
В определенный момент мне все-таки понадобилось отлаживать код (неожиданно и внезапно, само собой), что с помощью VSCode - невозможно, а с GDB в терминале - неприятно. Я стал смотреть как бы подсунуть в окружение QtCreator, который умеет открывать CMake проекты. Смонтировал его в докер, прокинул иксы - взлетело, можно тыкать мышкой в брейкпоинты и прочие радости полноценной IDE.
В процессе работы я допилил докер образ, вычистил мусор, он полегчал с 24 до 9 гигабайт (очищайте артефакты сборки в процессе сборки докеров). Завел отдельный образ для разработки, куда положил QtCreator и PyCharm. Запилил скриптик, стартующий dev контейнер на Linux и Mac. И теперь все было идеально, а еще коллеги при желании могут пользоваться этим окружением выкачав репу с docker-compose и скриптом запуска.

Вернемся к KDE. Кеды под меня допилить легко, если бы не 2 бага. Первый я ловил каждый день и связан он с тем как я привык работать. У меня 2 монитора между которыми расположена панель задач (или просто панель в KDE). Там всё, и это всё расположено ровно по центру моего рабочего пространства. В KDE все окна, находящиеся по обратную сторону панели считаются находящимися ниже, даже если панель вертикальная и они могут быть слева или справа, поэтому перенос окна на соседний экран вызывал его перебрасывание за область видимости. Это решалось галочкой "Разрешить перекрывать окна" в настройках панели. И это прекрасно всем, кроме того, что окна перекрывались панелью, а я это не хотел. Но терпел. Windows - Ваши способности. Наше вдохновение. Mac - Думай иначе. Linux - страдай, сука, терпи.

Второй баг прекрасен во всем и даже начинаешь верить теточкам из бухгалтерии, у которых компьютер - это монитор. В Apple работают не дураки и отказ от всего в пользу Type-С - очень правильное решение. Это универсальный интерфейс и делай через него что хочешь, только деньги плати за эти опции. Но мы, айтишники, народ разбалованный, и все игрушки у нас за деньги компании. Поэтому рабочее место здорового человека в 2019 году это, на мой взгляд, док-станция в которую воткнуто все что вам нужно, а с другой стороны один провод. Пришел, достал ноутбук, подсоединил, поработал, отсоединил, ушел с ноутбуком. Именно так оно у меня... Именно так оно у меня и работало бы, но в KDE при отсоединении ноутбука от экрана панель может "остаться на мониторе", а при подключении обратно может не появится. И вот от этого я устал. Я даже сделал бэкап панели. Но в один прекрасный день я решил - что ты за человек, если компьютер вынуждает тебя делать "бэкап панели". Линукс сосет а ты вместе с ним (вот сейчас я имею ввиду GUI с которыми я работал, в остальном - мое почтение). Надо что-то менять.

И менять я решил ОС, т.к. окружение разработчика разворачивается у нас чуть дольше, чем по гигабитной сети скачивается 14 гигабайт докер образа. Для Windows надо только поставить иксы и mingw. И т.к. это было первый раз, с переустановкой докера и копированием рабочих файлов на другой раздел переезд занял у меня 4 часа + время на нескучные обои. И вот уже неделю я сижу на винде, разрабатываю в QtCreator под Линукс и наслаждаюсь тем, что все просто работает.
Смотрите, какая красота!

А теперь, что же я хотел всем этим сказать:
0. Излить душу, спасибо что дочитали до сюда (а тебе нет, ты пролистал).
1. Разворачивание окружения для разработки должно быть максимально простым и быстрым, чтобы новичок (а особенно джун) сел и уже завтра мог править баги и пилить фичи.
2. Выделяйте рабочее время на улучшение рабочего процесса, сами не заметите как начнете любить свою работу (еще больше).
3. Пользуйтесь хорошими вещами, в том числе ПО, в том числе платным, это экономит время и это время может даже отобьет те деньги, что вы заплатили. Но точно сэкономит вам нервы (хотя сначала все-таки триалочку попробуйте).
4. Как я рад, что у вас в Линуксе ВСЕ РАБОТАЕТ.
Подписывайтесь https://t.me/ithueti
Для связи https://t.me/antonso