I want to offer some advive on dealing with criticism at work, and address some misconceptions about facing criticism at work. I will also be giving some brief advice on avoiding a bad developer hire.
Recently we had a developer leave abruptly on us. He received some disappointing news from his manager with regards to performance and expectations, and responded by criticizing the company. The result of the conversation was a mutual agreement to terminate the contract immediately.
Now let me be clear, the purpose of this post is not to kick anyone one they are down. Although the hire was a mistake, he is a generally nice guy, I wish him the best for the future, and with his many years of experience I am sure it won’t be too long before he is back in employment again, if not already. I am protecting his identity as much as possible, one or two of you might still know who I am referring to, but if so you will already know about what I’m saying here.
There are three warning signs that should have been picked up on and I recommend watching out for:
1. I always work on greenfield
If you are hiring someone to work on a large brownfield system, its almost essential to hire someone with previous experience of this. All systems are different so although there’s unlikely to be much in the way of specific algorithms or patterns the developer can readily use in your system, greenfield development is a different world to large brownfield application development and requires a different skillset. Previous experience teaches the developer when to refactor and when not to refactor. Pragmatism has a different meaning in a brownfield world than a greenfield one.
Almost everyone prefers doing greenfield development to brownfield development, because you don’t need to deal with the ugly realities of legacy systems. If you are hiring, you want to be sure your candidate has the right attitude to deal with this effectively.
2. All my experience is waterfall development
For average developers who come from a waterfall background into an Agile environment, and the majority of developers are about average, either one of two things tends to happen.
Either the developer finds the new environment to be a breath of fresh air and really thrives as an Agile developer, or the developers doesn’t like it and generally crashes and burns, and ends up leaving for a job whether they can do waterfall again. Developers either “get it” or they don’t, and there’s no room to hide or slack off in an Agile team. In a good team, the team members will clock any developer not giving 100% for the team almost immediately.
I’ve never seen this amongst a top performing developer. I’ve found that the best developers can adapt to work well under any process, as well as any language.
Many job vacancies require previous experience in an Agile environment. Previous experience is generally a benefit, but I wouldn’t entirely disregard a really strong programmer who hadn’t yet had the opportunity to work in an Agile environment. But at a minimum the developer should have a strong understanding of different processes and methodologies and their pros and cons.
3. I’m a consultant
There are some good developers who also offer consultancy, but in my experience this is something to be wary of. You want someone who is a doer, not someone who always has an opinion about how you are “doing it wrong”. If you need a consultant then hire one, but good consultants usually come with a high price tag, and for the most part I don’t believe it’s a good idea to hire one to do brownfield development work for you.
There several stories regarding newcomers wanting to change a lot of things when they start and the team needs to be patient and be willing to spend the time giving them the context they need to understand why the team does things the way it does.
“We has a really good designer but she just didn’t have the context we had.
We’d argued through and discussed a lot of stuff in the first few weeks and we’d got into a good cadence, and so she comes in and was very strong minded, got lots of ideas, she was real passionate, she was a consultant (consultants you know how they are).It took me a few days to realize she doesn’t have any of the context that we have, plus she’s new to the company…she had to get onto the same page as us on what we’re trying to accomplish.
So never underestimate this whole thing with a newcomer joining the team and also recognise early whether they fit or not, they might not fit at all.” – Bill Scott, Senior Director, PayPal
Facing some criticism is a normal experience in business, and being able to handle that and deal with it effectively is an important skill. In my opinion, relentless criticism is a sign of a company with some serious culture issues, but every company needs to criticize it’s staff from time to time to address problems. If you are on the receiving end of negative feedback, and almost everyone is or has been, first consider this:
People often complain after getting a “bad” review that their manager has a distorted and inaccurate view of them. Don’t you think that, of all the people in the world, the person reviewed would have the most biased view of their own performance? – Phillip Su
Now this is pretty hard to swallow. But if you can, you will earn more respect from everyone around you. Because nobody admires a show-off and almost everyone admires someone who can show some humility. The points that your manager raises may lack the full context, and they might be good reasons for you deciding to have done things the way you did. So it’s good to explain that and get a level understanding of what happened and discuss what could have been done differently.
What you don’t want to do is find someone else to blame. Even if someone else is clear at fault is your mind, you should think clearly about how to express that in a fair and reasoned way. Sometimes the criticism you will face will be unreasonable, but don’t jump to the assumption that your boss is dining out on your misery. If you hear the sound of hoof-beats, think horses not zebras! In most cases it will just be a misunderstanding that can be diffused by explaining the situation in a positive way.
Criticism, like rain, should be gentle enough to nourish a man’s growth without destroying his roots.”
Frank A. Clark
Take all emotion out of the equation. And above all take your pride out of the equation. In the case of the anonymous developer above, he would still be employed with us now if he had valued the company above his own pride.
“I’ve managed almost 150 people across dev/test/PM. I estimate about 60% of employees think that they belong in the top 20% when ranked against their peers. I have never once had a person say that they belong in the bottom 10%.” – Phillip Su
It doesn’t matter if you have 10 years, 20 years or even 30 years experience in I.T. There is always a ton more to learn and nobody will ever be perfect. And when it comes to learning brand new technologies, your many years of previous experience gives you very little advantage over young guys who are fresh out of college or university.
Now broadly there are two categories of trouble at work: at risk of dismissal, and not at risk of dismissal. If you are at risk of dismissal, obviously it’s a much stressful situation to be in. This is a good time to pause and consider where you would be happiest working? Why is it not working out so well at your current job?
Whether you want to leave or not, you should try hard in your current job to improve your manager’s opinion of you, take some of the pressure off of yourself and if possible start enjoying your work a bit more. If you know your manager is going to criticise, beat him or her to it by criticising yourself first. This will take all of the ammunition away, and you’ll typically hear back that it isn’t so important and don’t worry about it.
“Hatred never ceases by hatred, but by love alone is healed.” – Buddha
Never quit your job before having another job already lined up. In many cases you will be able to go from risk of dismissal to no risk of dismissal with a constructive action plan and enough effort on your part.
If you start interviewing for a new job, it’s essential not to take your dissatisfaction with your current job into the interview with you. Most interviews ask you why you want to leave your current job, and you will want to think of a constructive answer to that question. Just one bitchy comment can drop the interviewers estimation of you dramatically. For more advice on interviewing see here.
Further Reading
Fable of North Wind and Sun
Six Ways to Deal with Criticism at Work
Dealing with criticism
If a bad review comes out of the blue, especially at 3 month/end of year – then you have a communication issue between manager and their staff, the manager should be ensuring staff are aware of issues with performance early. Of course the communication could be someone not listening but more often it is someone not wishing to upset the cart until they have too, but better a small rocking early than a man overboard later
Pingback: The Software Craftsman | Zombie Code Kill