This article is part of a web development series from Microsoft. Thank you for supporting the partners who make SitePoint possible.
In a few talks and interviews I lamented about a phenomenon in our market that’s always been around, but seems to be rampant by now: the one of the Full Stack Overflow developer. Prompted by Stephen Hay on Twitter, I shall now talk a bit about what this means.
Full Stack Overflow developers work almost entirely by copying and pasting code from Stack Overflow instead of understanding what they are doing. Instead of researching a topic, they go there first to ask a question hoping people will just give them the result.
[author_more]
In many cases, this works out. It is amazing what you can achieve by pasting things you don’t understand, that people who know what they are doing put out there.
I am not having a go at Stack Overflow here. It is an incredible resource and it is hard to create a community like this and not drown in spam and mediocrity (trust me, I am an admin on several technical Facebook groups).
We had that problem for a long time. I challenge anyone learning PHP to not simply copy the code examples in the notes. For years, code reference sites have given us answers we wanted, but didn’t need. Heck, even Matt’s Script Archive is probably the source for many a spam mailer as people used formmail.pl without knowing what it does.
I am, however, worried about how rampant this behaviour is today. Of course, it is understandable:
- Creating something is more fun than reading up on how to create something.
- Using something that works immediately, even if you don’t know how it does it, feels better than encountering the frustration of not being able to fix something.
- You feel like you cheated the system – shortcuts are fun, and makes you feel like you’re cleverer than all those chumps who spend all this time learning.
- Our job is mainstream and there is a massive need for developers. The speed of how we are asked to deliver has massively increased. People want results quicker, rather than cleaner.
We, as a community, are partly to blame for breeding this kind of developer:
- When we answer questions, we tend to give the solution instead of analysing what the person really needs. This is much more work, so we tend to avoid it.
- Posting the "one true solution" and winning a thread on Stack Overflow feels great – even if we have no plan whatsoever to come back to it later if it turns out not to be such a good idea any longer as the environment changed.
- Getting recognition, Karma and upvotes for giving the solution is much easier than getting it for being the person who asks the right questions to get to the source of the problem.
- It is easy to lose patience with getting the same questions over and over again and a "just use jQuery" is easy to paste.
So what? Why is it a problem if people are faster and more effective in releasing products?
Of course, you can call me a grumpy old so-and-so now and tell me that the concept of learning the basics in software is an outdated concept. The complexity of today’s products makes it almost impossible to know everything and in other, highly successful environments using lots of packages and libraries is par for the course. Fine, although we seem to be understanding that software as a whole might be more broken than we care to admit, and this might be one of the causes.
There are several problems with Full Stack Overflow development:
Continue reading %The Full Stack Overflow Developer%
by Christian Heilmann via SitePoint
No comments:
Post a Comment