Какими инструментами вы пользуетесь для поддержания и развития hard skills?

Ответ

Для постоянного развития технических навыков (hard skills) я системно использую следующий стек инструментов и практик:

  1. Разработка и отладка:

    • IDE: IntelliJ IDEA (глубокое использование shortcuts, рефакторингов, плагинов).
    • Профилирование и отладка: JProfiler, VisualVM, Chrome DevTools (для фронтенда).
  2. Тестирование и качество кода:

    • Фреймворки: JUnit 5, TestNG, Mockito для модульного тестирования.
      @Test
      @DisplayName("Сумма двух положительных чисел")
      void sumOfTwoPositiveNumbersShouldBeCorrect() {
      Calculator calculator = new Calculator();
      int result = calculator.sum(2, 3);
      assertEquals(5, result, "2 + 3 должно быть равно 5");
      }
    • Статический анализ: SonarQube, встроенные инспекции IDE для поиска code smells и уязвимостей.
  3. Сборка и автоматизация:

    • Системы сборки: Maven, Gradle (понимание жизненного цикла, написания кастомных задач).
    • CI/CD: GitHub Actions, GitLab CI, Jenkins для автоматизации pipeline (build, test, deploy).
  4. Непрерывное обучение:

    • Практика алгоритмов: LeetCode, Codewars для оттачивания навыков решения задач.
    • Изучение новых технологий: Чтение официальной документации (JDK Docs, Spring.io), использование JDK Early Access builds для знакомства с новыми фичами Java.
    • Эксперименты: Создание pet-проектов на GitHub для тестирования новых библиотек и подходов (например, Quarkus, Micronaut).

Ответ 18+ 🔞

А, ну ты смотри, какой дисциплинированный! Свой профессиональный рост как военную операцию спланировал, блядь. Ну ладно, давай разберём твой этот, блядь, стратегический план по прокачке скиллов, а то я тут сижу, думаю — чувак-то, сука, не лыком шит.

Первое, разработка и отладка. Ну, IDEA — это, конечно, царь и бог, тут спору нет. Но если ты в ней только кнопочки жать умеешь, а всеми этими хуёвинами типа рефакторинга «Extract Method» или «Inline Variable» не пользуешься — то ты, прости, не разработчик, а обезьяна с гранатой, которая случайно код пишет. А эти твои JProfiler с VisualVM — это ж как рентген, блядь. Без них ты слепой, сука, пытаешься понять, почему приложение жрёт память как не в себя — «ой, а чё это у меня всё зависло, наверное, ветер сменился».

Второе, тестирование. О, это святое! Ты пишешь код без тестов? Да ты, извини, ебанутый на всю голову! Это как строить мост и надеяться, что он сам по себе не развалится. JUnit, Mockito — это не для галочки, ёпта. Это чтобы твой же собственный код тебя же потом не наебал в самый неподходящий момент. Вот смотри, даже пример привёл, блядь, прям как в учебнике:

@Test
@DisplayName("Сумма двух положительных чисел")
void sumOfTwoPositiveNumbersShouldBeCorrect() {
    Calculator calculator = new Calculator();
    int result = calculator.sum(2, 3);
    assertEquals(5, result, "2 + 3 должно быть равно 5");
}

Видишь? А если он вместо 5 вернёт 6? А ты и хрен бы узнал, пока какой-нибудь менеджер не пришёл бы с криком «всё ебнулось, нахуй!». И SonarQube — это не занудный надзиратель, а друг, который шепчет: «Чувак, тут у тебя потенциальный NullPointerException притаился, давай-ка исправь, пока не поздно».

Третье, сборка и автоматизация. Maven, Gradle… Ага, mvn clean install нажимать — это полдела. А ты пробовал, блядь, свой плагин написать? Или в этом чёртовом pom.xml разобраться, что там творится в многомодульном проекте? Вот где собака зарыта, сука! А CI/CD — это вообще магия. Настроил pipeline в GitHub Actions, и он сам всё собирает, тесты гоняет и даже, мать его, деплоит. Сиди себе, кофе пей, пока роботы за тебя работу делают. Красота, ёпта!

И, наконец, четвёртое — учёба. LeetCode, Codewars… Ну, это чтобы мозги не закисли, как суп в холодильнике. Решаешь эти ёбаные задачки на алгоритмы, чувствуешь себя умным, а потом возвращаешься к своему Spring Boot-приложению и понимаешь, что жизнь — боль. Но читать документацию — это обязательно! Не какие-то левые статьи с хабра, а официальные мануалы. Там, блядь, вся правда, без прикрас. И pet-проекты — это ж святое! Хочешь Quarkus попробовать? Заведи репку на GitHub и делай! Никто тебя за руку не оттянет, не скажет «это не по ТЗ». Чистое поле для экспериментов, в рот меня чих-пых!

В общем, план у тебя, конечно, овердохуищный. Но главное — не просто список составить, а реально этим пользоваться, а то будет как у того чувака: книг дохуя куплено, а в голове — ветер и паутина.