Dec 11, 2012

Language is for communication - or the guy who started coding at 5

Should you learn to code?  Why?

If you're not already a developer, should you bother to learn some programming?  I am an MBA-guy learning to code, because it's fun.  Still, I sometimes wonder "why am I doing this?"  And I found many non-developers share this question.  I initially thought about this in terms of career advancement.  Then, I got wiser.

In a prior entry, I observed a trend: coding is coming to the masses.  At least the demand for learning to programming appears to be accelerating.  (Have you noticed this trend?)


Just an old geezer talking

First, a brief history.  When I applied to business school, there were no channels or organizations like Coursera.org or App Academy.  Second, I am learning to code to expand my prototyping tool-set.  Third (this is an important motivation for me), I want to better appreciate technical co-founder and his talents.

And I have no illusions about become a serious developer overnight.

On that last point - illusions - I have often heard some say: "I don't code, but I know enough to be dangerous."

Really?  Dangerous, how and to whom?  The more I learn, the more I find how hopelessly harmless I am, and will continue to be for a long time.  Then again, they may be right.  I can see how bad code can harm the world.



Conventional wisdom focuses on career

When I google something like 'why everyone should learn to code,' I come across an article like this one from VentureBeat (9/17/12 article by Jolie O'Dell).  The outline of this and many similar articles might run something like:
  • Programming literacy is important. (It's the same reason people around the world learn English - because it's the lingua franca of commerce.  It makes you a world-smart citizen.)
  • It's a good way to improve problem solving skills, etc. (It will make you smarter, which is inherently good.)
  • It's going to be good for your career, because [insert some bull-shit reasons].  (You'll make more money $$$.  Maybe.)
I was more intrigued by the well-known article by Marc Andreesen on Why Software Is Eating the World.  It is a good article, and you should read it.  Andreesen built Netscape.  I was in high school then, and I still remember the weird monochromatic browser-thing I saw on huge Unix stations at school, and nerdy kids at school staring at it into the night (I attended a public boarding school).

"I was coding since I was 5"

Incidentally, some of those nerdy kids I saw late night have been coding since they were young.  Really young.  And they didn't just code into late night.  They coded on weekends.  They coded during football games.  They "skipped" prom.  (Incidentally, I never went to the prom either.)

I recently talked to a developer who claimed he was coding since he was 5.  And I'm pretty sure, soon, I will meet someone who started coding while during the third trimester in his mama's womb.

What programming really is

The point is that if you're just catching onto the coding trend, and want to learn "just enough to be dangerous," good luck!  I'm not stopping you.  And I am not writing this to dissuade you from making yourself better.  It's not going to stop me from learning.  But, consider this.

Language is a tool for communication; it is a tool for expression.  At some level, programming language are used by those who know it best to express their individuality.  They express themselves:

  • To explore personal interests
  • To build tools for personal use
  • If they so choose, to express or share those interests or tools with the rest of the world
  • And if they are lucky, to make the world a better place and make lot of money doing it
  • And it's okay if they don't make a hit ... they will keep coding and keep doing things for themselves anyway.
This is a fundamental insight that is seldom found among those advocating coding literacy.  This insight is also often missing from professionals picking up coding so that they can be "dangerous."  

By all means keep learning.  Literacy is a good thing whether or not you are the next Charles Dickens.  However, understand that a language is a medium of expression.  Just remember that your best means to express yourself to the world may be a musical instrument, or through sports, or just plain 'ole English.

Further reading

Incidentally, you may want to attend a hackathon to see first-hand what all of this coding and startup buzz is about.  Or if you are wondering about attending a full-time programming course, check out this guide I co-wrote: Guide to Full-Time Programming Course.