Рейтинг ИТ-книг 2017
В этой статье мы поделимся результатами недавно проведенного на 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 | 
