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