On 6/14/2018 at the Houston Dot Net User Group monthly meeting, I had the privilege to attend Devlin Liles’ presentation on “Architect – How to be more than a title and a Visio”. The video of that presentation will be made available on the HDNUG YouTube Channel, and my takeaways from that session can be found below.
In the realm of architecture, there are a few different stages of evolutionary awareness that companies and architects mature through.
Stage 1: Technical Design
- This is the first step beyond “I need to get it working”
- At this stage, you should be using practices like Test Driven Development (TDD) to enable good design
Stage 2: Solution Design
- Solve a problem, and to solve a problem you have to understand the problem
- Question your own design decisions
- Design is wrong if it doesn’t respond well to change
- Design is wrong if things that should be simple are really hard
- Trick: Make as few decisions as possible
- Soft skills not technical skills are more important at this level
- Be able to listen to different opinions and parse out what matters
Stage 3: System Design
- Multiple solutions/solution designs working in conjunction together
- Can’t afford to get caught up in the detailed design of each solution
- Recognize that not all systems are created equal (e.g. outhouse doesn’t need marble columns)
- Read Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
Stage 4: Enterprise Application Architecture
- These are the 5 – 7 year projects that are highly complex and tied to large revenue opportunities
- Requires a different set of patterns: domain logic patterns, data source architecture pattern, ORM, distribution patterns,
- Have a goal of long term interoperability; prevent the need for rewrites
- Focus on emerging tech and prepare (e.g. in order to prepare for ML, start building a massive storehouse of data)
- Need to know the implications and the systems that will come out of a choice and be able to capture the benefit and risk to the P&L
- Promote consistency and avoid remaking decisions
- Most importantly, do not endanger the business