There’s no doubt that programmers are lazy people. Anything that can be automated is, copy/paste code – you got it!
There is another trait of programmers that they assume because they can program in one language well, and have touched a few other languages over the years they can quickly learn a new language on the job.
Programmers are arrogant about their own skills.
The article What If Cars Were Rented Like We Hire Programmers? exemplifies the problem though their analogy is not accurate. A programmers job is more like the mechanic or factory worker building the car. If you had built or fixed only Subaru Imprezas for 10 years then you are not amazingly qualified to fix Fords. If Ford is looking to hire, they know that there are 1000’s of mechanics more experienced on their cars in the pool.
More programmers need to read books to master the skills they need on the job instead of relying on Stack Overflow and Google to solve all their problems when they arrise.
The thing to watch out for is the situation where you read someone else’s code and say to yourself “I have no idea how this works, or what it does”. As a programmer that should be a red flag – you don’t completely grasp the language syntax.
If you don’t have a complete handle on the syntax of a language chances are you also don’t know how to write idiomatic code. Without those two things mastered the code you do write will be poorly organized and buggy. The next programmer to come along to work on your code will hate you. You will be that guy who everyone bitches about for writing bad code.
Bite the bullet, read a book from time to time. Always be Learning.