“Have patience. Go where you must go, and hope!” – Gandalf
I’m moving on from New Signature (more on the destination at a later date). I wanted to take a moment to reflect on my time at Nebbia Technology and (merged into) New Signature over the last couple of years and thank these teams for letting me be a part of them. Steve Jobs in his famous Stanford commencement speech said “you can’t connect the dots looking forward; you can only connect them looking backward” and that is what I hope to do with this post.
Remember when I joined Nebbia Technology back in 2018?
Nebbia went on to be acquired by New Signature and I was fortunate enough to end up in the Azure & DevOps team.
That journey comes to an end today. Here are some things I learned along the way about consulting and being a consultant:
- Experience is not a substitute for skill or certainly not an indication of how well someone can do a job. Experience often makes you rigid to change. With the right mindset and depending on what you learn, you may reduce your blind spots and prevent you from making fatal mistakes. [Read my other blog post on Experience As A Vanity Metric]
- Seek out and work with people more talented than you. It’s easy to fall into your own delusional bubble when you’re the one everyone looks up to. Find a team in which people are more talented than you but where your skills complement the other team members’ strengths. It can often be humbling to work with someone more talented than you but this is a vital part of personal growth.
- Don’t be afraid to shake things up. The trick is to do what’s right and what will help the client in the future. If a client is right-click deploying, build a CI/CD pipeline. If a team has no tests for their code, start adding tests. Shaking things up, which comes with some friction, does not come to me naturally. So this was a skill I started to pick up during my time here, mostly by observing my fellow team members.
- A corollary to #3: Just because things are done a certain way is no excuse to keep going down that path. Most teams Conway’s Law their way into a particular approach/methodology/process. Understand why they got there and show the path forward preferably by leveraging their strengths.
- Both #3 and #4 are bound to create some consternation. Language helps to tackle tough situations. Telling someone their system sucks is obviously the easiest way to alienate them. However, sugar coating the reality which less alienating will do more harm in the long run. Again the use of language is something I started to understand and improve on during my time here.
- Align with client goals but own the direction. “I want to migrate from on-prem to the cloud. I would like to use my own tool built with React to do this because I learned about it at a conference and it sounds cool. Here’s some propaganda”. Only slightly exaggerating here but these are the types of situations a consultant often encounters. In the past, I would’ve nodded and suffered through the implementation because “customer knows best”. At this job, I learned to push back, focus on the goal, and present the best solution possible for the problem, which would often not be what the client was initially envisioning. You’re the expert. Align with the client’s goals – the why – and you get to lay out a vision for the implementation – the how. Again, this will require the use of language to bring about alignment (see #5).
- Drink the DevOps Koolaid. A couple of years back before I joined this team I was a DevOps n00b. I joined arguably the best technical delivery team in Azure & DevOps (item #2, working with people more talented than you). Well, now I consider DevOps a strength of mine and central to my mindset and approach. There’s a bunch of reading material on orienting yourself to DevOps but I recommend starting with The Phoenix Project moving on to Accelerate and then reading The Unicorn Project.
- Trust but verify everything. Very few people lie outright but there are often huge gaps in perception and understanding of ground realities. For instance, a client claiming to have implemented microservices may simply have a bunch of tightly coupled smaller services. As a consultant, it is your job to verify this and talk rectification measures instead of simply moving forward with a kludgy mess.
- There are contractors and there are consultants. If you ever watched The Legend of Bagger Vance, a movie based on golf, all the caddies are contractors but Bagger Vance (also a caddie) is a consultant. The contractor is the default state. In technology, the line between contractor and consultant often gets murky. Both are vital cogs in the technology delivery ecosystem but it is important to understand your role. If you’re hired as a consultant it’s important to approach the job as a consultant, instead of as a contractor.
- Culture >>>>>> code. As a team/company, do weird things to build your own culture. Decide what your culture will tolerate and what it will not. Is the brilliant jerk who berates others but solves tough problems really worth it? In the case of teams I worked on at Nebbia and the Azure & DevOps arm of New Signature, the culture leaned more towards mutual respect and learning. Build tribal knowledge, shared language, and common approaches to solving problems. In tough situations, leaning on this shared knowledge/values (aka culture) pulled us through where the most complicated or elegant code would’ve been of little use.
- Don’t burn bridges. Since I don’t have the benefit of being a mindreader, I would like to think that I’m not leaving on bad terms with any team members or even clients for that matter. Funny related story, a client from a project that I had worked on emailed me to provide feedback about the ONETUG website.
- Be Mark Watney. While most of my other tips on this list are things I learned from my teammates, this one is completely mine and my hope is I was able to instill this in some of my teammates. I would get asked about the secret behind my calm methodical approach to problems. I use the Mark Watney (from The Martian) school of philosophy:
At some point, everything’s gonna go south on you and you’re going to say, this is it. This is how I end. Now you can either accept that, or you can get to work. That’s all it is. You just begin. You do the math. You solve one problem and you solve the next one, and then the next. And If you solve enough problems, you get to come home.
It was a privilege to work with the team at Nebbia Technology and New Signature. Thanks to every single one of the team members because you touched my life in a positive way. Special shout out to my friend, boss, and mentor, Esteban Garcia – you’re awesome.