Experience should guide, not constrain

It's a hard lesson to learn

One of the things that makes an architect is experience, and in many cases an architect has got where they are because of the expertise that they've built up in their chosen technology; be it Java, .NET or whatever. I'm still of the opinion that it's perfectly viable to be an architect with a particular technology focus (e.g. a Java architect) but there is always a danger that everything will start to look like a single technology solution.

In a way, this is inevitable. If your experience is mainly in technology X, then you're going to feel comfortable designing systems in technology X. Of course, this doesn't necessarily mean that technology X is the best solution. An example that I always cite is that most of my background is in building Java systems; from client-server and web apps through to distributed systems and service-oriented architectures. A few years back, Swing would have been my first choice of technology for building a desktop application. Ask me know though, and I'd lean towards a .NET or RIA client, but ultimately it depends on a number of things. In this case, the influencing factors include the skillset of the team, existing vendor relationships, politics, supported desktop platforms, desktop deployment policies, operational/support requirements and so on.

Being open to other technologies is a hard lesson to learn and, as we've seen on the architecture training course, it's natural for people to stick to their tried and tested technology set. As an architect, you should certainly let your experience guide you in making the right decision. Having said that, you shouldn't let it constrain you.

About the author

Simon is an independent consultant specializing in software architecture, and the author of Software Architecture for Developers (a developer-friendly guide to software architecture, technical leadership and the balance with agility). He’s also the creator of the C4 software architecture model and the founder of Structurizr, which is a collection of open source and commercial tooling to help software teams visualise, document and explore their software architecture.

You can find Simon on Twitter at @simonbrown ... see simonbrown.je for information about his speaking schedule, videos from past conferences and software architecture training.

Re: Experience should guide, not constrain

You know, this very point has worked to my detriment in job applications - my CV suggests that I am a generalist. I noticed entries before that say "as an architect you are an expert in *at least* one thing". It's hard to convince anyone that you can be an expert in *more than* one thing. I would argue that if you think you're an expert in *only one* thing then you can't be an architect (flamebait - apologies, please be nice to me)! I think that your (Simon's) comments confirm it - it's really hard (I admit, not impossible) to go outside yourself as an architect. But I think it's really important to at least try!

Politics! Oh boy! Many bosses are looking for someone that will tell the the 'right' answer, e.g. "use Java!", or "Oracle rules, OK?", or "we've always used struts". That last sentence in the middle para is one that rings *so* true for me: politics, relationships and investments. I dislike politics on an intellectual level, but architects *do* have a game to play... I believe you have to modify your game to the context of the job.

Re: Experience should guide, not constrain

I agree, but getting cross-technology experience is terrible hard! The problem I think is that the technology is often dictated by the skills-set of the company(s) involved. Trying to tell an all Oracle company that DB2 is the best tool for the job is a hard (or vice versa), and possibly stupid. Stupid because they shouldn't be building something they don't have the teams to support.


Re: Experience should guide, not constrain

I think the phrase "Jack of all trades, master of none" has a lot to answer for. It seems that what started out as an insult reserved for deserving individuals has become something people believe to be generally true - ie that it's impossible to be particularly good at more than one thing.


Interestingly the original phrase was "Jack of all trades, master of none, though ofttimes better than master of one" (thanks Wikipedia), which is the complete opposite sentiment of that attached to the shortened version today.

Add a comment Send a TrackBack