
Ask HN: Am I excessive in wanting to fire a dev? - SFjulie1
The other day in a base code for a web app in python we had exactly this problem:
http:&#x2F;&#x2F;effbot.org&#x2F;zone&#x2F;default-values.htm<p>I am the interim of the boss and in the code of one of my mate developer we had:<p><pre><code>   def compute_since_how_long(self, queue = None, start=time.time(), end=time.time() + 86400):
       &quot;&quot;&quot;all horrors left as is&quot;&quot;&quot;
</code></pre>
and my fellow (python senior) developer did not understand the problem of scopes in python and the use of sentinel.<p>He made me tcpdump the mongo connection, check the sessions, the OS&#x2F;hardware before checking the input&#x2F;output of the function he coded and that was clearly the problem.<p>So even though I knew the fix, since I thought he needed to understand the problem, I asked him to fix the code (it is a part of the application he coded recently). And gave him the URL as a pattern.<p>He has a PhD, he know how to read, he is 35 married, and seems to be able to read a newspaper, he has no known cognitive deficiencies.<p>He left me with a test on value and not address<p><pre><code>    if start == sentinel:
</code></pre>
AND he added a test on end and swapped it with start. (sabotage or lack of professional ethic &#x2F;&#x2F; testing was screaming my brain).<p>I was pissed and he answered publicly, if it so easy for you why don&#x27;t you fix it? (ofc I am not a victim and did not let it slip.)<p>And I was telling him like, well, how can you claim to be better than a PHP dev (I have been a PHP dev, but it still one of my favorite bashing at any dev) when you don&#x27;t care about scopes, immutability, allocation of variables when you pretend to code into a language?<p>He answered what I was saying is unnice! And used the coworkers as witnesses of me being an asshole for this.<p>I want to kill him and it does not seems socially acceptable.<p>Do you have any alternative better plan than the murder I am planning?
======
partisan
> And I was telling him like, well, how can you claim to be better than a PHP
> dev (I have been a PHP dev, but it still one of my favorite bashing at any
> dev) when you don't care about scopes, immutability, allocation of variables
> when you pretend to code into a language?

This is where you went wrong. What you said was very `unnice`. Rather than
plotting to kill him, start plotting your apology. Then figure out whether you
are a "Boss" or a "Leader". It makes all the difference in the world. If you
find that you are a boss, quickly relinquish your position. If you are a
leader then you will find a way to apologize and turn it into a teachable
moment for yourself and for your co-workers.

Do a quick google search on "Boss vs Leader" to understand what I am getting
at.

------
27182818284
>He answered what I was saying is unnice! And used the coworkers as witnesses
of me being an asshole for this.

If I read that correctly, other coworkers also think you're an asshole,
correct? If that's correct, that is pretty important. If you are seen by not
only him as unkind, but also by others as unkind, you'll be fired once the
opportunity presents itself. There are even tech companies with the motto
"Fire the assholes" because it is often _more_ productive to work with someone
less technically competent, but less of an asshole, than it is to work with
someone who is more competent, but more of an asshole.

In addition, I had to read your post a couple of times before it made sense.
The next time you're bothered by an employee, you may want to consider that
for each of your emails, texts, etc, that the other person may have to do
twice the work to read it.

------
codingdave
If you cannot politely and professionally give criticism to a developer (even
better, mentor them), and instead choose to belittle them, then the problem is
with your leadership style, not the developer.

~~~
SFjulie1
Me asking politely the bug fix, and the altercation are separated by a 36
hours scope, with supports' phone ringing like hell because customers wanted
to use their application.

And kind of me shielding the devs from the operations wanting feedback and a
quick resolution.

Production is noisy.

~~~
gull
It's ok to say no.

Just as it's important to be agreeable under uncertainty, it's important to
say no under certainty.

"No, sorry, it doesn't make sense to start sniffing the wire protocol and
checking the OS/hardware before testing the application logic first."

------
gull
Don't ignore your feelings. You should get pissed, and also understand the
forces at play.

Not everyone you work with will have an equal or greater work ethic as yours.
The harder you work, and the better you become at your work, the more apparent
it will become development in many companies is less than ideal.

And that's ok. You'll be happier if you understand that.

You went on to dig deeper as a result of getting annoyed, which people who
blindly succumb may not have done, and may lead to changes.

But please, stay focused on the bug, not the person. Address the process, not
the person. The process is a stronger force.

One of the most effective ways to handle cases like this is to face the
problem directly. In your case it may have been to send an email, containing
only one sentence and nothing else (so there are no distractions) that says "I
believe the problem is with scopes in compute_since_how_long -- can you please
test this function?"

------
gqvijay
Being angry is fine but lashing out and saying "..you claim to be better than
PHP dev when you don't care about.." serves no purpose other than reacting to
your emotions...ESPECIALLY as a leader. If you said that publicly in front of
others, that's even worst and you should seriously think about getting
mentored by someone you trust. (regardless of how ridiculously clueless he is)

Being assertive is important but being an asshole just adds distance between
you and your team. You gain respect on the former and loose respect on the
latter. I agree with partisan: 1\. Take a deep breath and run it by your
"boss" to gain perspective 2\. Apologize to your developer for the poor choice
of words and tone and tell him that you regret, and it would never happen
again. 3\. Once that's done, ask: "But do help me understand what you did here
and why."

If he repeats his mistakes, take the "I don't think _we_ are a fit" or "this
arrangement is probably not a match for us" or whatever. After that's done,
you can go to your boss and vent some more. :)

