Coding is a Social Activity

You’ve probably heard about that manifesto that some techbro at Google wrote. This is the response I wish I would have written.

A couple things to highlight and emphasize:

  • Writing software is about understanding problems, and to understand problems, you have to not only know how to solve them with code, but know the root cause of the problem. That requires building empathy. Without it, you’ll never be great.

  • There’s no such thing as “male” or “female” skills. They’re just skills. That people put them in buckets says more about the broken rigid gender roles in our society than the quality or value of those skills. Empathy is much harder to develop than learning how to code.

  • The dude should have talked to some non-bro humans before publishing that crap. They would have, hopefully, gently slapped him around intellectually and convinced him not to be stupid in such a public way.

  • Guys, every single woman you know who’s ever had a job or worked in any situation where men are present has dealt with things you can’t even imagine. Not most. ALL of them. If they haven’t told you about any of them, you probably have a lot of work to do on empathy, because they don’t think you can handle it, or you’re kind of a jerk.

This isn’t totally related, but it’s related enough and I wanted to write about it, so here it goes.

Sara Soueidan tweeted yesterday about other peoples’ productivity tweets, and it got me thinking about how I keep myself motivated and keep myself from feeling too down about feeling stuck. I replied with a couple of things, and I thought I’d share them, because especially early on in my career, they were extremely helpful in keeping me going when I didn’t really have a way to measure my progress.

  • Document your progress, because it’s easy to forget. I’ve kept a work journal in various forms for the last 15 years or so, just a little record of problems I’ve solved, things I’ve worked on, etc.. Why? Because progress is easy to forget and time erases our victories. It’s easy to feel like we’re not getting anywhere when we’re only looking at the last week or so.

  • Whenever I feel down or stuck, I go back 6 months to a year and just randomly pick a day from the journal to remind myself what I was working on. It’s almost always a pretty immediate reminder of how far I’ve come. If I still feel down or stuck, I just go farther back.

In agile development, my favorite part is always the retrospective. It’s a meeting you have every 2-4 weeks where the entire team answers the following questions:

  • What went well?

  • What didn’t go well?

  • What are we going to do differently next time?

Answering those questions is a way to celebrate successes, build accountability by honestly and constructively figure out what didn’t go well and why, and then come up with a couple things to work on for the next time.

That same set of questions works really well for personal stuff too, so I have personal retrospectives all the time after stressful experiences or times I reacted to something in a way I shouldn’t have or, for me especially, when I overreacted to something.

I don’t have personal retrospectives to beat myself up. They’re not pity parties or self-destructive. They’re hopefully the same as a good team retrospective – they exist only to make sure everyone knows the part they play in the team’s success, and so everyone improves.

And that’s where the productivity tweets, and the harmfulness of judging yourself by others’ public projection of themselves, come in. Those public projections are meaningless to me. I might be able to learn some new tactics from them or a new thing to try, but trying to copy someone’s success only by observing the outward result is a recipe for disappointment.

Things to remember whenever reading any personal account of success:

  • The author is an unreliable narrator and will almost always downplay other peoples’ contributions to their success or that luck played a much larger role than they mention.

  • They’re not you. You’re not starting from the same place. You don’t have the same resources. You have different talents and skills. Do not judge yourself relative to someone else’s position because you don’t know where they started.

I was the first web developer in my group when I moved to Virginia to work in the “main office” at AOL. I had no one to measure myself against because no one else did what I did (my manager used to say, “I don’t know what you do, but everyone loves it, so… keep it up!”). I was young, and dumb, and ambitious, and… had no idea what I was doing, but I wanted to be the best I could be at it.

I’m a big fan of the Golden Rule for teams. I try (and fail) to work so the other people on the team have an easier time of things. I fail at this more often than I succeed, but that’s the goal.

After my first couple of projects, I realized that I also have to practice the Golden Rule on myself. So, now, I really only compete against what I call Past Me, and I try to do my work so Future Me doesn’t think Present Me is a jerk.

This framework has worked out pretty well for work over the last almost-twenty-years. I just recently realized that it’s equally applicable to life outside of work too, and am trying to apply it to my health choices too.

I hope this is helpful to someone. Life is hard. Make it as easy as you can on yourself and others.

By Kevin Lawver

Web developer, Software Engineer @ Gusto, Co-founder @ TechSAV, husband, father, aspiring social capitalist and troublemaker.