From 70810a9f6ef8e8a635fe2abc2071c8418fab24e5 Mon Sep 17 00:00:00 2001 From: Evgeny <14817858+salmer@users.noreply.github.com> Date: Sat, 4 Dec 2021 16:06:16 +0300 Subject: [PATCH] Added list of books for senior in books/senior.md (#50) --- English/Books/Senior.md | 50 +++++++++++++++++++++++++++++++++++++- Russian/Books/Senior.md | 54 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 102 insertions(+), 2 deletions(-) diff --git a/English/Books/Senior.md b/English/Books/Senior.md index 77e3fe3..9e917a4 100644 --- a/English/Books/Senior.md +++ b/English/Books/Senior.md @@ -1,3 +1,51 @@ # Senior -- Read and study whatever fits you (domain knowledge, industry trends, language details, architecture, so on) +## C++ + +- There are no concrete advice about books for seniors. At this grade, you should already know the foundations of C++ well enough. There is only one challenge for you: to monitor the latest standards and new features for C++ or tools for C++ ecosystem. + + +## Team management + +- [J. Hank Rainwater - Herding Cats: A Primer for Programmers Who Lead Programmers ](https://www.amazon.com/Herding-Cats-Primer-Programmers-Lead/dp/1590590171) + + The classic books that tells about the difficulties that arise when managing developers. Although this book is outdated in some aspects, nevertheless it will be an excellent start for finding information about managing programmers. Many chapters are still relevant, and will also give an initial idea of managing people. Such knowledge can be useful when monitoring junior developers. + +- [Michael Lopp - Managing Humans: Biting and Humorous Tales of a Software Engineering Manager](https://www.amazon.com/Managing-Humans-Humorous-Software-Engineering/dp/1484221575) + + This book explains about how to be a leader, what difficulties such a person faces. It will help you learn to think like a manager, to understand what problems bother your manager. This will allow you to build a more effective interaction between you, the manager and the development team. + +- [Frederick Brooks - Mythical Man-Month, The: Essays on Software Engineering](https://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959) + + This book is also considered a classic in project management. The book is focused on the mistakes that are made on projects that lead to their failures. Today, this work is also partly considered outdated, but for those developers who are just starting their way as a manager, this book will be a great start to protect themselves from typical mistakes. + +- [Tom DeMarco - The Deadline: A Novel About Project Management](https://www.amazon.com/Deadline-Novel-About-Project-Management-ebook/dp/B006MN4RAS) + + The book is a novel that tells about the work of a manager and how project management takes place. It is extremely useful because it conveys in an artistic manner the colossal experience of managerial everyday life. It is extremely useful because it most fully reveals the issues that the manager faces on a daily basis. + +- [Daniel Kahneman - Thinking, Fast and Slow](https://www.amazon.com/Thinking-Fast-Slow-Daniel-Kahneman/dp/0374533555) + + The classic book about the logical errors of human thinking. It is useful because it will help to take a more rational approach to making various decisions, taking into account cognitive distortions in human thinking. This is an extremely necessary skill for specialists who are in the area of making key decisions. The book may seem rather boring, in which case you can try to look for alternative works that tell about cognitive distortions. + + +## Requirements and software architecture + +- [Karl Wiegers - Software Requirements](https://www.amazon.com/Software-Requirements-Developer-Best-Practices/dp/0735679665) + + The book will be useful for those who are busy collecting and working out software requirements. It will explain about how to interact with managers, customers and developers when collecting requirements, and how to turn verbal ideas into a technical solution with clear requirements and limitations. + +- [Len Bass, Paul Clements, Rick Kazman - Software Architecture in Practice](https://www.amazon.com/Software-Architecture-Practice-SEI-Engineering/dp/0136886094) + + A classic work on the basics of architectural approaches to software design. Contains a collection of classic architectural patterns and techniques for building large software systems. + +- [Mark Richards, Neal Ford - Fundamentals of Software Architecture: An Engineering Approach](https://www.amazon.com/Fundamentals-Software-Architecture-Comprehensive-Characteristics/dp/1492043451) + + The book is about the basics of software design. This book, like the previous one, also tells about the basics of design. The difference from the previous book is that this one offers to consider approaches to software design from an engineering point of view: the ability to achieve reliability, repeatability of system components, their predictability, etc. + +- [Martin Fowler - Patterns of Enterprise Application Architecture](https://www.amazon.com/Patterns-Enterprise-Application-Architecture-Martin/dp/0321127420) + + A set of architectural approaches for building various corporate systems. This book can be useful for those who build large corporate systems with varying degrees of complexity and focus: financial transactions, document management, etc. + +- [Chris Richardson - Microservices Patterns](https://www.amazon.com/Microservices-Patterns-examples-Chris-Richardson/dp/1617294543) + + The book focuses on the modern architectural approach of system design - microservices. This work will explain how to make a consistent transformation of an application from a "monolithic" state into a set of microservices. It contains a set of patterns, as well as tips for refactoring existing code in order to perform this procedure most effectively. \ No newline at end of file diff --git a/Russian/Books/Senior.md b/Russian/Books/Senior.md index 1703947..3308292 100644 --- a/Russian/Books/Senior.md +++ b/Russian/Books/Senior.md @@ -1,3 +1,55 @@ # Senior -- Преисполняться в познании индустрии +## C++ + +- Сложно что-либо посоветовать для разработчиков уровня Senior. Разработчики такого уровня уже должны уверенно владеть C++ и понимать его возможности/ограничения. Основная задача, которая стоит на этом уровне: мониторить появления новых стандартов и фич для языка, а также обновления библиотек/фреймворков. + + +## Управление командой + +- [Дж. Ханк Рейнвотер - Как пасти котов](https://www.ozon.ru/product/kak-pasti-kotov-nastavlenie-dlya-programmistov-rukovodyashchih-drugimi-programmistami-147226659) + + Признанная классика, которая повествует о том, какие сложности возникают при управлении разработчиками. Данная книга хоть и устарела в каких-то аспектах, тем не менее она станет отличным началом для поиска информации об управлении программистами. Многие главы по-прежнему актуальны, а также дадут начальное представление об управлении людьми. Такие знания могут пригодиться при менторинге джуниоров. + +- [Марина Перескокова - Мама, я тимлид! Практические советы по руководству IT-командой](https://www.ozon.ru/product/mama-ya-timlid-prakticheskie-sovety-po-rukovodstvu-it-komandoy-pereskokova-marina-315820151) + + Небольшая по своему содержанию, но крайне полезная книга для тех разработчиков, которые стали тимлидами, выполняют какую-либо часть их обязанностей или думают над тем, чтобы попробовать эту роль для себя. Предоставляет широкий обзор по компетенциям и задачам, которые предстают для данной роли. + +- [Майкл Лопп - Как управлять интеллектуалами. Я, нерды и гики](https://www.ozon.ru/product/kak-upravlyat-intellektualami-ya-nerdy-i-giki-lopp-maykl-lopp-maykl-211432845) + + Данная книга повествует о том, как быть руководителем, какие сложности встают перед таким человеком. Она поможет вам научиться мыслить как менеджер, понять какие проблемы беспокоят вашего менеджера. Это позволит вам выстроить более эффективное взаимодействие между вами, менеджером и командой разработки. + +- [Фредерик Брукс - Мифический человеко-месяц, или Как создаются программные системы](https://www.ozon.ru/product/mificheskiy-cheloveko-mesyats-ili-kak-sozdayutsya-programmnye-sistemy-bruks-frederik-bruks-frederik-211424648) + + Книга также считается классикой в управлении проектами. Акцент этой книги сосредоточен на ошибках, которые допускаются на проектах, приводящие к их провалам. Сегодня эта работа тоже отчасти считается устаревшей, но для тех разработчиков, которые только начинают свой путь в качестве управленца, она будет отличным началом, чтобы уберечь себя от типовых ошибок. + +- [Том ДеМарко - Deadline. Роман об управлении проектами](https://www.ozon.ru/product/deadline-roman-ob-upravlenii-proektami-demarko-tom-405808639) + + Книга-роман, повествующая о работе менеджера и о том, как происходит управление проектами. Крайне полезна тем, что в художественной манере передает колоссальный опыт управленческих будней менеджера. Крайне полезна тем, что наиболее полно раскрывает те вопросы, с которыми менеджер сталкивается ежедневно. + +- [Даниэль Канеман - Думай медленно... решай быстро](https://www.ozon.ru/product/dumay-medlenno-reshay-bystro-kaneman-daniel-240690039) + + Классическая книга о логических ошибках мышления человека. Полезна тем, что это поможет более рационально подходить к принятию различных решений, беря в расчет когнитивные искажения в человеческом мышлении. Это крайне необходимый навык для специалистов, которые находятся в зоне принятия ключевых решений. Книга может показаться довольно занудной, в таком случае вы можете попробовать поискать альтернативные работы, которые повествуют об когнитивных искажениях. + + +## Требования и архитектура ПО + +- [Карл Вигерс - Разработка требований к программному обеспечению](https://www.ozon.ru/product/razrabotka-trebovaniy-k-programmnomu-obespecheniyu-vigers-karl-i-bitti-dzhoy-221778297) + + Книга пригодится тем, кто занят сбором и проработкой требований к программному обеспечению. Она расскажет о том, каким образом взаимодействовать с менеджерами, заказчиками и разработчиками при сборе требований, и каким образом превратить словесные идеи в техническое решение с понятными требованиями и ограничениями. + +- [Len Bass, Paul Clements, Rick Kazman - Software Architecture in Practice (ENG only)](https://www.livelib.ru/book/1002753583-software-architecture-in-practice-len-bass-paul-clements-rick-kazman) + + Классика по основам архитектурных подходов проектирования программного обеспечения. Содержит коллекцию базовых архитектурных шаблонов и приемов построения больших программных систем. + +- [Марк Ричардс, Нил Форд - Основы архитектуры программного обеспечения: инженерный подход (ENG only)](https://www.ozon.ru/product/osnovy-arhitektury-programmnogo-obespecheniya-inzhenernyy-podhod-339635830) + + Книга по основам проектирования программного обеспечения. Эта книга, как и предыдущая также повествует об основах проектирования. Отличие от предыдущей книги в том, что данная книга предлагает рассмотреть подходы к проектированию ПО, с инженерной точки зрения: возможность добиться надежности, повторяемости компонентов системы, их предсказуемости и т.п. + +- [Мартин Фаулер - Шаблоны корпоративных приложений](https://www.ozon.ru/product/shablony-korporativnyh-prilozheniy-147417586) + + Набор архитектурных подходов для построения различных корпоративных систем. Данная книга может быть полезна тем, кто строит большие корпоративные системы с разной степенью сложности и направленности: финансовые операции, документооборот и т.п. + +- [Крис Ричардсон - Микросервисы. Паттерны разработки и рефакторинга](https://www.ozon.ru/product/mikroservisy-patterny-razrabotki-i-refaktoringa-211432697) + + Книга концентрируется на современном архитектурном подходе проектирования систем - микросервисы. Это работа повествует о том, как произвести последовательную трансформацию приложения из "монолитного" состояния в набор микросервисов. Содержит в себе набор паттернов, а также советы по рефакторингу существующего кода, чтобы наиболее эффективно произвести данную процедуру. \ No newline at end of file