10:02am from Tumblr

no upside: Learn to code

no upside: Learn to code:

noupside:

But if you’ve decided you want to be “a programmer,” professionally, one or two online courses in Rails won’t get you there. You need strong algorithmic knowledge, an understanding of how a computer works, and a solid grasp of discrete mathematics. Years of development experience resulting in technical fluency is what it really takes; I have a CS degree, and I’m not a programmer.

I agree with most of the post linked above, but I think I disagree with this statement.  Algorithmic knowledge, understanding how computers work, and a solid grasp of discrete mathematics are important for building certain kinds of products, but not programming itself. 

It’s like saying you need to know iambic pentameter in order to write.  You need to know about that to write sonnets, but not other things.  

I don’t have a CS degree, but I consider myself a “programmer” (amongst other things).  Programming is really just a form of writing.  It requires planning, abstract thinking skills, the ability to hold complex logical structures in your head for periods of time, and the patience to try something and go back later to revise and edit.

That’s how I think of it at least.