2: What Makes A Great Architect
The Architect Job Description
What are companies looking for with an architect?
Three primary responsibilities:
- Collaborate with team
- Use tools & methodolgies
- Develop high-level specifications
Key terms used:
- "See the big picture"
- "Strong technical background"
- "Provide a framework for the the development of a software or system"
Responsibilities of a great Architect
- Abstract complexity - simplest possible representation (Insight)
- Understand tradeoffs (Insight)
- Maintain control (Leadership)
- Stay On Course (Leadership)
- Explain The Benefits (Communication)
- Inspire Stakeholders (Communication)
- Focus on the big picture - do not go into detail and be holistic (Vision)
- Act as a change agent - be a agent of change where process maturity is not sufficient (Vision but optional)
Personality traits of a great Architect
- Steadfast - the only certainty is uncertainty. You need to have a vision of where to go to, roll with the punches and course-correct.
- Trustworthy - be someone to be trusted to get the job done.
- Confident - you need to be confident in what you design. You need to emit confidence.
- Persuasive - you need to be able to persuade and hold your own in a discussion.
Common Pitfalls For Architects
Three types of power:
- Implicit Power - power with the job role
- Granted Power - power granted by the people (e.g. coming to you for advice, training etc.)
- Personal Power - ability to get back on your feet after a setback
Scenario: lead dev loses trust in architect
- Empower your LD
- Always present a united front
- Be open to feedback
- Change architecture if needed
Scenario: functional architect is giving invalid functional requirements.
- Find the reason
- Try to restore the personal power to the FA
- Escalate up if needed
Scenario: Optimistic project manager
- Bring PM in on the dev team
- Find the reason: Optimistic PM, naive LD, slow devs?
- Coach LD/restructure devs/readjust schedule/alter planning
Scenario: Architect role holds no power
Org doesn't understand the architect role.
- Educate the C-Suite, be the change maker
- Team up with PM, QA, FA and LD
- Become the owner of the entire process
- Leave org if unwilling to change