Hope it helps.

------
Aeolun
So, he attempted to fix the problem, didn't do that correctly, you were an
asshole about it, and he called you out on that.

It seems to me this problem (and the related ignorance) could've been fixed in
10 minutes of working together instead of 36 hours of fighting about it.

------
brogrammer90
It sounds like you already hated him, and your confirmation bias is
blindsiding you.

------
brudgers
To me the root issues are a team culture where:

1\. Code ownership is not collective.

2\. People's jobs are at risk over individual mistakes.

3\. Team members are inclined toward bickering rather than just solving the
problem.

4\. Outrageous behavior toward other team members is deemed acceptable.

Good luck.

------
zer00eyz
He has a PhD...

A woman I once knew told me this story. Her friend was a single mom while in
grad school, when her water broke she took herself to the hospital on the
bus... After she finished her PHD she was unable to cross the street without
help.

Getting a PHD on a topic does not grant you some immense skill with said topic
(it can...)

However you should have done the following:

1\. Production comes first, if you CAN fix it, do it. Production problems are
the only time when you can and should be the HERO!

2\. Once production is fixed, THEN you give the person shit... and the way you
do that is by making them CYA --- your PHD should have been writing the same
test for EVERY public function in your system to catch the mistake for as long
as it took.

3\. Its a job, you don't have to be NICE... however being an asshole isn't
going to get you anywhere.

4\. If you have to put someone down, at least be funny about it, or try to be.
I used to work in an office that had "tokens of shame" (beanie babies).
Someone would mess something up, and the token would sit on their desk, till
someone else saw fit to "pass it on" to the next person who dropped the ball.
The other favorite is "I'll bet you a dollar this is your fault" of course no
one ever thinks it is, and they take the bet (you have to get dollars out on
the table) --- then when you show them make a big show of taking the buck.

------
msie
I suspect there's more to this than this one incidence. Has there been
friction between you and the developers in the past?

------
athesyn
Either everyone will get sick of you to the point where you're fired, or the
guy will probably quit anyway.

I've noticed in situations like these it will end in one of those situations
so you don't really have to do anything.

------
mingp
Without speaking to your specific situation, because I know neither you nor
your coworker nor the full details of what happened...

I think every Python dev I've met (myself included) has a funny/embarrassing
story about default initialization in Python. It's a behavior which exists the
way it does for a good reason, but nonetheless goes against most people's
intuitions. So, we tend to get bitten by it at least once, and then we
remember our embarrassment and avoid it going forward.

------
panjaro
I'd never ever work with a person [I don't want to use bad words] like you !

------
SFjulie1
PS I have been raised in Europa, expressed murder intents are not first degree
murder intent. It is just a figure of style for saying how much angry I am in
my own self.

~~~
GFK_of_xmaspast
(a) You're not in Europe now (b) anger is a poison.

