В этой статье мы поделимся результатами недавно проведенного на DOU опроса о книгах, которые читают украинские ИТ-специалисты. Версию 2015 года можно прочитать тут.
В опросе приняли участие 1288 человек. Участники могли выбрать из 13 направлений не более трех, в которых у них больше всего профессионального опыта, и оценить книги соответствующей тематики.
Далее мы анализировали каждую книгу по двум параметрам:
- Популярность — сколько людей прочли эту книгу (из тех, кто выбрал соответствующее направление).
- Рекомендации — как оценивают книгу те, кто ее читал. Респонденты могли выбрать один из трех вариантов: не рекомендую, можно прочесть, очень рекомендую.
Прежде всего, пару дисклеймеров о данных:
- Показатели популярности книг могут быть несколько завышены из-за self selection эффекта: в опросе о книгах, скорее всего, будут участвовать те, кто их читает.
- Многие книги получили достаточно высокие рекомендации. Это можно объяснить тем, что мы изначально составляли список из наиболее популярных книг, учитывая также рекомендации наших читателей.
В итоговый рейтинг мы включили книги, которые оценили хотя бы 30 человек и у которых сумма ответов «можно прочесть» и «очень рекомендую» была больше 90% (как говорилось выше, оценки в целом довольно высокие, и таких книг получилось немало).
Кроме того, мы отдельно изучили ответы людей с опытом в ИТ от пяти лет. Если они высоко оценили книгу, которая не попала в предыдущий список, мы указываем ее дополнительно.
Ниже размещены результаты по отдельным направлениям (по убыванию уровня рекомендации) с обложками для ТОП-3 книг. На виджете внизу страницывы можете посмотреть весь список книг и их оценки (книги, не набравшие достаточно голосов, выделены серым цветом).Полный массив данных доступен по ссылке.
Условные обозначения в таблицах:
% читавших
% «очень рекомендую» + «очень рекомендую»
% «очень рекомендую»
% «очень рекомендую» + «очень рекомендую» от респондентов с опытом в ИТ от 5 лет
Цвет ячеек отображает значение по каждому отдельному столбцу: вышеили ниже.
Серый цвет означает, что не набралось достаточно голосов.
Быстрый переход по направлениям:
C#
C/ C++
Java
JavaScript, jQuery, Node.js
PHP
Python
Ruby/ Rails
Unix/ Linux
Базы данных
Программирование: общие принципы, алгоритмы, ООП
Тестирование
Управление проектами
ИТ-бизнес в целом
C#
Книга | ||||
Skeet J., C# In depth C# для профессионалов: тонкости программирования | 31 | 97 | 77 | 100 |
Troelsen A., Pro C# and the .NET Framework C# и платформа .NET | 52 | 97 | 63 | 95 |
Freeman A., Pro ASP.NET MVC 5 ASP.NET MVC 5 с примерами на C# 5.0 для профессионалов | 36 | 95 | 60 | 92 |
Osherove R., The Art of Unit Testing with examples in C# Искусство автономного тестирования с примерами на C# | 23 | 94 | 67 | 95 |
Richter J., Applied Microsoft .NET Framework Programming Программирование на платформе MS NET Framework | 35 | 93 | 80 | 94 |
Freeman A., Pro .NET 4 Parallel Programming in C# | 17 | 91 | 41 | |
Freeman A., Pro ASP.NET Core MVC ASP.NET Core MVC с примерами на C# для профессионалов | 24 | 91 | 48 |
C/ C++
Книга | ||||
Stroustrup B. The Design and Evolution of C++ Дизайн и эволюция C++ | 40 | 96 | 71 | 94 |
Meyers S. Effective STL Эффективное использование STL | 49 | 96 | 66 | 95 |
Williams A. C++ Concurrency in Action: Practical Multithreading5 Параллельное программирование на С++ в действии | 31 | 95 | 67 | |
Kernighan B., Ritchie D. The C Programming Language Язык программирования Си | 51 | 94 | 65 | 93 |
Sutter G., Exceptional C++ Решение сложных задач на С++ | 34 | 94 | 66 | 91 |
Alexandrescu A. Modern C++ Design: Generic Programming and Design Patterns Applied Современное проектирование на С++: Обобщенное программирование и прикладные шаблоны проектирования | 47 | 92 | 58 | 93 |
Alexandrescu A., Sutter H. C++ Coding Standards: 101 Rules, Guidelines, and Best Practices Стандарты программирования на С++: 101 правило и рекомендация | 43 | 92 | 55 | 93 |
Meyers S. Effective C++ Эффективное использование C++ | 52 | 92 | 72 | 91 |
Stroustrup B. The C++ Programming Language Язык программирования С++ | 55 | 91 | 72 | 88 |
Дополнительно: книги, высоко оцененные опытными ИТ-специалистами | ||||
Richter J., Advanced Windows Windows для профессионалов | 23 | 89 | 65 | 94 |
Java
Книга | ||||
Bloch J. Effective Java. Programming Language Guide Java. Эффективное программирование | 53 | 98 | 82 | 97 |
Goetz B., Java Concurrency in Practice | 34 | 97 | 68 | 97 |
Eckel B. Thinking in Java Философия Java | 71 | 96 | 66 | 94 |
Freeman E Head First Design Patterns | 42 | 95 | 58 | 92 |
Lafore R. Data Structures & Algorithms in Java Структуры данных и алгоритмы Java | 28 | 94 | 50 | 93 |
Horstmann C., Cornell G. Core Java (volume 1, volume 2) Java. Библиотека профессионала | 44 | 92 | 52 | 90 |
JavaScript, jQuery, Node.js
Книга | ||||
Stefanov S. JavaScript: Patterns JavaScript. Шаблоны | 40 | 96 | 68 | 95 |
Simpson K., You Don’t Know JS (series) | 28 | 96 | 69 | |
Crockford D. JavaScript: The Good Parts JavaScript. Сильные стороны | 36 | 95 | 58 | 92 |
Zakas N. High Performance: JavaScript JavaScript. Оптимизация производительности | 22 | 95 | 57 | |
Flanagan D. JavaScript: The Definitive Guide JavaScript. Подробное руководство | 44 | 93 | 59 | 97 |
PHP
Книга | ||||
Zandstra M. PHP Objects, Patterns, and Practice Объекты, шаблоны и методики программирования | 63 | 95 | 72 | 95 |
Python
Книга | ||||
McKinney W. Python for Data Analysis Python и анализ данных | 20 | 97 | 33 | |
Piligrim M. Dive into Python Погружение в Python | 46 | 94 | 64 | |
Lutz M. Learning Python Изучаем Python | 76 | 94 | 65 | 94 |
Lutz M. Python Pocket reference+ Python. Карманный справочник | 44 | 91 | 55 | |
Beazley D. Python: Essential Reference Python. Подробный справочник | 29 | 91 | 30 |
Ruby/ Rails
Книга | ||||
Flanagan D., Matsumoto Y. The Ruby Programming Language Язык программирования Ruby | 62 | 100 | 58 |
Unix/ Linux
Книга | ||||
Bach M. The design of the Unix operating system Архитектура операционной системы Unix | 33 | 100 | 41 | |
Kernighan B., Pike R. The Unix Programming Environment UNIX.Программное окружение / UNIX-универсальная среда программирования | 32 | 100 | 61 | |
Tanenbaum A., Woodhull A. Operating Systems Design and Implementation Операционные системы.Разработка и реализация | 55 | 98 | 57 | 100 |
Kernighan B., Pike R. The Practice of Programming Практика программирования | 31 | 97 | 33 | |
Nemeth E., Snyder G. Unix и Linux System Administration Handbook UNIX руководство системного администратора | 54 | 92 | 71 | 90 |
Базы данных
Книга | ||||
Gruber M. Understanding SQL Понимание SQL / SQL для простых смертных | 35 | 90 | 59 |
Программирование: общие принципы, алгоритмы, ООП
Книга | ||||
Martin R. Clean code Чистый код | 59 | 96 | 69 | 94 |
Fowler M., Beck K. Refactoring Рефакторинг. Улучшение существующего кода | 50 | 95 | 67 | 94 |
McConnell S. Code Complete Совершенный код | 54 | 94 | 69 | 92 |
Wirth N. Algorithms and Data Structures Алгоритмы и структуры данных | 26 | 91 | 46 | 91 |
Cormen T., Leiserson C. Introduction to Algorithms Алгоритмы. Построение и анализ | 41 | 91 | 65 | 91 |
Abelson H., Sussman G. Structure and Interpretation of Computer Programs Структура и интерпретация компьютерных программ | 23 | 90 | 51 | 94 |
Дополнительно: книги, высоко оцененные опытными ИТ-специалистами | ||||
Aho A., Sethi R. Compilers: Principles, Techniques, and Tools Компиляторы. Принципы, технологии, инструменты | 24 | 85 | 52 | 93 |
Тестирование
Книга | ||||
Copeland L. A Practitioner’s Guide to Software Test Design | 40 | 97 | 70 | |
Kaner C., Bach J. Lessons Learned in Software Testing | 46 | 94 | 57 | |
Crispin, Gregory. Agile Testing: A Practical Guide for Testers and Agile Teams Гибкое тестирование. Практическое руководство для тестировщиков ПО и гибких команд | 29 | 94 | 49 | |
Black R. Critical Testing Processes: Plan, Prepare, Perform, Perfect Ключевые процессы тестирования. Планирование, подготовка, проведение, совершенствование | 28 | 93 | 41 |
Управление проектами
Книга | ||||
DeMarco T., Lister T. Peopleware: Productive Projects and Teams Человеческий фактор. Успешные проекты и команды | 49 | 96 | 49 | 98 |
DeMarco T., Lister T. Waltzing With Bears: Managing Risk on Software Projects Вальсируя с Медведями: управление рисками в проектах по разработке программного обеспечения | 42 | 95 | 50 | 97 |
Brooks F. The Mythical Man-Month: Essays on Software Engineering Мифический человеко-месяц, или Как создаются программные системы | 49 | 93 | 52 | 93 |
Mantle M., Lichty R., Managing the Unmanageable: Rules, Tools, and Insights for Managing Software People and Teams | 26 | 92 | 32 | |
Adizes I. The Ideal Executive Идеальный руководитель | 39 | 91 | 54 | |
McConnell S. Software Project: Survival Guide Остаться в живых! Руководство для менеджера программных проектов | 38 | 91 | 36 | |
Lencioni P. The Five Dysfunctions of a Team Пять пороков команды | 37 | 91 | 38 |
ИТ-бизнес в целом
Книга | ||||
Vance A. Elon Musk: Tesla, SpaceX, and the Quest for a Fantastic Future Илон Маск. Tesla, SpaceX и дорога в будущее | 32 | 91 | 53 |