happy little biz

Self taught or formally educated programmer: does it matter?

So I'm still pretty new 'round these parts, and have been meeting folks at a few dev events here in Toronto (hoping to attend lots more!) One of the things I've found intriguing in meeting other developers is they often say,

"Oh, so you're self-taught, then?"

once they learn I fairly recently switched careers from health care.

It's a really interesting statement, one that has thrown me a bit offguard. I don't think they're trying to be rude or challenge me... no, they're actually pretty cool about it. Maybe it's just curiosity that makes them ask.

Really, I'm just surprised that they mention it at all. After all, many of the folks working in tech that I know — including some well-known local names — do not have a formal education in programming or computer science.

In fact, it's not all that uncommon these days for folks to end up working in a field outside of what they majored in at university. There's lots of learning the ropes on the job going on out there. And I'd say that the basics of programming, especially in HTML and CSS, are not difficult to learn on your own.

Just for the sake of the story, here's my own background:

learning: girl with a feathery pink pen I'm sure I used a similar pen and journal at some point when I was a kid. In fact, anyone know where to buy one now? ;-)

I have a 4-year university degree in science, including a number of math and stats courses, and several computer science classes (taken for fun, not as part of my major). I also have a 3-year diploma in a program that many don't realize is highly technical/science-based: Massage Therapy. This program has many hours of anatomy, physiology, and pathology alongside the stuff people expect - massage techniques and the like.

But also, I've been learning to code since I was 16, when a friend got me interested in it and my family finally got decent internet access. I've built many websites and am pretty comfortable with the command-line; my first website at this URL was hosted on a friend's box where I only had FTP + shell access, and I was on Linux machines for years before deciding to switch to a Macbook in 2009.

I've also expanded my learning with online courses, primarily with the fun folks at Treehouse. And I'm always learning something new, from reading tech blogs, books from O'Reilly or A Book Apart, or just talking to others in the field.

My feeling is that if you're going to work as a front-end developer, you can certainly learn on your own. Even if you want to become a good full-stack dev, that's possible without a formal education too, especially if you find a good mentor to help you along.

But if you want to get into work that is more theoretical or research-heavy, or work for, say, NASA, you're going to need that formal education.

In any case, commitment to lifelong learning is needed, since things change so often in our technology-centered world!

What do you guys think? Does it matter if someone is formally educated, or can they be totally self taught?