Empathy in Tech#

I’ve been meaning to write about empathy in tech for a long time. Oddly, this is a topic that I’m the most hesitant to write about, for personal reasons. I’m not the most empathetic person, and I have trouble understanding how to improve the things I say to my friends. However, the topic I’m talking about has more to do with teaching than it does with personal relationships outside of tech.

Ask yourself this. Who would you rather work with: a developer who does his job, isn’t passionate about what he does but minds his business, or one who is super passionate, is knowledgeable, but tries to micromanage every pull request. Insofar as to say every pull request shall have only one commit, and if you do not conform, then you are not a developer?

If you had to choose between two mentors, would you pick one who gives you the bare minimum directive or the one who pretends he’s a diva and that you should mimic everything he does, from the choice of his editor to the tools he builds without asking anyone what features they want?

If this post seems rather personal, it is. I’ve met people like this before. Oddly enough, I have been this person before. I have friends who refuse to ask me for help because I used to be condescending about their lack of knowledge, and I’ve been told that I’m not a good teacher by people close to me.

Why does that affect me?

I want to teach. I spent a long time getting where I am, and teaching is how I want to do my bit in helping others. However, I took some time to realize that I needed to be more empathic to others.

I had to say these words to myself.

  • Someone who uses another operating system is not a lesser developer.

  • Someone who learns in another way that you wouldn’t usually recommend isn’t less smart than me.

  • Someone who uses the mouse rather than just the keyboard isn’t inferior to me.

  • Someone who types slower than me and takes their time isn’t any less smart.

  • Someone who takes their time to learn things isn’t inferior.

Do these sentences shock you? They should. These are things that I have thought early in my career. It took me a long time to learn how to teach others with patience. I still have a lot to work on, and I am sure that everyone does.

If you want to teach someone else, remember that it is an act of acceptance. And it isn’t they who alone need to accept you, but you who need to accept them and the way that they learn things.

I learn through books, and used to wonder why people used videos to learn. However, I have since recognized the worth of visual learning and how some might prefer it to lengthy technical articles or books. At times, the videos are better for gaining a broad understanding of a topic in a shorter span of time.

Some like to read physical books to learn. I still consider this a waste since tech books expire so quickly, but I understand that reading on a large tablet isn’t for everyone. The books might be cheaper in the short run. Especially if you find used copies.

However, I tell myself that the reasons for someone’s choice do not matter. They have the right to choose how and what they learn, or if they even want to learn at all. Everyone has a different reason for learning. Some want to provide for their family, and tech is more attractive than most engineering fields. It pays a lot better.

Yet, it is hard. Empathy is really hard, because you need to not only be patient, but you need to also understand where someone is coming from. That involves spending more time with them and their approach to things. A thing I tell my friends who want to mimic my journey into tech is this.

What works for one person will not work for you.

Sure, watching people who are lucky enough to be passionate about their jobs is really enthralling. It burns inside, wanting to be a part of such fire. However, it is also extremely draining. You might not want that.

An architect I once knew was someone I wouldn’t recommend learning from. I am adamant about this belief constantly. This person was a bully, and he would chide people telling them that they are “not a developer” because they didn’t use his preferred editor, or his preferred shell. He’d tell college graduates that they were not developers because they didn’t know how to use git. And he constantly made others around him feel that they either had to conform to his whims, or that they wouldn’t be given any encouragement from the management.

The funny thing is, he never really said or did these things to those who could hold their own against him. These were things he said to those who were non-confrontational. He said these things to people who couldn’t fight back.

The meek.

It’s weird that the Bible says “Blessed are the Meek for they shall inherit the Earth”. I wonder about that sometimes.

Where does this lack of empathy stem from? I don’t know what drove him per se, but I know something that frightens me.

Everyone is in tech for different reasons, and the least you can do is be nice to the person next to you. Physically or virtually.

If I didn’t have friends who cared enough to tell me to my face that I was being condescending or didn’t have empathy, I would have been exactly like him. And the funniest thing was that I almost was.

I pride myself in being someone who prefers the terminal. Every time I conduct a screencast or a workshop, someone or the other invariably asks for my dotfiles. I used to find that a matter of pride. Lately though, I’ve been considering flushing my settings just before a presentation so that it doesn’t detract from the message of the presentation.

However, I used to wonder why other developers didn’t use the command line interface as much as I did. I love the terminal. neovim and tmux fuel my workflow constantly. I’ve tried VS Code and Sublime Text and I’ve kept returning to the terminal constantly. I use Linux over Mac or Windows, and almost always prefer a Linux laptop for work. My new workplace agreed to give me a Linux because I asked them nicely. I feel crippled in other platforms.

And here’s another funny thing. It doesn’t matter. My choices don’t matter really. Tech is all about plugging stuff together in one way or the other. The only part of tech that’s constantly interesting and omnipresent are the people. If you’re not nice, what are you? Certainly not a developer by any means. You’re just a bully, shouting into the void. People aren’t scared of you they’re just annoyed at having to deal with you.

If I went down that path, I wouldn’t have been able to mentor some excellent graduates and interns along the way. I wouldn’t have been able to think with clarity, and I most certainly wouldn’t have been able to teach anyone.

I think I’ve been able to do some of those things. And I know for certain that I need to improve how I do the rest.