В этом году мы продолжили двигаться в сторону своей миссии, которая состоит в распространении знаний о проектировании и архитектуре. Успели обсудить за год пять книг, каждая из которых дала что-то свое зрителям:
Distributed systems — фундаментальная книга по распределенным системам от Таненбаума и ван Стина. Книга очень хороша для структуризации своих знаний и глубокого погружения в мир распределенных систем. Если бы в книге были актуальные примеры, то она была бы вообще вне конкуренции;
A Philosophy of software design — одна из редких книг, что написаны понятно, но при этом содержат в названии слово философия. Джон Остерхут делится своими мыслями о разработке софта и его хочется слушать, так как видна глубина проработки и опыт автора, что много лет преподавал в Стэнфорде и является соавтором алгоритма консенсуса Raft;
Building evolutionary architecture — книга с интересной концепцией применения эволюционного подхода к архитектуре. К сожалению дальше концепции авторы продвинулись не сильно;
Kubernetes patterns — хорошая книга для разработчиков про примитивы Kubernetes. Но тут отличие в том, что подача идет от сценариев применения, которые интересуют людей проектирующих приложения, а не тех, кто поддерживает сам K8s. И эта точка зрения делает книгу очень полезной;
Continuous architecture in practice — хорошая обзорная книга с прикольным набором принципов, которая при глубоком погружении оказывается пустоватой, но содержит кучу референсов на другие материалы.
И вот пожелания для вас на следующий год, которые мы вывели из этих книг:
— Сделать свою распределенную систему так, чтобы было не стыдно показать ее Эндрю Таненбауму;
— Использовать стратегическое программирование как учил Джон Остерхут;
— Помнить про эволюцию систем и ее архитектуру, а также не оказаться со своей системой на обочине эволюции Чарльза Дарвина;
— Использовать K8s не потому что вас заставили, а потому что это помогает вашей системе проще решать стандартные проблемы, про которые написали Bilgin Ibryam, Roland Huss;
— Использовать не только CI/CD (continuous integration/delivery), но и следовать принципам CA (Continuous architecture), которые на бумаге звучат хорошо.
Не теряйте интерес к саморазвитию, читайте хорошие книги и применяйте прочитанное на практике для закрепления знаний. Все это позволит стать лучше как инженер и эффективнее исполнять роль архитектора, если это придется делать 😎
С наступающим Новым годом!