State of Software

I started writing software as a kid. I taught myself most of what I know, but I’ve learned over the years that I’m different than most self-taught engineers… I’ve read all the books I could get my hands on, I’ve stayed on top of new developments and found mentors. I feel like so many self-taught engineers come in just to sling code. They don’t take the time to learn the theories.

I also know (and work with) plenty of self-taught engineers who are like me — this post isn’t about them. It’s about the engineers who call themselves engineers but don’t know the trade off’s between a black-red tree and and a 2-3-4 tree. They don’t know what a Memento is, or the difference between a Facade and a Proxy.

These faux engineers, frankly, piss me off. They’re usually pretty good at slinging code on the screen, but they could be better. They’re like the singers who are talented, but never become stars because they don’t know how to keep in tune when their voice needs to be strong. They’re the pianist that could be a composer, if they only took the time.

What pisses me off, isn’t the fact that they don’t know theories, or that they’re valuable (they usually are very valuable). It pisses me off that they think they don’t need to learn it; that they can skate by on YouTube videos, tutorials, and blog posts. The sad truth is, there will always be someone to teach them JIT …

And when it breaks under load, they won’t even know why … or where to look … and even if they knew where to look, they wouldn’t know which parts of the code to optimize. Because for them, Big O [Face], is from Office Space.

Sadly, the demand for our craft is enough that people can get away as (essentially) an apprentice without a master. It is up to us, the ones who get all the jokes and know what I’m talking about, to find these apprentices. To teach them what they need know to become composers, to make them masters of the craft.

It is up to us to teach. It is ok if you are not a teacher, you will find a student who needs little guidance that can learn from you. It is ok if you are the biggest asshole to ever live, you will find someone who won’t take it personally and can learn from you. It is not ok to think that you don’t need to mentor. It is not ok to think that it’s not your job, because it is.

Someone taught you, whether it was a mentor, a good book, experience or a professor. These people need you. They need us to teach them. Let’s make it happen.

— Rob