Почему не устроило предыдущее место работы?

Ответ

Основная причина — отсутствие возможностей для профессионального роста в области Node.js и современных веб-технологий. На предыдущем проекте использовался устаревший стек: преимущественно callback-стиль вместо async/await, отсутствие TypeScript, монолитная архитектура вместо микросервисов.

Конкретные примеры из опыта:

  • Поддержка legacy-кода с глубокой вложенностью callback'ов ("callback hell"):
    function processUserOrder(userId, orderId, callback) {
    db.getUser(userId, (err, user) => {
    if (err) return callback(err);
    db.getOrder(orderId, (err, order) => {
      if (err) return callback(err);
      // ... ещё несколько уровней вложенности
    });
    });
    }
  • Отсутствие современных практик: не было code review, CI/CD pipeline'ов, автоматического тестирования.
  • Технический долг накапливался без планов по рефакторингу.

Я искал позицию, где смогу применять и развивать навыки работы с современным Node.js-стеком: TypeScript, Nest.js/Fastify, микросервисная архитектура, контейнеризация, и где ценятся качество кода и инженерные практики.

Ответ 18+ 🔞

А знаешь, почему я с того места свалил? Да потому что там, ёпта, профессиональный рост в Node.js был как у черепахи в асфальте — никакой, блядь. Сидел я на проекте, где технологии застряли где-то в 2012-м, ей-богу. Всё на коллбэках, этот ваш ад коллбэков, TypeScript — это было ругательство, а про микросервисы там и слыхом не слыхивали, один монолит, который только бензина жрал.

Вот тебе, блядь, живые примеры, от которых волосы дыбом:

  • Поддержка этого легаси-кода, где вложенность коллбэков была такая, что я сам от себя охуевал. Называлось это "callback hell", а на деле — просто пиздец, чистая пиздопроебибна. Смотри, какую дичь приходилось читать:
function processUserOrder(userId, orderId, callback) {
  db.getUser(userId, (err, user) => {
    if (err) return callback(err);
    db.getOrder(orderId, (err, order) => {
      if (err) return callback(err);
      // ... ещё несколько уровней вложенности
    });
  });
}

Чувак, это ж надо было иметь терпения ноль ебать, чтобы в этом ковыряться. Каждый раз как в джунгли лезешь, только вместо лиан — стрелочные функции.

  • А про современные практики там, блядь, и речи не было. Code review? Да похуй. CI/CD пайплайны? Хуй с горы. Автоматические тесты? Это что-то из разряда фантастики. Технический долг копился, как снежный ком, и всем было насрать. Чувствовал себя археологом на раскопках древнего говна, а не разработчиком.

Вот я и искал место, где можно нормально работать с современным стеком: TypeScript, Nest.js или Fastify, микросервисы, контейнеры — всё как у людей. Где качество кода не пустой звук, а инженерные практики ценятся, а не вызывают удивление пиздец. Ну не могу я, понимаешь, в таком болоте киснуть, когда вокруг ебать колотить, сколько всего интересного происходит.