Culture / Top Stories

Code n00b: It’s Not Math, Genius

20 Jul 2018 12:28pm, by

As readers of previous Code n00b posts know, I came to web development after a career in journalism. That particular profession has become a dicey way to make a living these days, and I have plenty of friends/former colleagues asking how I went about making that career move. Nearly all of them, though, seem to assume this is something they could never do — they are convinced that programming is just too hard. That what we do is like some kind of arcane knowledge beyond the ken of regular mortals such as themselves.

Those of us who actually do code for a living know there’s no special magic. (Nor any math!) So I’ve been mulling the question: What keeps people from learning to program? I have been teaching front-end web development to about a dozen students spring, summer and fall of the past two years; most of them come in maybe kind of apprehensive, but certainly willing to give it a shot. However, these students are self-selecting: they come in having already decided they’re going to learn web development. What about all the other smart, competent, hard-working people out there, trapped in sunsetting professions?

I know, for example, some ferociously intelligent and intrepid reporters who have self-taught all kinds of crazy, and complex, things in order to write about them from knowledge. And, not to mention, have also faced serious personal danger (with aplomb) all in the name of journalism — yet practically pass out from stress when faced with non-GUI computer situations. Or another woman I know who just changed the brake drums on her own car after watching one YouTube video, and yet refuses to believe she could ever begin to grasp JavaScript.

Why makes computers and programming any different (and, apparently, terrifying)? Having become a coder myself, I used to wonder how we might swing wide the gates to this profession to let more people in. Now I realize that most of them wouldn’t come, even if we took the gates completely off the hinges and issued engraved invitations promising an Amazon gift card for just peeking inside. N.B.: I’m not even talking about serious tech, like setting up a cluster of Docker containers, or even pre-packaged tech like React or Angular. Just regular old HTML and CSS, with some Git on the command line.

So I started asking people, straight up: what makes you think you can’t learn to program?

Programming in no way requires you to be some kind of genius. Anyone and everyone is welcome to apply.

By far the number one reply has been, “Because it’s a skill for seriously smart people who are gifted in math. I may be smart enough in other ways, but I suck at math.”

Gah!!  Where does this even come from?  Even when I tell them that (1) programming involves very little math in general and (2) when it does, we have libraries and plugins to handle it, anyway — they steadfastly refuse to believe.

I wish I could tell them that I, too, suck at math and, hey, look at me, I’m a professional web developer, but the truth is I’ve always enjoyed/been good at it so I can’t play that card.

Instead, I point out that the most important intellectual assets required for becoming a programmer are the ability to think through a problem logically, break it down into steps, and then work through them methodically. My friend Danielle the DIY brake replacer, for example, is also an attorney. This is a profession requiring the exact same set of problem solving, logic and analytical skills needed for writing or debugging computer code. And yet she too gets The Big Fear look in her eyes when I tell her she could absolutely, totally, completely do this.

I don’t know what else to do. No matter how many ways I tell people, You CAN do this, please see annotated reasons one through one hundred ninety-seven, they have one answer. “No, I can’t.” So. If you say you can’t, then you sure as hell won’t ever be able to. That’ is one neatly self-fulfilling prophecy you got there.

Programming in no way requires you to be some kind of genius. Anyone and everyone is welcome to apply. The things that make you potentially good at this have nothing to do with intellectual rocket power or lack thereof. I mean, if you’re the kind of person who impulsively seizes a conclusion and sets to work even before you know it’s correct, then you may not be all that well suited to programming. But if you’re someone who doesn’t just automatically quit when you encounter something that you can’t or don’t know to do. Who instead tackles the problem, takes it apart, figures out its workings, and Googles like crazy until you find an answer… You. You have what it takes to become a member of our super secret league of computer mages.

No matter what your IQ happens to be.

Feature image via Pixabay.

A digest of the week’s most important stories & analyses.

View / Add Comments

Please stay on topic and be respectful of others. Review our Terms of Use.