Posted by
First of all, let me show you how I personally classify web developers (and I’m referring to “programmers” specifically):
I personally still have a lot left to learn in web development, but I do consider myself a “professional” based on the description above.
Most developers though, unfortunately, fall under the first two categories. Here are the reasons I think why:
Or they just don’t like to reading. They think it’s best to immediately get their hands dirty instead of reading how to do things properly. You rarely (if ever) encounter a programmer who’s reading a book that is not about the basics of “something”. Many programmers tend to think that the basics are all what they need to learn before they can start coding great applications, when, in fact, it takes much more than that, especially if you’re working with other people.
To quote one of the best software construction books, “Code Complete“:
Pat yourself on the back for reading this book. You’re already learning more than most people in the software industry because one book is more than most programmers read each year (DeMarco and Lister 1999). A little reading goes a long way toward professional advancement. If you read even one good programming book every two months, roughly 35 pages a week, you’ll soon have a firm grasp on the industry and distinguish yourself from nearly everyone around you.
You can read more about this particular issue in Coding Horror’s article.
I’ve never heard or seen one college course that teaches anything beyond the basics, even in those specialized programming diplomas. Why aren’t they teaching good programming practices? frameworks? testing? debugging? documentation? version control?
Not only that, but even the basic material they teach tends to be out of date. I have yet to meet a single college graduate who actually learned something up-to-date in college.
Most developers I’ve met focus on the end goal (making the application work) rather than the details (organizing their application). This mentality is supported by managers who push developers to deliver their work on a short deadline that forces the developer to hack his way into his goal.
Eventually, you’ll get something that does work, but very hard to maintain and handover.
HR has a habit (here in Saudi Arabia at least) of asking for two requirements for any development position:
In reality, having a college degree doesn’t really make you more qualified than someone who doesn’t.
having X years of “experience” on the other hand is completely irrelevant in my opinion, because you’ll never know how those years were spent by the potential employee.
All what these two requirements do, in my opinion, is filter out a plenty of possibly highly qualified candidates.
I’ve discussed this with an experienced HR manager, and he was aware of that, but he said that they ask for those kind of requirements so they can save time processing less resumes!
The average joe will never tell the difference between an application with good code and another with bad code as long as the performance is acceptable. This motivates incompetent developers to keep doing what they’re doing the way they’re used to, without ever thinking about improving their programming practices.
Of course, an application with a bad code will start to smell in the long run as it requires more expansions and maintenance, slowing down its development or even eventually killing it.
Seeing how it’s almost impossible to change everyone’s perception of web development, it’s better to just focus on improving yourself, and encourage other developers around you to do the same thing by showing them the benefits. Or maybe showing them how organized your work is, and (hopefully) igniting their curiosity to learn more.
If you’re clueless about how to improve yourself in programming for the web; I’m going to write an article soon about just that.
sometimes they are a person with multiple personality, depend on the time and job quality
Looks like you are supporting yourself more in the article, but exceptions are there.
I understand how you might see it from that perspective. But the points I’ve mentioned were reasonable, don’t you think?