As part of my ongoing effort to demystify development, let’s talk about what personality traits actually matter even a little bit for developers.
There are tons of stereotypes out there about how you have to be super smart or great at math or have started programming when you were six to be a really good programmer. That’s all total bullshit.
I believe there is a single personality trait that’s extremely important to becoming a programmer, but it has nothing to do with how smart you are.
Intelligence, in as much as you can even measure something so poorly defined, simply does not matter. In my experience being clever has nothing to do with whether your code is readable or maintainable. I would much rather work with someone who knows they aren’t a genius and codes to avoid common mistakes than someone who is in love with how smart they think they are.
Being great at math can be helpful, but it’s by no means necessary. Math is really good practice at thinking through a problem one step at a time, particularly stuff like proofs, but if you’re not working on games or graphics programming you may never use any math more complicated than basic arithmetic in your day to day job.
Having started programming when you were very young can also be helpful because that gives you more years of experience, but it’s not as if there aren’t plenty of great programmers who never touched a computer until high school or even college.
So if none of those things really matter, what does? Stubbornness. I firmly believe the one personality trait you really need to be a programmer is stubbornness.
Programming, particularly when you’re just starting out, can be immensely frustrating. Teeny tiny little details like where exactly you put that semi-colon will ruin your day. The sheer amount of stuff you need to learn will seem totally overwhelming. You will feel stupid and think about quitting over and over and over.
Learning to code these days with friendly modern languages like python is certainly easier than learning assembler back in the day, but you need to be pretty stubborn to learn enough programming to be able to build something interesting.
As much as I love programming, I still think that you have to be a little bit weird to put up with this level of frustration. If programmers had the sense to do something that was less of a pain in the ass, they wouldn’t be programmers :)
“You don’t become a failure until you’re satisfied with being one.” -my terminal fortune cookie message from the other day.
Agreed entirely with the sentiment, though I tend to phrase it as “determination” rather than “stubbornness”. All about being able to persevere through adversity.
Determination is definitely the nicer way to put it :)
Women in Tech Newsletter #9 - Code With Veni
[…] “I firmly believe the one personality trait you really need to be a programmer is stubbornness.” — Mel Reams, Senior Developer at Referral SaaSquatch [Read more] […]
Do you have to be good at math to be a programmer? – Mel Reams
[…] heard about programming is that you have to be a math whiz to be a good programmer. I’ve mentioned this before but I want to attack that particular stereotype more […]
Link of the day – melreams.com
[…] is enormously valuable, I even believe it’s more important than intelligence if you want to a programmer, but knowing when to quit is valuable too. That’s why I like I […]
Terrible ironies of programming: feeling stupid – melreams.com
[…] who can get a computer to do what they tell it must be extraordinarily smart. I maintain that learning to code is more of a matter of stubbornness than cleverness but that’s a different blog post […]