
Ask HN: How do you constructively criticize your employees? - throwaway88771
Hello HN,<p>I started a small one man company with time as I gained more customers I got another person to help me with the programming.<p>But since then I find myself doing more work trying to fix his code and trying to get him to work in a way that doesn&#x27;t upset our workflows.<p>Shamefully on my part, I get really angry and I want to scream at the poor guy but I don&#x27;t want to make him feel bad. When I get angry I end up taking a few mins off my work to calmn down and then get back to work and try to help him. Or I end up doing his work for him.<p>How do you guys deal with situations like this, how do you help people get better and make them better programmers without making them feel bad? What do you do when you are angry about the quality of work of someone?<p>I am honestly a bit scared I get angry, since this is me managing just one person, I have more projects I want to work on so I will need to get more people in, and I don&#x27;t want to be the sort of person that screams and terrifies people, but instead someone who helps build people.
======
brudgers
Some reframing might help.

0\. Constructive criticism is only constructive if the person asks for it.
When given voluntarily, it's just criticism.

1\. Your coworker instead of your employee.

2\. The work instead of his work.

3\. My workflows instead of our workflows...by which I mean that your
workflows may need to change to become our workflows because our workflows
needs to be more than just how you do it.

4\. People learn over time.

5\. Focus on what the person knows not what they don't know.

6\. Managing people means getting the hell out of their way. It doesn't mean
telling them how to do each little piece of their job. It doesn't mean jumping
in and berating them over every little mistake that has not yet been
refactored.

7\. People often yell and scream as a response to stress. Add sufficient staff
so that work is not always in a crisis. This means spending more money and
maybe that means getting better paying jobs which is what an owner ought to be
doing.

Good luck.

------
cauterized
1) Add a code review step to your workflow.

2) Institute a weekly 1-1 meeting. This meeting is about what's going well and
what's not going well in the business, in your collaboration, and in your
interpersonal relationship. From both sides.

Do this every week at a set time. Frame it as a check-in. Listen to what he
has to say about what's going on, and also bring up anything that's causing
you problems. Frame your concerns not by stating "your work isn't good enough"
or "you need to follow this process in this way".

Instead mention that a deadline slipped because you didn't realize something
had been completed. Explain that the reason you ask him to use process XYZ is
so that you'll know what is and isn't ready to ship. Then ask him how you can
(together) avoid that problem in he future.

Basically, you're pointing out (objectively, without blame or attack) a
problem that impacted the business, demonstrating how it's linked to the
behavior you want him to change, and asking him for a solution within certain
parameters (which makes him invested in the solution because it's his idea).

3) if he's unwilling to engage in fixing problems that impact the business, or
if his work quality doesn't improve after a couple months of code review (and
code review should go both ways so a) he can see how you do things and make
suggestions of his own and b) it feels less hierarchical) -- well, you're the
boss. Fire him and find someone you can work with better.

------
alanmackenzie
Make sure your acceptance criteria for the deliverables and definitions of
done for each stage in your workflow are explicit.

In future design your hiring test filter out candidates who don't understand
the bars for quality that you require.

If you want staff which are "switched on" and learn things like the above
through observation you may need to pay more to hire better quality staff.

