First days, first client as a software consultant
- Publish Date
- Nichol Alexander
I would not call myself a professional consultant. Certainly, prior to working at Test Double, I did very little “consulting” and much more “building” and “owning” product decisions. The consultative approach I was familiar with was more akin to working on a team and in the spirit of team work. Consequently, I was somewhat apprehensive about taking on my first client with Test Double and somewhat unsure of what such a thing even meant.
- What was I supposed to do?
- Who was I supposed to do it with and for?
- What happens when I don’t know something?
- What if the client thinks I don’t know what I’m talking about?
And talk about imposter syndrome! Am I good enough for the client? Am I good enough for Test Double? I had all of these questions, front and center, and it was suprisingly challenging to deal with. But they’re all legitimate concerns and so I’m writing to you, dear reader, yes you, to help give you a sense of what it is we do and how you too can do it and be successful! I by no means have all the answers yet 😼, but I’m working on it. And in the meantime I hope in sharing this experience with you I can give you a little insight into what it is you might be doing after joining TD!
A little caveat: this was only my experience and there are as many experiences as there are consultants and clients! Some of this will remain true regardless, especially the impact of TD values and support.
First days: client side
The first thing to realize is that as a consultant there are two sides to everything. One of those things that has two sides is your working environment. There’s the client side and then there’s TD side. Let’s start with the first day client side.
It’s basically just like any other first day of a new job! So: Fun! For me anyway. There’s a lot of meeting people, keeping track of who is who, orientations, filling out paperwork, getting organized, setting up a development environment, trying to make sense of a new company culture, and trying to remember a lot of things you’re probably going to forget and have to relearn.
There’s also, of course, getting yourself acclimated to a whole new codebase which is a roller coaster in and of itself. If you’re lucky, you’ll have a great client like I did, with a well worn process for getting things set up. And most likely you’ll very quickly get your teeth into some nitty gritty of the code. Onboarding to a codebase could be the subject of a whole other blog post, though. So let’s just leave it here that there’s going to be a lot of work to figure it out.
And then, because we’re Test Double, there is also the work involved in figuring out the intersection of the technology and the culture. And that begins, like everything else, on the first day.
- Who merges PRs and when?
- And why is there a PR in the first place?
- And who decided they needed one?
- And how do PRs get reviewed?
- And how do devs talk to each other?
- And how do we work with Product?
- And how much of the business do we understand?
- And how much of the business does the rest of your client side team understand?
Starting to figure that out and chart a path for yourself towards that understanding is a crucial task, and probably the most valuable thing you can start working on.
Being the new kid on the block can be intimidating. One piece of advice is: recognize that being new is a valuable perspective your client may not have, but you do! Perhaps everyone on the team you are joining has been there for years. Having a smart, empathetic developer join them—aka YOU—is a great opportunity for your client to improve their onboarding process, their orientation, their explanation of the business, and definitely their documentation. Don’t dismiss your confusion and do take notes, and you will position yourself to already help contribute to making software better.
First days: Test Double side
While you’re busy figuring out what’s going on at your client, you also get to figure out how it all works on the Test Double side. Especially if you just started at TD, you’re basically starting three jobs at once! One on the client, one at the team at TD that’s working with the client, and the other with TD as an organization as a whole. It’s a lot!
The team of other Test Double agents who are also working with your client will welcome you to a TD Slack channel dedicated to that client. This is a great place to start to connect with a slightly larger community at TD as well as get some context around how things work with your client. The TD Slack channel is a safe space where you can raise questions, concerns, or just declare loudly that you don’t know how to fill out your timesheets! This is where the TD values start to come in and make this a very different place to work right off the bat.
For the organization, there will be paperwork, forms, meetings, introductions to Support Agents, etc. Just like your first days at the client, this is just another first day at school!
When values make the difference
You’ve probably heard a lot about Test Double’s values during your hiring process and onboarding, but working with your client is where they really start to come into play. It is crucial to be an owner—both for your client and for TD—and empathy is also key to establishing trust and relationships across the client and your home base. However, for me it is the amazing way the whole Test Double organization supports each other that makes the difference. You will feel this immediately and in a few specific ways that I think are worth calling out—each of which were really important to me in navigating the challenges I faced during my first client.
Support: Support Agent
My Support Agent is Amazing with a capital A. Support Agents are fellow double agents who provide intentional peer support. It’s one of the ways we grow consultants while avoiding burnout. But in short, they’re not your boss, they’re not your manager, they’re someone to help you and advocate for you and your growth. They are experienced developers and consultants who can and will help you navigate challenges as they arise.
Whether it is pointing you to other resources within TD, introducing you to other agents who were previously at your client, giving you some contextual organizational knowledge, or just sitting and talking through some of the aspects with you, they will help you get off the ground and feel confident and comfortable in your work with your client and with your teammates at TD.
#help is our Slack channel where calls for help go out. This usually has something to do with a challenge someone is facing at a client, but sometimes it also has to do with how to soundproof your work room! Posts in here go out to the whole of TD and there is always someone who is available to jump in and help.
Remember one of the reasons our clients like working with us is they get the whole hive mind of TD to bring to bear on their engineering and software development problems. #help is—like so many places at Test Double—a safe place. And other agents are waiting to take your call in a supportive, empathetic, knowledgeable way—the same way we work through software issues at the client. You can learn a lot about how you might handle things at your client from how people handle things at TD!
Support: Double Agents
Which of course brings me to the biggest support element for you at your client—all the other TD double agents! As much as anything, our people are our secret sauce, and the relationships you form at Test Double will help carry you through the challenges you face. Reaching out to people directly, Zooming to share war stories, pairing internally, are all experiences that start right away and help set the tone and backdrop for your success at your client.
Just look at those friendly faces! I relied on a lot of them, a lot. A LOT. I think I even annoyed some of them with how often I pinged them! 😄 But they were always available, always helpful, and always willing to share their perspective. Of course, I also had the opportunity to pair with other double agents—some of whom had nothing to do with my client—who were just interested in helping me out and contributing to my success at the client. Amazing! And while helping to deliver some valuable software, I also had the opportunity to learn from so many.
When things are hard or go wrong
Yeah, but, ok, sure, even with such great people and so many ways TD values and processes provide support, things can still go wrong. Client expectations may not be aligned, they may need something you can’t do, they may not be happy with your velocity or skill set. They may need something or someone else. I definitely had some moments where this was the case for me and my first client.
I think rather than fearing failure, this is an opportunity to put in place an ownership and growth mentality. If you are doing your best to bring your A game, care for the client and what they’re building, care for their team and their mission, TD as an organization has your back and will work with you and the client to figure out what’s best. Maybe it’s being reassigned? Maybe you need more support? Maybe the client’s expectations are off because they didn’t realize there was a different underlying problem?
These things happen, and Test Double has enough experience in the world of working with clients to be able to help. TD isn’t going to throw you out if a particular project’s not a good fit—they are invested in you in the same way they are asking you to invest in them and in the client. It’s hard to have that trust, but it is there, and it’s amazing to see it proven.
And Some Personal Advice
Everyone’s experience is different, your mileage may vary, and all that, but these are three things I did that really helped me:
- Trust your colleagues—at your client and of course at TD.
- Do your best.
- Bring your best ideas to help your client.
Those all seem really trite when I write them down, but they helped me. And I hope they help you! I wish I had more and better nuggets of consulting wisdom, and maybe in 5 years I will, but for now, it’s enough to have gotten me started! 🚀
In The End
Starting a new job can be scary, nerve-racking, and discombobulating. Test Double multiplies that by three! Combine that with starting out as a consultant—or at least starting with a first client under the TD flag—and it’s a recipe for a potentially stressful and uncomfortable experience for a new double agent that doesn’t serve the company or the client.
The good news is Test Double has done an amazing job of putting together a number of varied support systems to help you through that transition and be successful as a software development consultant. Every day during my initial work, I was the beneficiary of the collective empathy and good will of a suite of Test Double agents working to help me be successful! If this sounds interesting, check out more info here.