Thursday, October 19, 2006

The tale of the Pied Piper refers to all of the towns' rats being led away, followed by the children after he wasn't paid. I see the same thing happening with capable IT architects - the analogy works even if you can't decide if architects behave like rats or children. While corporate IT departments are busy with other things, the real architects are slowly disappearing.

Definitions of the architectural role aside, let’s for a moment assume that an IT architect is a technical person with significant experience making a technical contribution to a project. Look around within your own organization and count how many people who are actively working as architects that are above thirty five, in their forties and their fifties – I don’t count very many. It seems strange that with IT systems being so darn hard to build successfully every time, that there is a lack of receding hairlines on our technical teams. This is not necessarily the case in other industries – most surgeons are considered to get better with age, right up until they are too shaky to hold a scalpel. My grandfather finally stopped working when he was in his seventies, spending every day on civil engineering sites – he had built virtually every major bridge and road in the city and was useful to have around.

Where the IT Architects are going

If as an architect you can coerce a multi million dollar system into existence, chances are you have a pretty broad range of skills. IT architects, in addition to technical knowledge, can project manage, lead teams, handle politics, understand business and so on – all of this in a fast-paced, highly stressful environment. It is pretty easy to handle a career change.

Some architects have moved out of IT completely – I know some who have become pretty good property developers, while telling me how great it is because building technology is fairly static. Some stay in corporate environments, even consulting, doing things such as project management – it is far easier to brand yourself as a senior project manager than an architect. Some move onto the supply side of IT, using their experience to sell products, services and resources to corporate buyers.

Most do less and less architectural work on a daily basis, lose touch with the current technological hype and feel that it is not worth the effort to re-skill again (intentional tautology).

Why the IT Architects are leaving

The reasons should really be handled by a more substantive survey, but there are some things that really annoy architects and make them throw up their hands and think "I'm going to become a project manager!" Here are some of my theories.

Fifteen years of experience overridden by technical developments in the last year

There is a perception in IT that the more you know about the latest technology, the better you are. While this may be relevant for part of the project team, much of the work that needs to be done is not latest-framework specific. Imagine an architect with fifteen years of experience focusing briefly on non-technical aspects such as quality for three years – by the time he tries to become involved on the latest project he is considered out of the loop and drops a couple of rungs in terms of technical seniority. Architecture is a lot about abstractions and as much as developers will say how radically different v3 of the framework is, the abstractions still remain the same. At some point good architects say "This is the last framework/language/methodology/platform that I am going to learn if we buy into the 'next big thing' I'm out of here!"

Seen this movie before

Do you ever get the feeling that in IT we are continuously re-solving problems that were solved a long time ago? I'm not even talking about that latest language, framework or other technologies that could arguably be evolving. I'm talking about things like handling temporal data, long running transactions, concurrency and contention and so on. Often architects find themselves mentoring, arguing or persuading others that if they choose a particular approach they will run into well known problems that may have been solved thirty years ago. Obviously this is the architects role – imparting their knowledge and experience, but sometimes they are flat-out ignored by people who think they know better because the technology has changed. In these cases I often start my counter with "I've seen this movie before and it has an ending like Titanic" – by now, people on my team know that it is a prompt to pay attention to avoid pain.

He doesn't code

Amongst architects the discussion as to whether or not an architect codes is unnecessary. The problem is that the technical members on a project feel that the architect should be coding and their reasoning is sometimes valid. A good architect is stuck in the middle – too technical to be valued for business knowledge and not a good enough coder to earn street cred from developers. Even coding architects find it difficult to keep up because they are not coding all day every day.

Salesperson Competition

Pre-sales techies are the bane of virtually every architect – energetic semi-technical salespeople that have all the latest brochures, white-papers, presentations and anything else to get business excited. Sometimes by the time the architect becomes involved, business is so sold on the particular product that the train simply cannot be stopped. Instead of inviting architects soon enough, and face it they don't get as excited and can ruin a 'fun' demo, business holds back on architectural input until they say "We have bought this product and it is a strategic fit – please get it integrated with all the other products that we have bought"

False Credentials

