csswizardry / ama

Ask me anything!
57 stars 4 forks source link

How do you manage attrition as a consultant? #29

Closed mattlo closed 7 years ago

mattlo commented 7 years ago

Manage prospects, close deals, work with deadlines, work with terrible code bases, deliver in suboptimal environments, provide a scathing code review only to be deferred in favor of hitting a deadline, traveling, and work attrition. As a consultant, some gigs throughout the year must intersect many of these points.

How do you maintain self-motivation? How do you keep your sanity at night?

csswizardry commented 7 years ago

This is a great question! It’s naturally going to be pretty difficult to answer, but I will try to be as honest and candid as I can.

Manage prospects, close deals, work with deadlines…

This never gets any easier. Trying to nail on a client you really want to work with whilst they’re dragging their feet really throws everything out of kilter. You end up having to play clients off against each other a little in order to settle on start dates, or length of engagement, etc. For example, you might really want to work with client X and client Y, but the only way you can do both is if client Y signs on the dotted line first so that you can get their small body of work completed before client X is ready to start work.

Of course, you can’t actually let either client X or Y know this is happening because it is absolutely not their problem, and it would be unprofessional to make it so. This means stalling one set of people—which is never great—in the hopes that you can get the stars to align. It has happened more than once for me that the stalling ends up with you missing out on both clients, because you had to hold back client X for too long, and client Y decided not to go ahead anyway.

This never gets easier, but I find more and more that just being more frank with clients around deadlines and timings can help to mitigate some of the stress and overlap.

…provide a scathing code review only to be deferred in favor of hitting a deadline…

A few times it’s happened that I’ve been asked to come into a project quite late in the game (anybody reading this, hire a consultant before you think you need one) in order to help firefight. I do an audit, propose a plan of attack to contain the most immediate problems, and a longer-term strategy to redirect or repurpose a codebase, only for a client to fall into the sunk cost fallacy of saying ‘Well we’ve already invested 9 months into doing it like this, so we really ought to persevere…’

A part of me feels like I shouldn’t care that this happened—I still get paid the same regardless—but it hurts. I’m totally aware that the train is about to derail and I’m watching it happen around me, helpless. I’ve had this happen with clients to the tune of hundreds of thousands (if not even millions) of pounds. They carry on as they were, and then the inevitable happens, and it sucks. It’s demotivating, but it is in the minority for sure.

…traveling…

I absolutely love travelling. A lot of people don’t, and that’s fine, but for me it’s still a buzz. Sure, it’s expensive, it’s inefficient, it’s unproductive, it’s tiresome, but the fact that somebody might fly me to, say, Argentina, or New Zealand, makes me one of the luckiest people alive. A lot of the time I’ll have a 5am alarm on a Sunday morning so that I can spend half of my weekend travelling to work, and that sucks, but then I remember that I have the best job in the world and I STFU and smile to myself.

How do you maintain self-motivation?

Honestly, it helps that I absolutely love my job. I stay motivated because every new client is a new challenge, a new friend to make, a new place to explore, a new set of problems to assess.

I’m lucky that a good 99% of my clients are absolutely wonderful people, who ultimately end up becoming friends. In fact, I’m sure that any clients reading this answer right now will have at least one memory of us hanging out in a non-work environment, having dinner together, going for drinks, or something like that. Each new client or project is a whole new chapter of opportunity for me. By removing the repetitive or mundane aspect from my job, motivation is pretty easy to find.

How do you keep your sanity at night?

I live in a city that I absolutely adore with a diverse set of friends. I can escape the travel, the work, the admin quite easily, and I make sure I do. I love my work a lot, but I also have a good dose of non-work time whenever I need it.

I make sure I disappear into the hills whenever I get a chance, I have hobbies that take me away from work and code completely.

I make sure that my work doesn’t define me, but it’s still a huge part of me. I know when to care about which bit, and why.


To wrap up: