Ресурси для вивчення Software Architecture
Всім привіт!
Цікавить напрямок Software Architecture.
Порадьте хороші ресурси по цьому напрямку. Щоб не поверхові, по ділу та легко читались.
Формат будь-який.
Дякую!
Всім привіт!
Цікавить напрямок Software Architecture.
Порадьте хороші ресурси по цьому напрямку. Щоб не поверхові, по ділу та легко читались.
Формат будь-який.
Дякую!
Можу говорити тільки за свій напрямок (Unity Applications). За весь час якогось єдиного задокументованого підходу з точки зору архітектури, я не знайшов. Навіть коли дивишся Unity Unite, то один рік вони показують одне і кажуть що ось це майбутнє, на наступний рік зовсім інше. Як приклад: архітектура на Scriptable Objects. Проєкти які ідуть в офіційному репо Unity теж всі дуже різні за архітектурою (правда прикладів великих комерційних проєктів там і не має), таке враження що навіть вони не знають як краще будувати додатки.
Що я зрозумів з досвіду в аутсорсі і роботи в різних командах, для того, щоб все було максимально гарненько це: знання і розуміння технічного стека на проєкті, DI, SOLID, паттерни (де це дійсно потрібно), а ще важливіше, щоб команда розуміла хід думок інших членів, і тоді більш-менш проєкт можна легко підтримувати і розширювати.
Якщо хтось може порекомендувати літературу, як будувати софт на Unity (не ігри) буду дуже вдячний за реальні кейси, а не воду, бо я як раз у процесі пошуку.
Раджу курс на OReilly від Марка Рідчарса і Ніла Форда. В ньому досить простими словами описується роль архітектора і необхідний набір майндсету/скілсету/тулсету.
Software Architecture Fundamentals. Neal Ford, Mark Richards
www.oreilly.com/...ndamentals/9781491998991
По книжкам:
* Fundamentals of Software Architecture: An Engineering Approach
www.amazon.com/...acteristics/dp/1492043451
* Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures
www.amazon.com/...hitectures/dp/1492086894
* Designing Software Architectures: A Practical Approach
www.amazon.com/...ngineering/dp/0134390784
* Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
www.amazon.com/...intainable/dp/1449373321
* Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith
www.amazon.com/...-Transform/dp/1492047848
* Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
www.amazon.com/...Deploying/dp/0321200683/r
Сайти, блоги
microservices.io
www.cloudcomputingpatterns.org
blog.bytebytego.com
Кілька років тому активно ботанив архітектуру, більшість книжок з коменту вище прочитав, Річардса, Форда і кучу інших на ютубі дивився.
Попрацював пів року архітектом, не зайшло. Ти один, роботу нормально нема кому делегнути, всі тебе дьоргають (особливо клієнти незалежно від часової зони).
Вернувся в тех ліди, ЗП ± те саме, роботи в рази менше і спокійніше. Верхня планка в архітекта вища але й потрапити туди важче.
ІМХО, для українців як підрядників/контракторів стати архітектом на великих ентерпрайзах нереально бо це більш бізнес орієнтед позиція ніж технічна.
А на менших проектах до 100 людей архітект і не дуже потрібен, якось та й буде працювати)
Зробив групу для обговорень та запитань про архітектуру. Приєднуйтесь!
t.me/swarchua
По паттернам (после GoF):
* C++ in Action: Industrial Strength Programming (полистать — показана итеративная разработка)
* Пятитомник Pattern-Oriented Software Architecture
* Гексагоналка: оригинал alistair.cockburn.us/hexagonal-architecture и клоны herbertograca.com/...ow-i-put-it-all-together
* Можно глянуть Enterprise Integration Patterns но, в принципе, POSA их покрывает
* Если есть дофигища времени — тут дофигища старых статей hillside.net/...php/past-plop-conferences
По принципам построения систем:
* Microservice Patterns
* Domain-Driven Design
* Modern Operating Systems (Tanenbaum)
По настройке процессов:
* Organizational Patterns of Agile Software Development
* Peopleware
* Anti Patterns. Refactoring Software, Architecture and Projects in Crysis
По оптимизациям:
* ithare.com
* Designing Data-Intensive Applications (Кабанчик)
* www.agner.org/optimize
Можно добавить меня в телеграм — сброшу книжки t.me/denyspoltorak
P.S. Как уже писали, это все ни разу не поможет найти работу архитектором, или зарплату выше синьорской. То есть, по сути, такие специалисты не востребованы (как минимум, в Украине).
Для Software архітектора або як його ще називають Application архітектора:
Перш за все максимально досконале знання певного технічного стеку, мови програмування, базових фреймворків.
По-друге це як не дивно патерни проектування та архітектурних патернів.
По-третє вміння говорити, мати змогу розповісти про рішення іншим та зрозуміти індуса на тому кінці, що саме він має на увазі.
Для солюшн архітектора додається вищеперераховане + досвід та хоча б одна сертифікація AWS, GCP, Azure.
Бажано ще мати досвід у бізнес домені, Finance, Healthcare, Automotive, IoT etc.
Для Ентерпрайз архітекта додається технічний менеджмент.
Так а що саме? Технічні паттерни і тактики, клауди, перемовини з замовником, документація та діаграми, прийняття технічних рішень, architecture governance чи ще щось?
Щось мені здається що саме це й продається)))
$10k Lead | Senior Java Software Engineer
djinni.co/q/3cdf26424c/?from=tg
$9,500 Team/Tech Lead/Java Developer
djinni.co/q/9bba885282/?from=tg
$9,000 Team Lead
djinni.co/q/6ee6aa9e1b/?from=tg
$8,500 Architect / CTO
djinni.co/q/ccd4b92d/?from=tg
$8,500 Senior Software Engineer
djinni.co/q/042c860d2f/?from=tg
Я проходив цей курс
www.udemy.com/...14250506?start=0#overview
там ще є у цього автора.
Это все равно что просить «что почитать чтоб стать гроссмейстером?». Практика нужна.
а практика без теорії — марна трата часу.
Не марна. Якщо подивитися, як люди пишуть проекти, то можна й самому написати.
Патерни так і з’явились — хтось дивився, як написані різні проекти, та виокремлював в них схожі підходи. Відповідно, оті самі патерни перевинаходяться за потреби. З урахуванням їх кількості (за 2000 ніби), так і має бути.
Так теория — это доска 8×8 и пешки с фигурами. Ребенок
В программировании (на низком уровне) — это условия, переходы и прерывания.
Ось теорія hillside.net/...php/past-plop-conferences
Хто її читав?
Кажуть, є чувак, що колекціонує патерни. Має більше 2000.
Ось розбір партій. Але щось мені здається, що зараз люди читають оглядові книжки, а не оригінали статей. Відповідно, «гросмейстерами» хочуть стати після самовчителя з шахів.
І отут вже цікавинка — бо книжка-самовчитель зазвичай гірша за хорошу практику.
Є різниця між
почитаю якусь базову книжку, потім доку, потім приклади
та
це дебюти та ендшпілі, тактичні та стратегічні мотиви, розбір партій класиків та топ гросмейстерів, розбір помилок у власних партіях
як мінімум — за об’ємом та вторинністю в першій цитаті
Ось це можна почитати hillside.net/...php/past-plop-conferences
Воно буде хоч трохи схоже на
дебюти та ендшпілі, тактичні та стратегічні мотиви, розбір партій класиків та топ гросмейстерів
Але його не читають, а читають туторіали. А туторіал — це «навчися грати в шахи за 21 день».
якщо ж важко зробити вибір — можна звернутись до більш досвідчених колег.
Чому пишете «досвідчених», а не «начитаних»?
Нет, это уже не теория а разбор паттернов, который кстати сужает эвристику.
Для того чтоб стать гроссмейстером — надо просто начать играть с противником, сильнее тебя. Это работает везде, только в IT — это челленж, факап и постмортем.
Почитайте таки ее историю, ей с детства родители нанимали профессиональных шахматистов для игр, а не покупали книги про то «как стать гроссмейтсером»
Как раз ее история показывает — что дело было именно в практике, а не теории. Потому что dou.ua/...campaign=06092022#2479232
40 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів