Something like eight years ago I lost my job at Linuxcare
since they simply closed the European operations. I was a security / system programming /embedded guy there together with a few friends of mine that were (and are) very smart developers, but we all ended without a job.
Since I'm from Sicily and I didn't liked the idea to live in the north of Italy I had to become a freelance developer (that turned out being a very fortunate thing for me), and the only market where it was possible to make money was web programming in my area: this was very sad for me since I had a background in system programming, very high level programming languages and algorithms and most of my work was with C, Scheme and Tcl at the time (now I use C and Ruby instead): to switch to web programming and PHP was like shooting my technical-self, but the bills were there so I did it: back then web programming was regarded as awkward from the skilled programming community.
It was mostly a boring task about constructing web interfaces with a DB as back end, and the actual data processing (that's the computer science part of algorithms and great code) was minimal.
Now web programming is mainstream
... and fortunately it's better than it was ten years ago: now web applications are much more an art involving the ability to design nice user interfaces and about picking the right features. Still what happens under the hood of web applications is many times not interesting enough: take reddit or even a much more complex application like ebay, if you take away scalability I bet it is very hard to discover some very cool algorithm inside.
The most interesting thing remains to write a framework :) (this is why there are so many frameworks around, people like to write them more than actual applications) unless you are lucky enough to deal with an application where the web
part is just the interface to the user, take Google for example, but this is of course a very little percentage of all web applications, including the ones having success.
Fifteen/Twenty years ago to approach programming meant to start hacking with C, writing some cool demo accessing directly with VGA registers, learning algorithms and data structures. This is the background were the star developers of today
grown, now that everything is an hash table, some nice looking XHTML and few ugly but optimized SQL queries I wonder what the level of developers will be in ten years, and I've no reasons to be optimist.
Not everything is bad of course, lately a lot of developers switched to
Ruby, Python and other elegant and much more abstract programming languages
so at least developers of today are exposed to things like functional
programming a lot more than in the early days and this is a great thing, still algorithms, data structures, and low level programming are marginal and it's hard to become a good developer without being exposed to this concepts.
You can Vote/comment this article on reddit