Neal Ford of ThoughtWorks chats with SE Radio’s Kim Carter about the skills required to be a successful software architect, how to create and maintain them, and how to transition from other roles, such as software engineering. Neal discusses that the required skills can be learned, you do not have to be born with special attributes. Those looking to make the transition should focus especially on learning “soft skills” before making the move, and exploring the idea of taking an architectural role temporarily to see if it suites you. He also discusses problem solving skills, why understanding history is so important, and how to recognize and avoid increasing complexity.
Show Notes
Related Links
- Episode 236: Rebecca Parsons on Evolutionary Architecture
- Episode 210: Stefan Tilkov on Architecture and Micro Services
- Neal’s new book: Evolutionary Architecture
- Neal’s home page: http://nealford.com/
- Neal’s Twitter: @neal4d
- ThoughtWorks
- Building a technology radar
- Dreaming in Code
Theme Music: Kevin MacLeod
Great episode. Love the understanding of software architects as having broad knowledge. I don’t think of them as being a jack of all trades, master of none, but rather a master of *some*. Every architect I’ve known has been an expert in at least one field (other than architecture).
On the Golden Gate bridge metaphor, I believe the job of painting the bridge *is* adding business value. It’s essential maintenance. So those who replaced Angular with React weren’t painting the bridge – they were tearing it down and building it up again with different materials and then painting it to look the same, even though it was doing its job just fine.
[…] We’re pleased to welcome Kim Carter to the SE radio team. Kim is the founder of BinaryMist. He has 15 years’ commercial experience in architecture, development, engineering, and testing of both small and large-scale software and networks. He also has considerable experience in security assessments and penetration testing. Carter is a Certified Scrum Master and has helped many organizations realize the benefits of using scrum and the other techniques he’s found effective in lifting both quality and productivity. Carter is currently authoring his first book: Holistic Infosec for Web Developers. His first interview was Episode 287 – Success Skills for Architects with Neil Ford. […]
I agree with you, Mark. As an architect, you have to realize the maintenance cost of a framework. The maintenance cost of Angular is much more expensive than React. It is better to get rid of it earlier than later. I have seen many cases when companies didn’t replace a framework when they should have and have regretted doing so.
Good interview. I’m bookmarking it for all the future architects I mentor on their way up.
software architect is an oximoron the way they do it
SYSTEMS architecture is key
the software architecture must fit properly within all the domain architectures
SE and SA types think that software is the system and they can do anything they want and the rest has to adapt to them
they routinely suboptimise everything for their convenience
you have to realise your impact on the entire SYSTEM
software architecture must agree with the SYSTEMS architecture
the fundamental law of systems says you can only optimise the system by SUBoptimising the SUB systems
the software folks always optimise their part to the detriment of the total system
until software learns to play nice with other we will keep on having failures and suboptimised systems because they optimised the software and refused to give in for the betterment of the entire system
“Those who cannot remember the past are condemned to repeat it” – I completely agree!