Thursday, February 14, 2019

2019-02-14 Thursday - Professional Development Advice for an Architect

[This list was assembled for a colleague in September 2018, I will revisit this in the near future and amend some of the suggested resources]

Below, I’ve assembled a suggested “short-list” of what I think are the essential topics - in which someone involved in Architecture might benefit – over the long-term – by investing the time to become familiar with the material outlined.  This is a journey – it will take time – and it will be challenging.  There is a plethora of articles, web sites, and books out there – many badly written, often with bad/conflicting suggestions/conclusions/practices.  Hopefully this may be useful in providing some guidance on where you may get the most benefit for effort invested, with an eye to a long career arc. 

The topics are roughly in order of suggested reading…


Suggested resources to help you stay up-to-date on news and emerging trends in the world of Architecture and Distributed Systems:



Suggested Useful References to Know

The Open Group ArchiMate 3.x Specification

The Open Group TOGAF Standard, version 9.2

The Open Group IT4IT Reference Architecture

W3C Standards

IETF RFCs


Essential Concepts to Know, When Evaluating Architecture/Design Decisions/Choices








Suggested resources for learning to formally document architectures

Mastering ArchiMate, 3rd Edition

Archi – Open Source Archimate Modeling Tool
Sparx Enterprise Architect

Documenting Software Architectures: Views and Beyond

Software Architecture in Practice, 3rd Edition

Designing Software Architectures: A Practical Approach

UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3rd edition
-          While UML may have fallen out of favor in certain camps , it is very useful technique for capturing complex interactions, and doing quick diagrams that have a high density of information encoded in just a few diagram elements.

Learning UML 2.0: A Pragmatic Introduction to UML



Suggested resources: These are good books to provide a good introduction/foundation – to the world of Enterprise/System/Solution Architecture

Clean Architecture: A Craftsman’s Guide to Software Structure and Design

Building Evolutionary Architectures: Supporting Constant Change

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services

Domain-Driven Design: Tackling Complexity in the Heart of Software


Good books to develop a deeper understanding of Patterns

Patterns of Enterprise Application Architecture

Domain-Driven Design Reference: Definitions and Pattern Summaries

Refactoring to Patterns

Refactoring: Improving the Design of Existing Code, 2nd Edition
-          (available Nov 2018)


For API, SOA, Web Services based architectures….

Building Microservices: Designing Fine-Grained Systems (2nd Edition, October 2019)

SOA Design Patterns (used copy, as low as $2.83)



For Data-Intensive, Large-Scale, Streaming, Distributed type Architecture problems…

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems

Streaming Systems: The What, Where, When, and How of Large-Scale data Processing

Learning Spark: Lightning-Fast Big Data Analysis

Spark: The Definitive Guide: Big Data Processing Made Simple

High Performance Spark: Best Practices for Scaling and Optimizing Apache Spark



For a deeper dive into the foundations of Patterns, but at a more granular/code level:

Head First Design Patterns: A Brain-Friendly Guide

Design Patterns: Elements of Reusable Object-Oriented Software



These are good books to deepen your understanding of the concept of Programmer Craftsmanship –and the application team level concerns in designing and developing great software

Clean Code: A Handbook of Agile Software Craftsmanship

The Pragmatic Programmer: From Journeyman to Master

Code Complete: A Practical Handbook of Software Construction, 2nd Edition

The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, 2nd Edition

Algorithms, 4th Edition
-          a good intro book…

Introduction to Algorithms, 3rd Edition
-          a more robust, deeper dive into the topic of algorithms




Suggested learning resources for Cloud, Infrastructure, Operations, DevOps, Performance, Site Reliability

Cloud Native Infrastructure: Patterns for Scalable Infrastructure and Applications in a Dynamic Environment

Infrastructure as Code: Managing Servers in the Cloud

Site Reliability Engineering: How Google Runs Production Systems
o   (free to read online)

Kubernetes: Up and running: Dive into the Future of Infrastructure

Kubernetes Cookbook: Building Cloud Native Applications


Suggested learning resources for AI, Machine/Deep Learning

The Current State of Machine Learning 3.0

Machine Learning Crash Course: Google’s fast-paced, practical introduction to machine learning

100 Days of ML Code


MIT Open Courseware, Artificial Intelligence

Coursera: Machine Learning Specialization

Coursera: Machine Learning


Deep Learning Tutorial Lessons


Deep Learning with Python
-          (I’ve done some of the technical edit review for Manning – a great book)

Deep Learning: A Practitioner’s Approach

Grokking Deep Learning
-          (available in January 2019, I’ve done some early technical edit/review for Manning on this – a really good book)

Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent System
-          Note: new version coming out May 2019 – but this is very good edition

Deep Learning
-          (free to read online)

Artificial Intelligence: A Modern Approach, 3rd Edition

Machine Learning
-          (free to read online)


Bayesian Reasoning and Machine Learning
-          (free to read online)

Gaussian Processes for Machine Learning
-          (free to read online)

Suggested resources to help you stay up-to-date on news and emerging trends in AI, Machine/Deep Learning



A great resource for periodically checking new / leading edge academic papers, related to Computer Science Research


My personal Architecture Review Checklist tool
https://github.com/intltechventures/Consulting.Project.Tools/blob/master/templates/Architecture_Review_Checklists.xlsx

No comments:

Copyright

© 2001-2021 International Technology Ventures, Inc., All Rights Reserved.