Please Don't Become Anything, Especially Not A Programmer
I'm going to give you a piece of advice when you're trying to learn something new: Never listen to people who try to make beginners feel like losers. For whatever reason, some people get off on making beginners feel like they're worthless for attempting something. Maybe it's because they feel threatened by new entrants, or maybe they were picked on as kids and this makes them feel powerful. Who knows, but generally if they're trying to make you feel like a loser because right now you're not that good at something, then just ignore them. They suck.
Currently, Jeff Attwood has a piece where he tells you to not learn to code. I wonder if he's going to tell his kids they shouldn't learn to code when they want to become just like Daddy? Probably not. He'll gleefully run over and show them how to code and tell them it's so much fun and that they should all do it and it's the best thing ever! But, of course, your kids shouldn't learn to code, and you shouldn't, and your friends shouldn't, just Jeff and his kids should.
Now imagine if Jeff's son was in school and a teacher told his son something like this: "Ok, just stop. You shouldn't learn to code even if you want to. No, I don't care if your Dad does it, you suck at it and the world does not need more bad code. Go finger paint or something."
Jeff would be absolutely livid. He would probably try to have that teacher fired. Well actually Jeff might be a nice guy and would politely ask the teacher to maybe not say such mean things. But the point is, I know Jeff would be angry if a teacher told his son he couldn't do something.
Yet, here's Jeff, happily doling out advice telling everyone this very same thing. He's telling other people's kids to not learn to code. He's telling adults who want to improve their lives, or just learn something new. He's telling people from other professions that no, programming won't help them.
Why? Why would Jeff tell people to quit and just let the professionals do this? Because of resentment.
You see, I'm proud to say I am the proto-enabler of the meme that everyone can learn to code (not Codecademy, or however you spell it). Since that time I've ran into a growing group of hackers who resent these new "upstarts" and how easy it is for them to learn programming. I (and other old dogs) had to learn this stuff back when there weren't free books and classes. I had to go through countless books and reams of code just to get to where I am. Now it's much easier to learn, and cheaper, so old dogs resent the new people who are trying to learn.
These resentful programmers also hate that the new kids seem to be skipping all of their favorite indoctrinations. "How can you learn C programming if you don't read K&R!" "No if you want to learn real programming you need to read the 'Gang of Four' like I did." Then they see new programmers coming out fairly capable without reading these antiquated tomes and they resent it. They also can't believe that these new coders are any good for the same reason.
The truth is, if us old dogs really believe in a meritocracy, then we should be embracing beginners no matter what their reason for learning. If we believe that someone's capability has nothing to do with their past or qualifications, then that means everyone can improve and you have to evaluate them on their skill at the moment. Running around yelling at people because they didn't happen to follow your path is just spiteful resentment.
Get over it.
Don't Become Anything
Finally, I'd like to tell you that the best way to get good at something is to not attach your identity to the activity. I do say I am a programmer, but really I mean I'm a person who writes code (and does a bunch of other stuff). The skill of coding is not who I am, it's just one of the many things that makes me the complex interesting person I am. Who am I? I don't know, or I at least can't describe it in words.
If you do that, and learn to code for your own reasons, then you'll be just fine and get out of it what you put into it. If you attach your identity to being a programmer, then changes like "everyone can code" will lead to resentment because you are no longer unique.
UPDATEa 3:24PM: Sorry folks, going to delete further comments on this post so I can get back to work as there's students who need me to answer their comments about the exercises.
Copyright 2011 Zed A. Shaw. All Rights Reserved. Powered By Software He Wrote.