Мы, инженеры в ИТ (админы, программисты и тысячи других профессий) работаем со сложными системами. Наши системы росли десятилетия. Умнейшие инженеры планеты наслаивали абстракции, упрощали себе и своим коллегам жизнь, искали различные способы улучшить производительность и надежность. Описание одного только ядра одной операционной системы Linux - это кирпич в 500 страниц убийственно сложного текста, который невозможно читать иначе как по паре страниц за заход. Это я про Linux Kernel Developement сейчас говорю, но вообще он там не один такой - таких книг целая полка и остальные не проще. Описание сетевого стека UNIX еще хуже, там почти тысяча страниц. Если кому-то кажется, что юниксоидов обижают и у пользователей Microsoft жизнь много проще – вас ждет Windows Internals от Соломона и Руссиновича, она тоже порядка 600 страниц, да и внутренний мир windows описывает ограничено, ибо коммерческая тайна. Традиционно ИТ – это много вдумчивого и внимательного чтения гигантских объемов текста. Системы, с которыми мы работаем по сложности напоминают космический корабль – миллион различных ручек, и каждая нужна для чего-то. А неправильная ручка гарантированно приведет к катастрофе. Кажется, что сложность – неотъемлемая часть нашей работы. Как не может быть света без тени, так и не может быть ИТ без сложных, непонятных, опасных в неумелых руках систем. Я жил с этой идеей 20 лет своей карьеры.
Я был неправ.