Engineers Who Are Jerks
If you've ever been on an engineering team, sometimes people can be abrasive and hard to deal with.
Have you ever been that guy? How did you work on yourself to change?
Asking for a friend
Have you ever been that guy? How did you work on yourself to change?
Asking for a friend
15 comments
[ 2.1 ms ] story [ 43.4 ms ] threadI also got married. And then I had kids. I got to see, up close and in my face, the damage that being a jerk did to other people - people I cared about, people that I either had to just continue to look at the damage or try to pick up the pieces. Seeing the hurt on peoples' faces quickly took the fun out of being a jerk.
I started thinking about other people and what they could be going through. Physical and mental health, especially for parents, those with aging parents, those who've experienced loss.
Every person is a universe.
Berating someone for not reading the docs, which takes effort (!), became painful and a source of shame.
I definitely can be hard to deal with if you try to run BS by me. Things like unnecessary refactors for example really rub me the wrong way.
I think that sometimes hard NO is the only right answer. "No, we don't need to do this, it's unnecessary, it can introduce bugs, and it wastes reviewers time. Not LGTM". I can see how this can be seen as "abrasive" and "hard to deal with". But sometimes swallowing your ego and abandoning a change is the right answer.
I once got a PR review that said “doesn’t confirm to SOLID principles” Well, being self taught I didn’t know what the heck was he talking about, what part of my PR was he talking about or anything else! In the complete opposite side of the spectrum one of the most effective engineers I’ve meet (it was scary seeing how many story points he finished per sprint!) left comes more along the lines of “have you considered using a lambda function for this? It might make the code more readable and we wouldn’t need to go through the list 4 times. Here’s a way you could implement it: ~actual working rewrite of my function as a lambda function!~ Lmk if it doesn’t makes sense!”.
That teammate helped me grow more than anything else in that company, and the egregious mistakes I used to make, I only made them once!
So yeah, I think that there are occasions where NO is the only correct answer, but there are definitely multiple ways to say no.
If your friend has narcissist tendencies, the usual advice is to very carefully extricate yourself, there is little hope of change. See https://youtube.com/@SurvivingNarcissism Skip first 40 seconds and the last 2 minutes of his vids.
If it is you, then seek the opinions of others on your faults, without hitting back with excuses. We can easily see faults in others. It is hard to see faults in ourselves, and even harder to change our behaviours. See https://m.youtube.com/watch?v=CUp5iBYroBA
When B2s separate from the company ... such a relief
Then I became more senior and realized:
(a) it turns out not everyone thinks like me and what I think is 'pure' (surprise surprise!)
(b) holding tightly to my attitude of good code, means I live by some attitude that only I can solve the problem. Which is a sure way to get overworked and burn out.
(c) it's also cool + fulfilling to level other people up and grow them. And often they want to learn. Because then they bring their other fun + hard problems to you, and you also don't have to maintain the original stuff forever - see point (b)
(d) I was embarrassingly wrong enough to need to learn some humility
(e) Related to (d) I won't grow if I always think the same
My guess is that in my case, I experienced some early narcissism - basically all teenagers and young adults - but grew out of it. Especially as I matured, had more leadership roles, and had kids
Note though that even to this day, I get the "grumps" when I have to manage some sudden opinion not in line with mine. I eventually swallow my pride and it usually is an educational moment.
I've learned I'd rather have a well loved piece of code held together with duct tape and bailing wire with the misery shared with the team, then my own perfect, isolated place where only I understand how things work.
Somebody just politely informed me. I had no idea. I worked on it.
2. Leisure personality. When I'm not talking about work, chatting about restaurants, vacations, etc. I'm more interested in learning about my co-workers. What they like doing in their free time, etc.
I tend to not let the 2 mix in the same interaction. Recently, I've gotten this feeling that people may have a hard time distinguishing these 2, especially in a remote first world. Generally in a non-remote world, there are enough small conversations before / after meetings that people realize that my serious side, isn't my only side. I care about you as an individual, but we still have professional pride.
Not only was that, I’m sure, very annoying to my coworkers but it also brought be a lot of anxiety. I had this stupid idea that “I knew” and others only “knew” as long as they agreed with my knowledge.
I’ve come to realize that that is quite stupid and a huge source of stress that I could just cut away!
As a policy nowadays I accept pretty much any opinions or changes to my PR as long as is not something that actually affect the product. I remember once having elevating a disagreement all the way to the CTO about a variable name! so, no, a coworker things that X should be called Y? For sure! That we should use .forEach instead of a for loop? No problem! I don’t own that code, we as a team do, and thus I no longer “care”. Don’t get me wrong, I still have opinions and share those as needed, but I’ve come to realize that there are many ways to accomplish the same thing, that “elegance” is not really a value that business holds in high regard (business == $$), and that getting stuff done and getting along makes me as an engineer very valuable to the company.
I nitpick on my personal projects, I write “elegant” (at least my definition of it) code for my editor config file, and I’m way happier that way!
If you are going to be arrogant you better be sure you are indeed a rock star :) Not that I recommend it.