К вам прибегает менеджер и говорит “Срочно, нам нужно это вчера!”. Тут есть соблазн быстро сделать лажу. В этот момент конечно надо взять себя в руки.
Знаете, я слышал “это нужно срочно”, “ещё сегодня утром” или “через час” сотни раз. И ни разу задержка не означала проблему. В 9 из 10 случаях это проблема планирования, иногда реальная необходимость, но срыв сроков по которой на деле не вызовет образование схлопывания вселенной.
Речь конечно же не о багах на продакшене, а о фичерсах.
Когда вы услышали такой запрос, ваш путь может разделиться на путь энтузиаста или путь профессионала. Энтузиаст бросается с удовольствием в работу и пытается выжать максимум возможного. Стремится он конечно же к “правильному” варианту и скорее всего не спит всю ночь.
Профессионал понимает, что за такие сроки можно сделать только лажу. И понимая, что сделать идеально в любом случае не выйдет, выбирает оптимальный вариант, компромисс между идеальной картиной и каким-нибудь откровенно хреновым вариантом.
Сколько может работать энтузиаст зависит от длины мотивации. Но как только мотивация закончится, продуктивность упадет кардинально. Профессионал обычно работает на опыте и не сильно зависит от мотивации, мотивация лишь катализатор.
Можно ещё выделить частный случай профессионала. Настоящего профи. Он умеет выбрать наименее хреновый вариант из хреновых, правильно их сравнить.
В контексте ограниченных сроков всегда нужно оценить все проблемы сейчас и возможные проблемы в будущем, взвесить, что нам даст выигрыш сейчас, и в чём проиграем.
Снимите ответственность за лажу с себя (потому-что не вы эту канитель придумали): предложите несколько альтернативных вариантов, обозначьте их плюсы и минусы сейчас и (важно) в будущем, сроки, конечный путь нужно будет в любом случае выбрать менеджеру.
Смиритесь, успокойтесь, эмоции в стиле “какого хрена вообще” отставьте - вы же профессионал. В такой момент главное рационально всё расставить для себя.
В любом случае поймите, чего-то путного у вас не выйдет и сейчас задача сделать так, чтобы формально прикрыть требования насколько это возможно и при этом сделать решение, которое не будет полностью выкинуто в корзину завтра.
Точно нет особого смысла работать всю ночь, на самом деле все готовы к задержкам. Все надеются, что их не будет, но поверьте, я просто не встречал людей, которые выстрелили бы себе в голову, если то, что они “ждут через час”, на самом деле появится только завтра.
Плюс - это порочная практика. Постоянно работать в таком режиме невозможно, но именно это и происходит, если вы несколько раз срочно сделали (неважно какого качества) со сроком “вчера”. Вероятно к вам вернутся ещё десятки раз, и потом сроки появятся и “позавчера” и “неделю назад”
Мотиватор в голове часто говорит, что “всё возможно”, "всё успею". Но опыт окружающих компаний, разработчиков и менеджеров говорит об обратном.
Причем часто для менеджеров это может являться частью ресурсного плана: тут подкрутим, тут дожмем, тут поработаем помощнее. И хоть и разработчик в этом случае всего-лишь винтик в системе - без него никуда ничего всё-равно не поедет.
Реальное срочно (как раз в случае багов) бывает не когда задачу уже не сделать после дедлайна, а когда потери от несделанной задачи настолько высоки, что нужно сделать кровь из носу. Это редкость.
А ещё у менеджеров бывает любовь называть срочными задачами все подряд. В этом случае перестает работать система приоритетов – все задачи становятся одинаковыми.
Классно, когда вы видите, что задачи повторяются, будучи ленивым профессионалом, скорее всего вы быстро заметите процессы, которые могут быть оптимизированы. И надо стараться их замечать. Что можно сделать один раз подольше так, чтобы в следующий раз не пришлось делать тоже самое
Например, вы каждый день настраивается какой-то json руками, может есть инструменты его генерации или такой можно написать? Или вы хардкодите сотни полей ввода в формах на сайте, а может можно генерить формы из того же json? Ну, а json уже сгенерен ранее :)
Либо в визуальном конструкторе собирать руками менеджеров\аналитиков.
К слову, тут давайте похоливарим. Имхо то, что может быть сделано более дешевой рабочей силой, должно быть сделано ей. Всегда есть консультанты\аналитики\менеджеры, которые получают меньше разработчиков.
Есть смысл делать в те же ограниченные сроки инструменты для аналитиков, нежели каждый раз руками собирать формы, даже если задача от менеджера изначально звучала именно так.
Как только звучит фраза “давайте сделаем хоть как-то, а через год посмотрим”, вы должны понимать, что менеджер идёт путём закрывания дырок в тонущей лодке. И эта лодка проплывет ещё какое-то время, но когда накопится критическая масса таких дырок, лодка просто резко утонет.
И утонет такая лодка очень быстро и резко. Продукт\проект просто схлопнется из-за нежизнеспособности. Чтобы такого не было, нужно сформировать общую парадигму делать оптимальные профессиональные решения, а не быстрые костыли, думать на несколько шагов вперед, как развивать это
Иногда упираемся в бюджеты, мол “хорошо не сделать руками такого маленького отдела разработки” или “у нас нет бюджета на разработчиков”.
Дело в том, что шаг за шагом, по крупицам, если не бросаться в реализацию костылей каждый раз, а каждый раз по чуть чуть добавлять оптимальных решений, они будут выливаться в жизнеспособные инструменты.
И эти инструменты, как мы уже определили выше, позволят работать более дешевой рабочей силе, а не разработчикам, и тогда проблемы с отсутствием бюджета на разработчиков не будет вообще.
Домашнее задание! Самая дешевая рабочая сила это роботы - программы. Если что-то можно оптимизировать с помощью автоматизированных решений, где участие разработчиков и менеджеров\аналитиков не требуется, нужно автоматизировать. В каких процессах у вас можно было бы это сделать?
Как вы поступаете в условиях "всё нужно вчера", "нет бюджета на разработчиков" и "давайте сделаем хоть как-то, а через год посмотрим"?
Какие выходы видите? Самый простой - уйти из компании. Сложнее - поговорить и перестать брать такие задачи (но есть большая вероятность, что вас посчитают лодырем, который расслабился и больше не хочет работать). Ещё?