4 книги, благодаря которым можно стать лучшим программистом

0
5119
views

Перевод статьи Блейна Осепчука «4 books guaranteed to make you a better programmer».

Теория ограничений

Одна из самых сложных проблем программной инженерии — определить, над чем работать дальше.

Я знаю, что это смелое заявление, но думаю, что есть достаточно доказательств в его пользу. В своем недавнем посте я говорил о том, как важно всегда работать над самым важным делом. Я писал:

«Тяжело определить следующую самую важную вещь [над которой следует работать], поскольку простор для выбора огромен, а варианты тяжело поддаются сравнению. Но я обнаружил, что теория ограничений очень помогает сконцентрироваться на зонах высокой значимости и не обращать внимания на детали».

Проблема в том, что изучить теорию ограничений по книге тяжело. Несколько экспертов написали романы о людях, изучающих и применяющих теорию ограничений. Эти книги помогут вам понять основы этой теории (кроме того, их просто интересно почитать).

1. The Goal: A Process of Ongoing Improvement (“Цель: процесс непрерывного совершенствования”)

Авторы: Элияху М. Голдратт и Джефф Кокс.

Цель: процесс непрерывного совершенствования

Это книга, с которой все началось. 1980-е годы. Алекс руководит фабрикой, которая движется к банкротству. Заказы запаздывают, расходы высоки, а конкуренты воруют его клиентов. Но Алекс находит наставника, который обучает его теории ограничений. И это открывает ему глаза на то, как на самом деле работает его фабрика. Алекс делится своими знаниями с сотрудниками и путем тяжелой работы им удается сохранить компанию.

Из четырех книг я прочитал эту первой. Она позволила мне оценить сложность оптимизирующих систем и понять, как сильно могут навредить благие намерения. Понять концепцию легче, когда имеете дело с физическими вещами. В условиях ограничений на фабрике вы буквально видите, как накапливается незавершенная работа. Если ваш продукт — программа, то увидеть подобное практически невозможно.

2. It’s Not Luck (В русском переводе «Цель-2: Дело не в везении»)

Автор: Элияху М. Голдратт

Дело не в везении

Это продолжение «Цели». Алекс получил повышение и теперь руководит тремя компаниями. Совет намерен продать их, если Алексу не удастся повысить прибыль. Алекс узнает больше о теории ограничений и применяет ее к другим, не производственным проблемам. Он использует свои новые навыки чтобы еще раз спасти положение.

Из этого списка книг я советую читать данную книгу последней. Она представляет «Мыслительные процессы», которые у Голдратта являются инструментами логического анализа. Я их испробовал. Они действительно мощные, но их изучение это большая инвестиция. Я предполагаю, что меньше одного процента читателей захотят изучать эту теорию на таком уровне. Здесь вы найдете краткое описание «Мыслительных процессов». А если вы и правда хотите изучить их, я рекомендую «Теорию ограничений Голдратта» Вильяма Деттмера.

3. Velocity: Combining Lean, Six Sigma and the Theory of Constraints to Achieve Breakthrough Performance (в русском переводе – «Новая цель. Как объединить бережливое производство, шесть сигм и теорию ограничений»)

Авторы: Ди Джейкоб, Сьюзан Бергланд, Джефф Кокс

Новая цель

Несмотря на недостаток квалификации, Эми становится временным президентом терпящей крах компании. Она пытается внедрить гибридную программу улучшений «Бережливость» — «6 сигм», которую ей спустили из материнской компании. Программа погружает компанию в хаос и ухудшает ситуацию. Только когда Эми приходит к настоящему пониманию того, как работает ее компания, и узнает о теории ограничений, ей удается начать принимать разумные решения и спасти свою компанию.

«Новая цель» имеет еще одну сюжетную линию, касающуюся улучшения производительности в исследовательском отделе, что будет особенно интересно разработчикам программ. После прочтения этой книги вы также поймете сильные и слабые стороны «Бережливости», «6 сигм» и «Теории ограничений». Эти системы популярны в деловом мире, так что вам не повредит познакомиться с ними.

4. The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win (в русском переводе – «Проект «Феникс». Роман о том, как DevOps меняет бизнес к лучшему»)

Авторы: Джин Ким, Кевин Бер, Джордж Спаффорд

Проект"Феникс"

Билл – IT-менеджер среднего звена в компании по производству автомобильных деталей. Однажды его вызывают в офис директора. Где он узнает, что босс его босса уволен и теперь он отвечает за IT. Будущее компании зависит от успешного запуска нового IT-проекта под названием «Феникс». Запуск откладывается уже год, а бюджет превышен на миллионы долларов.

Проект должен быть запущен успешно и в поставленные сроки, иначе весь отдел IT переведут на аутсорс. Билл быстро узнает, что IT в совершенном беспорядке. Компания утопает в своем хаосе, но Билл начинает знакомиться с теорией ограничений и DevOps, и таким образом медленно достигает прогресса. Ценой больших усилий Билл и его союзники спасают компанию.

Эта книга мне понравилась больше всего. Я просто оторваться не мог.

Как эти романы помогут вам стать лучшим программистом

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

Каждая из четырех книг следует одному и тому же шаблону. Главный герой получает повышение в плохой ситуации, где ему приходится быстро учиться и приобретать новые навыки, необходимые для успеха. Хаос и проблемы его захлестывают, он не может понять, что ему сделать, чтобы как-то исправить ситуацию в имеющихся условиях. В конечном итоге каждый из героев находит себе учителя. От наставников они узнают о системном мышлении и теории ограничений. Затем герои применяют свои новые знания для концентрации своих усилий и максимизации воздействия.

Программисты часто оказываются в подобных ситуациях. Нам часто не хватает ресурсов, мы тонем в заданиях и стараемся успеть к дедлайнам. Если вы в достаточной мере познакомитесь с системным мышлением и теорией ограничений, вы начнете видеть шаблоны и использовать их для нахождения того, что вас ограничивает. Как только найдете – вам станет проще игнорировать все остальное (и не тратить на него время). Вместо этого вы сфокусируетесь на главном и сделаете как можно больший вклад в результаты вашей компании.

Советы по чтению

Не обязательно читать все четыре книги, чтобы стать лучшим программистом. Эти соображения могут сохранить вам некоторое количество времени:

  • Начните с «Проекта «Феникс». Это самая новая книга, она будет самой легкой для программистов и к тому же в конце нового издания вы найдете отличный раздел с источниками.
  • Прочтите «Новую цель» следующей, если захотите узнать больше.
  • Прочтите «Цель», если работаете на производстве или сильно хотите почитать первоисточник «Теории ограничений».
  • Можете спокойно пропускать все дополнительные линии повествования вроде семейных драм (кроме истории с Эми и ее приятелем, поскольку он одновременно и ее наставник) – они не играют большой роли.
  • Если вы решите прочесть больше одной книги, не читайте их подряд. Постарайтесь растянуть чтение по времени, чтобы иметь возможность применить то, что узнали в первой книге, прежде чем погрузиться в следующую.

Заключение

Эти книги и развлекательные, и обучающие. И я гарантирую, что прочтение любой из них изменит ваш подход к вашей работе программиста. Как только вы поймете теорию ограничений и что она значит для вашей работы, вы уже никогда не будете относиться к ней по-прежнему. Я обещаю.



ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here