Just finished reading The Programmers Before Us Were Better, where the author proposes that because of a lower barrier to entry into software development is corrupting the industry as a whole. I left that article with a feeling of “yes, but…” – I’m going to attempt to clarify my thoughts on this post.
The author’s general statement is that coders back in the day had far less resources available to them, and that required them to be a lot more diligent when it came to research and debugging. Which is true. It’s hard to argue that point when all they had to go on was textbooks and very limited trial and error (due to CPU cycles costing money & needing to be scheduled).
The part I think I disagree with are the two points the author makes after that – the barriers to entry were much higher back in the day (resulting in higher quality?), and Copy Pasta is rampant in our current development community. These, again, are both correct statements – but they’re not indications of quality.
Barrier to Entry
I am glad the barriers to entry into software development are lower – if it wasn’t for my school’s ability to show me what QBASIC was in Grade 5 thanks to the lab of PCs we received from our provincial government, I probably wouldn’t be a software developer today. If an entry into computer science still required admission into a prestigious college to even consider looking at a programming language, our entire world would be much different than it is today.
Think where we’d be if there was no such thing as a home computer, or laptop, or smartphone. We’d still be doing our taxes by hand, the internet wouldn’t be nearly as important as it is, and you’d probably still have a landline.
About the copy-paste epidemic… I’m fairly sure everyone in software development, including the original author, started with copy-paste coding. Whether you copied it out of a textbook, or off a teacher’s chalkboard, or from a website, you copy-pasted. It’s a logical starting point for learning a new language – you copy something that you know works, then start tweaking it to learn how it works.
There are some people who stop at the “copy something that works” phase. And that’s fine. The fact that they even knew enough to find and insert code from another source puts them steps ahead of a lot of people. Maybe they don’t care about learning more than that, or they got the facebook integration they wanted on their website so they have no reason to go further. Even if they attempt to pass themselves off as software developers they won’t be able to stand out like an experienced/passionate developer would, and any decent company wouldn’t hire them in a developer position.