I was involved in a project with an awesome architecture assembled and delivered by a brilliant architect. When the final testing was going on external auditors rocked up to do an assessment – fair enough, it was a bank after all. They conducted a few days' worth of interviews and inspections and in their auditors report proudly announced that the architecture was bad (it should have been in a cube and not a relational database). How on earth would an auditor know, where are his qualifications, what is the basis for his argument, can we see the report, when can we have a meeting? Nothing… no answers… nada! "The auditors have spoken and it is so recorded, entered and agreed." Architects, without recognised qualifications and the rest of business not really understanding what they do are always at the whim of roles that traditionally have more clout and credibility.

Make him a manager

Sometimes, the best way to keep experienced architects around is to give them an office and a larger credenza. That way they can justify the cost and still have someone who knows how all their systems hang together. The problem is that then as a technical manager the architect does less and less architectural work and does administration, putting out fires and ultimately more golf. The result is an architect that is totally out of touch with what he or she really enjoys doing.

How to stop the Architectural Pied Piper

I don't consider myself one of those people-people and can't really provide input that is of a general nature – you can go and speak to your own people-people about that.

The first thing to decide is if you want the people with experience around – sometimes you may want to cut out the dead wood so that you can finally replace the token ring network. This can often be the case with architects that are simply looking backwards instead of forwards – the kind who look back fondly on SmallTalk and print out their emails.

Also you need to establish why you want to retain the experience – it could be that you need someone who knows all the history of the legacy systems so that they can be used as a reference guide for all the hacks and workarounds that have been put in over the years. That kind of person may be quite happy being a manager of a maintenance team and does not want any architectural responsibilities.

If you want to keep good, experienced architects, you need to create an environment where you can realise their benefit. A good place to start is to define the architectural role carefully – not simply employee specific roles and responsibilities. What is needed is a clear understanding of what architects do and how they fit into the IT department and it needs to be communicated more broadly. Although good architects are able to explain their functions to whoever they interface with, it would be a great help if all participants, from developers to business are clearer on the functions. Understanding functions within an organization is usually general knowledge – most people know the difference between say a sales manager and a financial controller – why should it be any different with IT.

For other ideas, look at the reasons for leaving above and find ways to counter them, such as:

  • Insist that architects have relevant current knowledge of implementation issues, but don't insist that they code it up themselves or patch it into the network.
  • Bounce proposed approaches off architects and ask for their input. Most good architects will be able to provide useful pointers, anecdotes and long stories of things that you have not considered yet.
  • Involve your architects throughout the entire procurement process. If they rough up the sales person a little – let them. The worst that can happen is that they uncover some cracks. If the product is worthwhile and the salesperson any good they will be back for another round – hopefully having addressed some of the concerns.
  • Back up your architects and present them as key participants in decision making – if they disagree, ask them to present their reasons formally, logically, concisely and clearly. Good architects revel in such an approach.

In case you were wondering, I'm not some washed-up techie who is going through a mid-life crisis. I have been in software development for about fifteen years and been doing architecture for at least eight. When I need to, I can out-code and out-deliver most developers on my team on the latest technology. I'm not leaving, although I if my current framework/platform (.NET/MS) becomes marginalised, I probably won't learn a new one in as much detail.

To the architects out there – see what you need to do to stay in the game. To business – keep your great architects so that systems can be delivered.

Simon Munro

10/19/2006 4:02:11 PM (South Africa Standard Time, UTC+02:00)  #    Disclaimer  |  Comments [0]  | 
 Friday, October 06, 2006

By now, the successful MCA Programme applicants know about the process to pay their US$10,000 programme fee. A fairly large chunk of money to pay over for something that has no guarantees and when you are, like me, converting from an 'emerging market' currency that is currently nose-diving – it is something that you have to pay careful attention to. Most people don’t have $10,000 lying loose in the centre console of their car and those applicants that have been accepted and are pulling together the cash have had a long hard think about the cost.

Personally, I have come to terms with the cost – both in terms of the possible return on the personal investment as well as trying to understand the real costs that will be incurred by those running the MCA programme – such one-on-one interfacing by clever people with much more important things to do does come at a price. My understanding and motivation of the $10,000 cost could be the subject of another post – this post reflects some of the thoughts I had a few months ago before committing to the application process.

