Ночной дозор
Apr 19, 2017 · CommentsВсякая всячина
В нашем главном здании раньше собирали фюзеляжи для Boeing 747. Размах крыльев этого легкого прогулочного самолета - 60 метров, длина - чуть больше 70-и. Внутри здания их таких может поместиться не меньше двадцати и еще место на каток и палатку с шаурмой останется. Кусочек этого ангара отгородили от остального производства (чтобы расплавленный припой, значит, на мониторы не капал) и организовали “open space”, где большая часть наших офисных работников и обретается. Небольшой такой open space. Метров 150 в длину. Ну а че? Размах, то-се.
Спросите любого программиста нравится ли ему open space. Главное проследите, чтобы вокруг тяжелых, удобных для метания предметов не оказалось… По-идее open space должен помогать работникам коммуницировать (в смысле - общаться), решать, так сказать, проблемы сообща. Однако при выкатке этой идеи в продакшен что-то пошло не так. Выяснилось, что после сеанса коммуникации программисты любят погрузиться в транс. Иначе, говорят, код не пишется. А погрузится в транс не получается из-за очереди желающих покоммуницировать.
Я завел себе листочек, на котором отмечаю каждый раз когда меня отвлекли. Один вопрос - одна палка на листочке. За последний месяц случился один день, когда меня никто не отвлекал. Наверное заболели все. Норма - пять-семь палок. Текущий рекорд - двадцать. Удачный был день. Вторник.
Сегодня у нас была “no meetings Wednesday” - “среда без совещаний”. Сегодня в листочек добавилось только две палки. Главным образом из-за того, что я до своего стола добрался два раза за весь день. Остальное время ушло на совещания.
В качестве компенсации мироздание подкинуло ссылку на прекрасное: The Night Watch. Ночный дозор, то бишь. Небольшой рассказ про системных программистов. На русский не переводится принципе. Пара избранных цитат:
What is despair? I have known it—hear my song. Despair is when you’re debugging a kernel driver and you look at a memory dump and you see that a pointer has a value of 7. THERE IS NO HARDWARE ARCHITECTURE THAT IS ALIGNED ON 7. Furthermore, 7 IS TOO SMALL AND ONLY EVIL CODE WOULD TRY TO ACCESS SMALL NUMBER MEMORY.
I described the bug, which involved concurrent threads and corrupted state and asynchronous message delivery across multiple machines, and my coworker said, “Yeah, that sounds bad. Have you checked the log files for errors?” I said, “Indeed, I would do that if I hadn’t broken every component that a logging system needs to log data. I have a network file system, and I have broken the network, and I have broken the file system, and my machines crash when I make eye contact with them. I HAVE NO TOOLS BECAUSE I’VE DESTROYED MY TOOLS WITH MY TOOLS.
Enjoy. :)