10 книг, которые должен прочитать каждый разработчик программного обеспечения
Вы хотите преуспеть в своем ремесле? Эти книги содержат идеи и принципы, которыми сегодня руководствуются многие ведущие компании-разработчики программного обеспечения, разработчики и менеджеры по развитию.
Если вы только начинаете свою карьеру в области разработки или уже много лет программируете, эти книги помогут вам стать лучшим программистом.
1. Цель: процесс постоянного улучшения
Элиягу М. Голдратт
Написанный в стиле динамичного триллера, «Цель» — это захватывающий роман, который трансформирует управленческое мышление во всем западном мире. Автор был назван Fortune «гуру индустрии», а Businessweek — «гением». Эту книгу можно рекомендовать своим друзьям в отрасли — даже своему начальству, — но не своим конкурентам.
Алекс Рого — измученный директор завода, все более отчаянно работающий над повышением производительности. Его фабрика стремительно движется к катастрофе. Как и его брак. У него есть девяносто дней, чтобы спасти свой завод, иначе он будет закрыт штаб-квартирой корпорации, что приведет к сокращению сотен рабочих мест. Случайная встреча с коллегой по студенческим временам — Ионой — помогает ему вырваться из привычного образа мышления и понять, что нужно делать.
История борьбы Алекса за спасение своего растения — это больше, чем навязчивое чтение. Он содержит серьезное сообщение для всех менеджеров в отрасли и объясняет идеи, лежащие в основе Теории ограничений (ТОС), разработанной Эли Голдраттом.
2. Проект Phoenix: роман об этом, DevOps и помощи вашему бизнесу в победе
Джин Ким
Биллу, ИТ-менеджеру в Parts Unlimited, было поручено взяться за проект, критически важный для будущего бизнеса, под кодовым названием Phoenix Project. Но проект значительно превышает бюджет и отстает от графика. Генеральный директор требует, чтобы Билл устранил бардак за девяносто дней, иначе весь отдел Билла будет передан на аутсорсинг. С помощью потенциального члена совета директоров и его таинственной философии «Трех путей» Билл начинает понимать, что работа в сфере ИТ имеет больше общего с работой на заводе, чем он мог себе представить. Пока часы тикают, Билл должен организовать рабочий процесс, упростить взаимодействие между отделами и эффективно выполнять другие бизнес-функции в Parts Unlimited.
В быстром и увлекательном стиле три светила движения DevOps рассказывают историю, которую узнают все, кто работает в сфере ИТ.
Читатели не только узнают, как улучшить свои собственные ИТ-организации, но и никогда больше не будут смотреть на ИТ по-прежнему.
3. Справочник по Devops: как добиться гибкости, надежности и безопасности мирового уровня в технологических организациях
Джин Ким
Десятилетиями технологические лидеры пытались найти баланс между гибкостью, надежностью и безопасностью, и последствия неудач никогда не были более серьезными.
Эффективное управление технологиями имеет решающее значение для конкурентоспособности бизнеса. Высокоэффективные организации в 2,5 раза чаще превышают цели по прибыльности, доле рынка и производительности.
Справочник по DevOps показывает руководителям, как создавать культурные нормы и технические практики, необходимые для максимизации организационного обучения, повышения удовлетворенности сотрудников и победы на рынке.
4. Путь Toyota: 14 принципов управления от лучшего в мире производителя
Джеффри Лайкер
Как ускорить бизнес-процессы, улучшить качество и сократить расходы в любой отрасли.
На заводах по всему миру Toyota неизменно производит автомобили высочайшего качества с наименьшим количеством дефектов по сравнению с любым конкурирующим производителем, используя при этом меньше человеко-часов, меньше складских запасов и занимая в два раза меньше производственных площадей, чем ее конкуренты. Путь Toyota — первая книга для широкой аудитории, в которой объясняются принципы управления и философия бизнеса, лежащие в основе всемирной репутации Toyota в области качества и надежности.
Эта книга, дополненная профилями организаций, которые успешно внедрили принципы Toyota, показывает менеджерам в каждой отрасли, как улучшить бизнес-процессы за счет:
- Устранение потерь времени и ресурсов
- Внедрение качества в системы рабочих мест
- Поиск недорогих, но надежных альтернатив дорогостоящим новым технологиям
- Производство в небольших количествах
- Превращение каждого сотрудника в инспектора по контролю качества
5. Scrum: искусство делать вдвое больше работы за половину времени
Джефф Сазерленд
Окончательный отчет о методологии Scrum от ее соавтора и генерального директора Scrum, Inc.
Scrum — это революционный подход к управлению проектами и построению команд, который помог преобразовать все, от компаний-разработчиков программного обеспечения до американских вооруженных сил и здравоохранения в крупных американских больницах. В этой крупной новой книге ее создатель, Джефф Сазерленд, подробно и шаг за шагом объясняет, как она работает и как ее можно заставить работать для кого угодно и где угодно. Возьмем, к примеру, попытку ФБР оцифровать свои записи. Как и в случае со многими программными проектами, первая попытка потерпела неудачу, так как она заняла четыре года и стоила более 400 миллионов долларов. Затем ФБР обратилось к Scrum и чуть более года спустя представило функционирующую систему, которая стоила менее одной десятой стоимости первого проекта и использовала десятую часть персонала. Скрам может помочь не только в крупных проектах.
Каждой организации, независимо от ее размера, постоянно приходится сталкиваться с тем, чтобы предоставить продукт или услугу вовремя и в рамках бюджета. Scrum покажет вам, как это сделать. В нем объясняется, как точно определить, чего вы хотите достичь, как настроить команду для достижения цели и как отслеживать прогресс до успешного завершения проекта. Наполненный практическими примерами, взятыми из всех типов и организаций, он заставит вас переосмыслить основы успешного управления и покажет вам, как добиться успеха, будь то каждый день или амбициозно, независимо от того, маленькая или большая ваша организация.
6. Бережливый стартап: как постоянные инновации создают радикально успешный бизнес
Эрик Райс
Большинство новых предприятий терпят неудачу. Но большинство этих неудач можно предотвратить.
Бережливый стартап — это новый подход к бизнесу, который внедряется во всем мире. Это меняет способ создания компаний и запуска новых продуктов.
Lean Startup — это изучение того, чего на самом деле хотят ваши клиенты. Речь идет о постоянном тестировании вашего зрения, адаптации и корректировке, пока не стало слишком поздно.
Сейчас самое время подумать о Лин.
7. Чистый код: руководство по гибкому программному обеспечению
Роберт Мартин (дядя Боб)
Даже плохой код может работать. Но если код не чист, он может поставить организацию разработчиков на колени.
Каждый год бесчисленное количество часов и значительных ресурсов теряется из-за плохо написанного кода. Но так не должно быть.
Эта книга поможет вам понять:
- Как отличить хороший код от плохого
- Как писать хороший код и как превратить плохой код в хороший код
- Как создавать хорошие имена, хорошие функции, хорошие объекты и хорошие классы
- Как отформатировать код для максимальной читабельности
- Как реализовать полную обработку ошибок, не затеняя логику кода
- Как проводить модульное тестирование и практиковать разработку через тестирование
Эта книга необходима любому разработчику, инженеру-программисту, руководителю проекта, руководителю группы или системному аналитику, заинтересованному в создании более качественного кода.
8. Непрерывная доставка: надежные выпуски программного обеспечения посредством автоматизации сборки, тестирования и развертывания
Джез Хамбл
Выпуск программного обеспечения для пользователей часто является болезненным, рискованным и трудоемким процессом.
В этой новаторской книге излагаются принципы и технические приемы, позволяющие быстро и поэтапно предоставлять пользователям высококачественные и ценные новые функции. Благодаря автоматизации процесса сборки, развертывания и тестирования, а также улучшенному сотрудничеству между разработчиками, тестировщиками и операторами, группы доставки могут выпускать изменения в течение нескольких часов, а иногда даже минут, независимо от размера или сложности проекта. своей кодовой базы.
Авторы знакомят с самыми современными технологиями, включая автоматизированное управление инфраструктурой и перенос данных, а также использование виртуализации. По каждому из них они рассматривают ключевые проблемы, определяют передовой опыт и демонстрируют способы снижения рисков.
Независимо от того, являетесь ли вы разработчиком, системным администратором, тестировщиком или менеджером, эта книга поможет вашей организации перейти от идеи к выпуску быстрее, чем когда-либо, чтобы вы могли быстро и надежно приносить пользу своему бизнесу.
9. Прагматичный Программист
Эндрю Хант
Прямо из окопов программирования, The Pragmatic Programmer прорезает растущую специализацию и технические особенности современной разработки программного обеспечения, чтобы изучить основной процесс — принять требование и создать работающий, поддерживаемый код, который восхищает его пользователей.
Он охватывает самые разные темы, от личной ответственности и карьерного роста до архитектурных приемов, позволяющих сохранить гибкость кода, легкость его адаптации и повторного использования.
Прочтите эту книгу, и вы узнаете, как
- Борьба с гниением программного обеспечения
- Избегайте ловушки дублирования знаний
- Пишите гибкий, динамичный и адаптируемый код
- Избегайте программирования по совпадению
- Пуленепробиваемый код с помощью контрактов, утверждений и исключений
- Зафиксируйте реальные требования
- Тестируйте безжалостно и эффективно
- Порадуйте своих пользователей
- Создавайте команды прагматичных программистов
- Сделайте свои разработки более точными с помощью автоматизации
Независимо от того, являетесь ли вы новичком в кодировании, опытным программистом или менеджером, ответственным за проекты программного обеспечения, используйте эти уроки ежедневно, и вы быстро заметите повышение личной производительности, точности и удовлетворенности работой. Вы освоите навыки и разовьете привычки и взгляды, которые станут основой для долгосрочного успеха в вашей карьере. Вы станете программистом-прагматиком.
10. Гибкая разработка программного обеспечения, принципы, шаблоны и практика
Роберт Мартин (дядя Боб)
Эта книга включает методы OOD, UML, Design Patterns, Agile и XP с подробным описанием полного проектирования программного обеспечения для программ многократного использования на C++ и Java.
Используя практический подход к решению проблем, он показывает, как разрабатывать объектно-ориентированное приложение — от ранних стадий анализа до низкоуровневого проектирования и реализации. Он знакомит читателей с мыслями дизайнера, показывая ошибки, тупики и творческие идеи, возникающие на протяжении всего процесса разработки программного обеспечения.
В книге подробно обсуждаются методы проектирования и разработки больших программ. Включает в себя трехглавый, углубленный, один пример системы безопасности здания.
Для инженеров-программистов, программистов и аналитиков, которые хотят понять, как разрабатывать объектно-ориентированное программное обеспечение с помощью современных методов.