Like the article...
Don't take this the wrong way but I'm a little bit younger than some of you...I'm 28. I know that makes me a complete a child..but anyway..here is my two pence.
Been out of uni five years having studied Comp Sci. I had this pure (replace with academic or ignorant) idea of how things 'should be' done. Like I knew! Wisdom is realising you know a lot less than you think you do. Employment is good way of telling you this....nothing like being enlightened by someone who actually does know and the the character building embarrassment of looking like complete a tit.
My degree was enjoyable, however it never prepared me for dealing with the real world. Take a company's legacy; having to fix/update code that hasn't been written by you..maybe not in a language you've been taught against the backdrop where it was originally intended to solve a problem that was relevant 5 years ago and the business has moved on since then. Oh the ignorance of youth. I wish my letterers had been a bit more this is a pure way of developing, in the real world code it won't be this neat, it won't be fully commented and you'll be lucky if there is any documentation.
Employment - There are lots of references to mediocre programmers both in the comments and article. Honestly I would probably count myself as one of them. A confession, I haven't learnt C or C++, I don't know the ins and outs of a compiler. I have an idea of what it does in principle. To be honest the last time I actually needed to know was for the exam I took about compilers whilst at uni. It hasn't come up in my career once - yet. (Oh he's is one of those..I know my worth has just dropped through the floor...)
Now I'm going to mount bit of a defence... My role is of a developer not a programmer.
In my current role, I'm not working in team - Its just me for the time being. It has been. So my role is wider than just being able to knock out code like a robot on a production line for a supervisor. It would be nice occasionally if I did have someone telling me now just code me a class to do this but I think I'd get bored very quickly of being spoon fed. I do have to engage with end users quite a bit...Its a smallish company..I actually enjoy this.
The enjoyment I get from working in IT/development isn't coding, its problem solving. Now whether the problem involves code, some system issue or taking a user through something is to me of little consequence. Or whether its the creation of something new or the fixing of something existing. I will have a go at it, I won't stop until I've understood it and beaten it into submission.The weirder the problem the better, especially if it forces me out my comfort zone to learn something new.
In my admittedly limited experience, having a knowledge of C or C++ hasn't helped as much as being flexible and adaptive and willing to listen to and appreciate when someone "senior" like an architect speaks.They normally know what they're talking about.