DEV Community

Cover image for What it Means to be a Technology Consultant
Laurie
Laurie

Posted on • Originally published at tenmilesquare.com

What it Means to be a Technology Consultant

Consultant is a vague word that gets thrown around a lot without much explanation. So today I wanted to talk about what it is that we really do!

What Does a Consultant Do?

The job of a consultant is to be a fresh pair of eyes, but mostly ears. Our job is to learn everything we can about the problem domain and the technology. Through extensive conversations, questions, and discussions it's up to us to prioritize the pain points of the team and how to address them.

  • Company Therapy: This is sort of a joke, but not really. Bringing together people from across an organization to explain their current state of operation is normally incredibly revealing! In some cases, these high-level managers haven't interacted with each other in quite a bit of time, even if their teams do. It can be tense, it requires listening a lot and asking probing questions.

  • Learn the problem domain: You can't help solve a problem without understanding the context. A big part of the job is learning the type of work our clients do, the market they work in, the way they make money even! Knowing all of this helps us make recommendations that are both useful and achievable.

  • Crystalize on the pain points: In a utopian world, there are plenty of recommendations that one can make to help out a technology team or business organization. But that isn't reality! It's important to focus on the pain points and the areas that can have the most impact and make the biggest difference.

  • Look at the constraints: We're often incredibly critical of other people's code, of architecture decisions, of business decisions even. The reality is that all of those were choices made given the constraints the team faced at the time. It's important to understand the limitations of a team, or you're giving advice they can't realistically take.

  • Bring Expertise: This can vary quite a bit. Sometimes it's domain/industry expertise, sometimes technical, sometimes problem-solving and often a combination of all those areas. If the people in the room already had that knowledge then it's unlikely they'd need an outside person to help solve the problem at hand.

  • Pick the appropriate tool: It's wonderful to know a tool well and think it can solve every problem. However, tools should be chosen to fit the task at hand and the team that will be using it. Trying to force a technology into a specific scenario is a recipe for trouble.

  • Find solutions: In the end, after we've done all of the above, our job is really to recommend solutions. Often we recommend multiple and list the associated risks and benefits. The solutions may be a change in team structure, hiring in key areas, adjusting process, changing architecture, or pivoting the roadmap to more adequately address upcoming market needs. There is no one size fits all list of recommendations. The job is to tailor the work to the specific problems in play.

What Skillsets are required?

As a consultant, your role can be any of these at any given time.

  • architect
  • manager
  • subject matter expert
  • individual contributor
  • technical writer

And to add to that, while we are considered technology consultants, most of us can tell you that 90% of the problems we find are people problems. So let's add communicator and translator to the list.

As it turns out, the best skillset for a consultant is a variety of interpersonal skills and the technical knowledge to back it up.

  • good listener
  • high emotional intelligence (the therapy joke is kind of true!)
  • comfortable asking questions
  • learns quickly
  • curious
  • strong writer
  • foundational understanding in a variety of technology areas and willingness to learn more as needed

What kind of clients do consultants work with?

I've worked with big companies and small companies. I've worked with technology-minded individuals and business-focused employees.

A consultant is there when the company wants a new perspective, or outside expertise, they don't currently have. What that means is that anyone can be a client and in need of a consultant.

The varying roles you may fill are as numerous as the types of clients you're likely to come across.

How did I fall into this line of work?

I started my career in government work on big projects. I then worked as a software engineer on a variety of large technical systems. Seeing so many successful (and unsuccessful) software patterns in a short period of time taught me a lot!

Personality wise I'm definitely a people person and love helping and teaching others. And I double majored in government, so all those years of writing academic papers came in handy. Given all that, consulting ended up being a great fit!

But the reality is that my path isn't everyone's path. And working in this field requires such a wide variety of skill sets, perspectives, and personalities even. If you're interested in consulting I recommend you check it out. It's a wonderful opportunity to explore the industry and learn a lot!

Top comments (11)

Collapse
 
gypsydave5 profile image
David Wickes

Hey Laurie - I enjoyed this! And frankly it made me want to try my hand at consulting because all the things you mention are things that I enjoy.

I was just thinking though - all these skills that you mention would all be things that I'd look for when I was hiring a good senior developer. So I have to ask: do you think there's a difference between your definition of a consultant and a senior dev, and if so - what?

Collapse
 
ssimontis profile image
Scott Simontis

Fellow consultant here...one of the biggest things I have noticed is that technology is often not the problem that clients are facing. It is part of the equation, but probably 75% of the time, people are the biggest issue. Weak or absent management, egos holding companies hostage, individuals trying to silo knowledge, fun stuff like that.

I have found that being self-aware helps me see a lot of issues in other people and I am able to connect the dots faster. There is also a lot more value in being a generalist as a consultant: it guarantees you stay billable, and a lot of times clients need one person who knows a little bit about everything.

Collapse
 
mrtnrdl profile image
Martin Riedel

Fellow consultant here as well. I totally agree with you. Communication and people-things are what makes or breaks companies and projects. The technology is most of the time just an implementation detail - or easily fixed when you're able to communicate effectively.

Collapse
 
laurieontech profile image
Laurie

Great observation :) I’d tend to agree. I’m not sure there is a difference skills and at any time a given engineer may be interested in either path.
That’d being said, senior engineers can have a depth of focus and in more cases consultants need breadth. And in terms of motivation/interest, working on a single problem versus working on multiple unrelated problems.

Collapse
 
ryboflavin42 profile image
Ry

I’ve been a consultant my entire career and the motto that has served me, my clients, and my employers the best has been
“A consultants job is to put himself out of a job”.

Collapse
 
sarahjanemorris profile image
Sarah-Jane Morris

Thanks so much for this! Having just jumped into the tech consulting fray myself, this has been super helpful.

Collapse
 
anpos231 profile image
anpos231

Is "Technology Consultant" the same as "Domain Expert"?

Collapse
 
laurieontech profile image
Laurie

Not always! Sometimes that's absolutely the hat we wear. Other times we're a pair of fresh eyes. It depends on client needs.

Collapse
 
ugurgungor profile image
Ugur GUNGOR

great article. Event storming is good technique for learning problem domain and understanding client's system.

Collapse
 
levivm profile image
Levi Velázquez

According to your experience, how it the best way to find this kind of jobs?
Using sites like LinkedIn? or offering your services personally?

Collapse
 
laurieontech profile image
Laurie

I joined an existing consulting company. There are numerous consulting teams, all with a different focus/mindset.
If you're interested in this type of work you want to decide up front if you're looking to branch out on your own or join an existing team. If your goal is a team then LinkedIn and other such search engines are good options.
I'd also mention that consulting is fluid and if you google companies in your area that do this work they may just have an open entry form for potential candidates.