I see lots of firms asking for a “hands-on architect“.

 

Cafe Associates is not a recruitment agency: it does not help companies by supplying people into roles. Instead it provides “Architecture As A Service” in which senior business designers talk to companies to determine what the business needs and then provides that service through its network of independent design partners, like my firm, Alephant.

One alternative strategy is to say that you have a role within your firm for an architect of some description. This brings in your HR department as an alternative to treating the requirement as a “B2B” relationship. I find this particularly common with IT technical architecture requirements which I see and sometimes apply for. In particular I often see the phrase “hands-on-architect”. I think that phrase is a sign that the company does not need a full time architect, but rather the services of an IT architect on a fractional basis, or they should consider the aforementioned “Architecture as a Service”.

cartoon showing a bricklayer who is also the architect

This cartoon is what I think of when someone asks me to be a “hands-on architect”.  People expect a hands-on architect to be able to build every aspect of everything that they design.

I should say straight away I am not a construction architect. My firm designs big data IT systems for companies in the UK and Europe. I am using this analogy to encourage people to think about what they really need and change what they are asking for.  

I bet that construction architects know about laying brick walls, and pouring cement, and many of the other skills and techniques of building construction, but is it wise to expect them to do those things themselves? 

Why Does it Happen?

What is really going on here in the IT world? What advice can I give you to improve your search? 

Firstly there is the desire for a person who is skilled in implementing the designs that they come up with. No one wants theoretical blueprints that cannot be turned into reality. That concern may be best solved by looking at the career history of your architect, and some kind of verbal questioning of their technical background.  

Secondly most designs need to be changed when they are used. Blueprints should not be ‘chucked over the fence‘ from the architecture department to the engineering department and never changed again. Maybe people want hands-on architects to avoid this. I find that my designs often include options which may be decided not at the beginning of the project. For instance choosing a particular technology may be down to what staff skills are available to the project. Sometimes choices are down to how much money a company wants to spend.  

I wonder how much of this is wanting to keep the headcount low. Maybe they think that getting a “hands-on architect” means that they can do without one engineer in the head count. I would suggest that this is a false economy. Sure, a small startup may benefit from multi-skilled individuals, but that is because they often don’t have enough work to justify employing someone full time.  

Next there is the ‘clumpiness’ of an architect’s work. Typically an architect does a lot of work near the beginning of the project in analysing requirements and producing designs. Later on during delivery and implementation their work as a design authority may occasionally be called upon as engineers on the project need to check, change or clarify things.  

Assuming you are not a huge organisation with a dedicated architecture team, the most common way of dealing with this is to use an engineer who doubles up as an architect. That person can change hats depending on the current needs of the project. Sometimes that is quite honest. Many senior engineers can do architecture in their area of specialisation. That may work fine if the architecture is obvious and not complicated. But when is it really that simple? Senior engineers may find that they are spending all their time doing architecture without enough time to do their main job. A Hands On Architect is the same thing – just a mirror image. 

But is that the only solution? This concern may be solved by taking on architects who work as a service – supplying architecture guidance when needed, and not on a 3 month contract designed for temporary employees.  

But if you still want an architect who can ‘change hardhats‘ and be an engineer as well then ask yourself why that is? 

Maybe you are still in the “discovery phase” and don’t have many engineers yet. It is common to want to build a Proof of Concept system (PoC). I think most architects would be happy with doing that. But like any prototype you should be willing to throw away a PoC because it wont have been engineered to high standards. Its purpose is to prove a technology or principle works, and not necessarily be the finished product. In the building construction world the Proof of Concept system might be an artists model, or 3d computer based walkthrough.  

My ‘Construction’ Skills

So am I a good hands on architect? Am I any good at brick laying, cement pouring or crane operating? 

Personally I have been a developer for over 15 years before I moved into architecture. I can do software development in a number of languages and environments. However I don’t do it much nowadays and you are better off employing a specialist for that. Can I talk to the developers in language they understand? Yes I can.  

Am I a Data Scientist? Well, no. My maths skills are above average compared to the whole population and I can probably explain how to do linear regression, but if you really want someone to extract key insights from your data then that is a specialist skill. What I can do however is design the system your data scientist needs to do their work.  

Am I a Data Engineer? Well, I have been, yes, but that was about 10 years ago before we had the term “data engineering”. What I can still do is design systems to be reliable, easy to configure and run, and give data engineers the tools to do their jobs. 

Am I a DevOps Engineer? Well, I have used lots of DevOps techniques and understand the principles involved. Can I set up Jenkins to do automated builds? Maybe, if you give me enough time. Can I use ansible to configure deployed hardware? Well, yes, and chef too, but I am no good at it. I can do it, but more slowly than a specialist.  

Am I a cloud engineer? Can I create Terraform scripts to automatically create infrastructure in the cloud? Well, yes, in theory I have used Terraform to build infrastructure, and Vagrant too. But what about Cloudformation or the many other tools for doing the same thing? What are the chances that I have the particular experience in the one that your team already uses?  

If you still want a hands-on architect then look at the above skills and say to yourself? Which of these am I actually asking for, and is it realistic to find all that experience in one person? Or do you look at a person’s skills and say that they can pick up the task given time.  

Author

Alex McLintock has over 25 years in the IT industry. Alex runs Alephant which helps companies in London to design new systems for Big Data Analytics and Data Science. He has written several articles here.

Please get in touch if you are considering new Big Data systems, or need help organising your existing ones.

Credits

Image used in Cartoon supplied by Alison Scott. Thanks!

Cartoon Text and concept by Alex

Abstract Image photo taken by Jené Stephaniuk @jenegallery on Unsplash

Comments

Please direct discussion of this article to my LinkedIn