Web Developers Are Stupid
Web development has become increasingly popular. Does that make it easy? Does that make us dumb?
Certainly, as Michael Braude says, the barrier to web development is incredibly low. HTML can be learned in a couple hours. A couple more and you can make something “just work” in Javascript. As a web programmer, I never have to worry about 3D rendering, rarely do I ever have to care about threading, writing to disk is taken care of for me by SQL. The problems we’re trying to solve usually aren’t so astronomical to need an ingenious algorithm designed.
Instead, much of the work is on the user interface. The problems we solve is usually how to do make it simpler. It must work for general internet users. They must be able to use it easily. Our research and thinking must be more on human psychology and people’s attempts to use our software. We don’t have the luxury of assuming our software will be used by another nerdy programmer willing to bang away on a command line all night long.
Not Smart Enough
I don’t mean to single Michael out (his post does have a bit of sense to it), but it’s the most recent statement I’ve seen of this large view people seem to have towards web developers:
The reason most people want to program for the web is that they’re not smart enough to do anything else. They don’t understand compilers, concurrency, 3D or class inheritance. They haven’t got a clue why I’d use an interface or an abstract class. They don’t understand: virtual methods, pointers, references, garbage collection, finalizers, pass-by-reference vs. pass-by-value, virtual C++ destructors, or the differences between C# structs and classes. They also know nothing about process. Waterfall? Spiral? Agile? Forget it.
So, can “not smart web programmers” understand this archaic desktop vocabulary? Of course. Compilers are used in 2 of the major development stacks (Java and .NET), we use class inheritance, interfaces, and abstraction all throughout MVC. And yes, several of us actually understand how it all works. References, garbage collection, pointers, of course! Many of us use all of this wizardry in building our web applications. At least, those that would actually call themselves programmers.
The fact is, most of us professional web programmers came from desktop programming. We’ve worked for desktops, now we’re targeting the web. And we’ll likely continue to go back and forth, until mosteverything has moved to the web.
Why The Hating
I’ve already said web-sites can be easily made. HTML is easy! So, sure, people will get involved who don’t know any better. But that’s not unique to the web. The same problem was around before web applications existed. Back then, you’d get people who take a look at BASIC, learn how to store variables, print to the screen, accept input, and write GOTOs. And their programs sucked, too.
Where ever people have the power to build something, people will architect crap. Whatever comes after the web, where great and exciting things are going on, people will make crap there too. Apart from all the crap, though, there are talented programmers writing excellent applications using good design and principles.