One of the biggest criticisms of the MCA programme is the $10,000 programme fee and is used as the primary comparison with the far cheaper Open Group certification. In trying to figure out the value of having the MCA certification, I asked myself the question "Which of my peers will also become certified?". This is an important question because for MCA certification (or any certification) to have value there needs to be the right number of people certified – enough to create awareness and demand for the certification, but not too much so that it is considered ‘paper’ certification (as happened with the previous generation of Microsoft certifications).  Assuming those peers are clever certifiable architects, one of the reasons they may be put off is the cost.

Getting the Organization to Pay

The MCA certification is personal certification that is owned by the individual – not the organization that sponsored or supported it. It stays in the architects pocket whether or not he or she chooses to stay with the organization, goes off consulting or sits on a beach drinking caipirinha's. So it may be quite tough to motivate to your boss why he should sponsor you – I can't give you tips for your particular pointy-haired manager, but I have some ideas on what types of organizations will foot the bill.

The organization has to answer two questions:

  1. Can we leverage this certification in order to make more profit?
  2. Will the architect stay here after he as achieved certification?
Making profit out of certified architect

Obviously organizations have bigger pockets than individuals and a $10,000 invoice would not require the CEO’s kids to go barefoot. In the context of big deals the cost of certifying an MCA is 'the cost of doing business' as said by Tony Redmond from HP Services.

Most large organizations that are IT focussed have clever sales people that can use architecture certification to their benefit – having certified architects, project managers and other professionals can clinch a multi-million dollar deal. Also, since the MCA is trying to say 'We (Microsoft) reckon that this architect can handle a large project without messing it up' will help to get people onto the more lucrative projects – provided you have a salesperson who can articulate it.

Keeping the Architect

I don't consider myself a soft-issues HR specialist and staff churn is something that others can tell you about, but there is an architectural view to keeping architects around. Large vendors, integrators and software shops have often have technology that requires specialized skills that go beyond more general architectural skills and I believe that this is key when understanding how flighty architects will be.

If you think of some of the better techies that you have run into at places like HP, IBM and Microsoft – you can't imagine that they would work anywhere else (except maybe for their partners). These organizations train their people up so much on their specialized technologies that if they went to the competitor they would need a lobotomy and start again in the mail room.

As I see it there are two types of organizations that will foot the bill for certifying architects.

  1. Large IT services organizations like HP services, Microsoft Consulting Services and some auditing firm departments that land big, long and complicated projects. These organizations would feel that they offer enough reason for the architect not to leave.
  2. Small IT Consulting Shops where the architect is the owner or some other senior, entrenched individual that will never leave the organization because he or she helped build it from scratch.
Non IT Organizations

If you are working at an organization that has a lot of IT staff but sells something that is not related to IT, don’t hold your breath waiting for sponsorship – unless you are so indispensable that demands for sponsorship and foot stamping will cause them to pay just to keep you quite and happy.

Most organizations will fear that as soon as you are certified that you will bolt out the door waving your certificate and find a better job. Most people pursuing the MCA will not put out their hands for the legal length-of-service-or-else handcuffs that such organizations may wish to impose.

The MCA certification doesn't really teach you anything – except maybe that you are underpaid – and your employer won't see any real benefit by having you certified. You will still do the same job as yesterday and when being positioned as an individual within the organization your track record, which is quite visible, will be the measure of your worth rather than certification.

The Individuals

The currently certified MCA's did not fork out $10,000 each for their certification - although their organizations may have contributed in order ways during the development of the programme – such as HP and Microsoft. Of the 250 new applicants I don't know how many made it past the telephone screening (Andy, how about letting us know!) and I would be very interested to know which of those are being sponsored by their employers and which not. Those paying for themselves are taking a large, somewhat calculated, risk and I am sure that they have their individual plans for recouping the investment.

If you are considering the MCA programme and have come to terms with the programme fee it may be possible to rustle up sponsorship from your employer. I would be interested to know from MCA applicants out there if they are sponsored or self-funded. As for me, I am self funded – the MCA programme is a personal quest.

Simon Munro

Update 17 October 2006

This post was referenced by an editorial at SQLServerCentral.com and an interesting discussion ensued which you can follow here.

 

MCA
10/6/2006 4:15:48 PM (South Africa Standard Time, UTC+02:00)  #    Disclaimer  |  Comments [0]  |