0,0
рейтинг
25 декабря 2013 в 13:23

Разработка → Страсть к программированию. Глава 19. Прямо сейчас из песочницы

image

О переводе


Это перевод 19 главы книги The Passionate Programmer: Creating a Remarkable Career in Software Development. Её автор — Chad Fowler — талантливый Ruby-разработчик, известный докладчик на конференцияx, посвящённых Ruby и IT в целом. Бывший саксофонист, а сейчас — CTO 6Wunderkinder.

Проект перевода книги на github.






Представьте, что вы на соревновании с призом в 100 000$. Первая команда, сделавшая ПО, которое реализует A/R приложение, получает приз. Вы с командой коллег зарегистрировались на участие. Соревнование займёт все выходные. Чтобы победить, ваш код должен быть полностью протестирован и реализовывать минимальный набор требований. Вы начинаете в субботу утром и у вас есть время до утра понедельника, чтобы завершить работу. Первая команда, которая закончит до понедельника, победит. Если ни одна из команд не успеет, то побеждает та, что реализовала большее число фич.

Вы внимательно читаете требования к приложению. Глядя на этот набор фич, вы осознаёте, что система, которую требуется реализовать, по размеру и возможностям подобна тем, над которыми вы работали ранее. В то время как ваша команда согласовала цель — закончить к середине воскресенья, вы мимолётом задаёте себе вопрос: «Как такое получается, что на подобное ПО вы тратите недели работы в офисе, но сейчас собираетесь справиться за единственные выходные?»

Но когда соревнование начинается и вы погружаетесь в работу, вы осознаёте, что ваша команда намерена достичь своей цели. Вся команда на подъёме, штампует фичу за фичей, правит баги, принимает решения по дизайну за доли секунды и доводит дело до конца. Вы чувствуете себя отлично. На митингах и совещаниях в офисе вы часто мечтали о том, чтобы увести маленькую команду из бюрократической среды и пронестись через процесс разработки приложения в рекордные сроки.

У многих из нас есть эта мечта. Мы знаем, что наши рабочие процессы замедляют нас. Не только они, но мы знаем, что скорость нашего окружения является причиной нашего замедления.

Закон Паркинсона гласит, что
Работа заполняет время, отпущенное на неё.
Печально то, что даже если мы не хотим идти по этому пути, мы можем попасть в ловушку, особенно, если у нас есть задачи, которые мы по настоящему не хотим делать.

В случае соревнования на выходных у вас нет времени на откладывание задач, поэтому вы их не откладываете. Вы не можете задерживать принятие решений, поэтому вы не задерживаете. Вы не можете избежать скучной работы и вы знаете, что должны её сделать так быстро, что никакая работа не сможет стать очень скучной.

Закон Паркинсона это эмпирическое наблюдение, а не неизбежная судьба человека. Чувства срочности, даже искусственного, достаточно для увеличения продуктивности вдвое или втрое. Попробуйте и вы увидите. Вы можете сделать задачи быстрее. Вы можете сделать их сейчас. Вы можете довести их до конца, вместо того, чтобы только говорить об этом.

Если вы относитесь к своим проектам как к соревнованию, вы будете доводить их до конца намного быстрее, чем если бы относились к ним, как к тюремной камере. Создавайте движение. Будьте тем, кто толкает. Не расслабляйтесь.

Всегда будьте тем, кто спрашивает:
Что мы можем сделать прямо сейчас?


Действуй!


  1. Рассмотрите задачи, над которыми вы сидите уже очень много времени, проекты, которые уже начали покрываться плесенью или в которых вы немного застряли.
    Выберите одну, чтобы вы могли заниматься ей просто в перерывах вашей нормальной работы, когда вы обычно сидите в интернете, проверяете почту или очень долго обедаете. Превратите многомесячный проект в проект, который сделаете меньше, чем за неделю.




P.S. Сообщения об ошибках принимаются в ЛС.
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (5)

  • 0
    Да, в точку! На хакатоне сделали рабочий пример за 1.5 дня. Затем начали переделывать(чтоб всё было по уму), и завязли в одном месте. Нужно попробовать/научиться соревноваться с самим собой и может тогда получится быстрей продвигаться всегда, а не только в критические моменты.
  • +7
    Ускорение происходит не просто так, а «в кредит», т.е. за счёт накопления технического долга.
    На всех этих хакатонах производится высококостыльный код с далеко не идеальной архитектурой. Получившиеся проекты могут быть стабильными, рабочими, выполнять весь заявленный набор функций, но их невозможно поддерживать, особенно если потребуется вернуться к этому коду месяца через два. И уж тем более такой код нельзя «сдать» (продать как вариант) другой команде, т.к. написать его с нуля гораздо проще и дешевле, чем разобраться в уже написанном.
    • 0
      Да, но за счёт этого вы можете быстро проверить бизнес качества идеи, и Костыли&велосипеды могут начать работать уже завтра и показать что такой продукт нафиг никому не нужен и вы не потратите месяцы на крутую архитектуру.
      • 0
        Прототипы иногда нужны, но я особой разницы не вижу — написать его за полтора дня напряжённого кодинга или за неделю спокойной работы. А когда надо писать нормальный код, то это в любом случае процесс долгий.

        Ещё кроме технического долга есть психический. Если я работаю по 12 часов в день, я могу так неделю работать, но потом я сгорю и буду по 2-3 часа в день максимум что-то выдавать, причём низкого качества, для ментального отдыха мне нужен месяц-два (ну или хороший отпуск). Может есть люди, которые способны держать мозги на максимуме постоянно, не знаю.
        • 0
          Если речь идет о прототипах — то их нужно делать максимально быстро, и после этого выбрасывать. Именно так. Сделать максимально быстро и костыльно, чтобы проверить идею.

          В вашем примере за 2 недели можно проверить (написать) 2 идеи. В примере выше — 9.

          Если вы «работаете на дядю» да еще и в аутсорсе, ваш вариант понятен и повсеместен. Если вы работаете в небольшой продуктовой компании, да еще и сами ей владеете — тогда он просто недопустим)

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.