Almost exactly a year ago, I wrote a blog post titled Respect for Web Developers in which I said:
That last point it worth reinforcing. I think a lot of people who've been doing "web stuff" long enough think that web developers are the same as the "HTML monkeys" we use to refer to back in the day. That couldn't be farther from the truth.
Sadly, the attitudes I was hoping to nudge into changing continue a year later.
In response to my call for resumes on the Yahoo! Search blog, David Utter at WebProNews said a few things I don't agree with.
However, we are likely to hear from readers who will point out one thing immediately about all of these positions - they do not appear to be true engineering or programming jobs, which means the pay scale will be lower than those fields. They do not require, or even create the perception, an advanced degree in computer science is needed.
Referring to web development as "front-end engineering" is very generous. While web development involves coding, PHP and AJAX aren't exactly the same as C++ or Java.
Sigh...
I agree that PHP and AJAX aren't exactly the same as C++ or Java (duh), but that doesn't mean they're less demanding. Some of the smartest people I know are kick-ass Java or C++ developers. But another slice of them are amazing front-end engineers. They understand JavaScript, DOM manipulation, cross-browser scripting, PHP, XML, state management, and so on.
The undercurrent in what Dave wrote is that front-end engineers are lesser engineers than those working on the back-end. That says more about his ignorance of the challenges in developing (and releasing) world-class front-end code that works for millions of users.
I happen to think the Yahoo! User Interface Library and Yahoo! Design Pattern Library are good examples. Everybody who mentions them to me (including the previously mentioned Y Combinator startup guys) is gushing about how much time they save, how well they're constructed, and how they're great examples of front-end engineering.
In the Yahoo! world, these front-end engineers actually report up through our engineering organization. It's not just a glorified label we slap on them to make 'em feel good.
This stuff isn't monkey work. It hasn't been for a long time. Can we move on yet?
Posted by jzawodn at March 17, 2006 08:05 AM
It has always frustrated me how often people seem to deride web development. It's hard stuff and I'm glad to see someone defending it.
Reminds me of the mineworkers. They do all the technical digging and building, but rarely get much respect. To get me in the mine, you'd have to pay me at least a 7 figure income with a ton of benefits. Bad analogy? Maybe.
There's a bunch of hard-core DHTML developers down the hall from me working on Yahoo! Mail Beta who reinforce your point. There's nothing "lesser" about the work they do. The things they do are every bit as challenging as the backend work I do, they just use a different set of tools and languages to do it.
Right on. In addition, backend developers often have the luxury of developing on relatively stable and mature platforms. Front-end developers, on the other hand, must deal with the peculiarities of cross-browser compatibility, everchanging browser versions, bugs, etc. The ability to write solid code on shifting sands has always been a mark of great software engineeers - often your code is compensating for unreliability at lower levels in the stack. Just ask Unix developers from the seventies, early Apple II programmers or (yes) Windows 3.1 developers.
front end engineering will do just fine. people are beginning to wake up to the web stack as a true application development platform, and people who are ahead of the curve appear to be reaping rewards as their skillsets are still relatively rare. arguably you can make more money these days knowing the intricacies of javascript and css than you can knowing the intricacies of apache. not to say the server side is not important, but its also a saturated labor market.
of course the trump card here is that all of this is getting tooled out. want to hire a web developer? why not just use jotspot or wiki or google pages if possible and applicable? the range of quality application builders for web apps is impressive and is going to preclude a lot of custom work in years to come.
Bah!
You're not a real engineer unless you're hammering out 90micron pathways with a 5 lb mallet and writing your code by sparking two wires together. I remember when I had to stoke up the furace on my addition engine for hours before I got enough steam to get it going, not you with your fancy pants "electrical" computers. That's real engineering.
Ooh, we want to use pointers and memory caches becase we're too good to carve bits out by hand. Ooh, but I don't want to hand align magnetic core memory modules with my bare hands because I'm ungrounded.
Bah! Pansies, all of ya!
Many of the smarter people I know work the web. There aren't enough people who can do their kind of work, and so the market takes care of the "paid like a programmer" half of the problem. So far as the respect half goes... don't sigh, learn to care less about what others think, and enjoy your condo and sports car. :)
Hi Jeremy,
I never said web development was monkey work, nor am I deriding it. I pointed out that the skills, and their compensation, were not equivalent, and I don't think one can compare C++ programming to PHP.
Yes, great accomplishments can be made with any scripting or programming language. The excellence of Yahoo's Developer Network, which I have covered before, impresses me with each of your new releases. It's amazing work, and well done those who accomplish it.
The greater point I'm trying to make involves the creation of the kind of well-paying jobs that existed before the dot-com kaboom.
Remember that? I hear from quite a few people who do. A lot of the stories are heartbreaking. People with skills, education, and bills to pay who couldn't score a job on a bet these days.
Do web development jobs require advanced degrees? How about management jobs?
Who's hiring the new programming grads, and by that I mean American-born permanent residents? It's good that Yahoo is making some job opportunities available.
When the industry, Yahoo, Google, Microsoft, etc, start hiring in a big way for the kind of jobs that really spur high school students to enroll in comp-sci majors, I'll be truly impressed.
Please don't tell me that day is today. I encourage people to consider the greater point of tech job creation further. Dr. Matloff's archive is a good place to start:
http://heather.cs.ucdavis.edu/Archive/
david
P.S. Web developers rock. I just want to see them make more money.
I don't know why, but this is common in many of the places I've worked. There's always someone who knows a plethera of languages and likes to ride others who don't. Web developers have always worked closely with back-end engineers to integrate visual design and the complex system. It is perceived that front-end folks only know HTML, so they are "looked down" upon for knowing a single (not even a) language. I've accepted it, because in the end, no single person can justify the success of a project.
And how many Perl / HTML, Servlet-spewing markup applications have y'all seen? In the early days, probably plenty. That's just as bad.
Only if we all got along and embraced our strengths, imagine the possi.... oops, Flickr, Gmail, Y! Mail beta, Y! Photos, etc.
Great post : and how true. After 'doing the web' since late '93, I have evolved from being a multimedia cd-rom programmer, an html wizard, a designer, a Flash programmer - perl, php, actionscript, js, data systems architecture, etc, etc.. the list goes on. It 'has' to grow all the time. You need to keep up with new skills and technology (if it can make your life easier) - but quite a few years ago now, I realised what I am: a 'CREATEC' - combining the left and right brain (I'm a Gemini too) resources of Logical/programmatic thinking with creative 'out-of-the-box', lateral thinking. Without all these skills combined, I'd be stuffed.
Every day I learn a new bit of code, or come up with some. By keeping across 'all' web technologies (to an extent) I am able to decide (know) what will work against what won't and more importantly, WHY. And even buld prototypes and system, to prove it. It really is great fun and very rewarding to make something 'work' that started as just an idea - then suddently see 100 potential uses for it.
You gotta love those monkeys, eh!?? ;)
Ok, seriously, I fail to see the difference between C++ and scripting languages.
No, I am being serious. Look, well developed application architectures pretty much act just like scripting components. If you've got a proper framework, you're not doing bit twiddling and pointer math, you're calling methods on objects, architecting systems, and generally letting the objects worry about the details. Doing low level stuff isn't a benefit of a language, it's a failure of the framework.
I'll note that it's possible to do that sort of thing with Perl and PHP too, it's just not needed quite as often.
Likewise developing for the web is a specialized task, much like developing USB drivers is. There are decided constraints and patterns that are obvious to folks that deal with it all the time and are invisible to even the smartest programmers unfamiliar with what's required. When you buy a programmer, you're buying more than someone that can structure an array, you're buying their experience and skills.
Personally, I'd be damn happy if folks would get off the "my language is better than your language" and just solve freaking problems.
I think Mr. Utter makes a valid point. This is a (relatively) free market and the value of a particular skill set is determined by the kind of salaries those with said skill set can demand. grumpY! makes one good point that there are great tools for building the UIs of web applications. That is part of why the value of UI development is lower than the value of "backend" development. His claim that backend development is saturated is not consistent with the facts. If this was true, then the value of backend developers would be very low, but that is not the case. It's simple supply and demand. It's not a matter of what language you program in or what degree you hold, it's what skills you have, how much demand there is for those skills, and the availability of substitutes (other programmers with the same skills) for your skills. Perception can be disconnected from reality, but in this case it seems to consistent. In other words, people think web developers are "html monkeys" because they can hire one for less money than a backend/C++/Java developer would cost them.
Perhaps you should stick to what you seem to be good at and leave recruitment to those at Yahoo whose job it is? I know of several people who have sent their resumes to you directly and you never passed them on, nor did anything apart from to bar them from posting to your blog site.
You must be a busy man - that much has been made clear by your fairly frequent referrals to having deleted your emails that you could not find the time read. What if one of those emails came from someone who had sent you a note in response to your advertisement?
Of course you would claim that it had nothing to do with Yahoo - this is your site blah blah blah. You should leave recruitment to the apropriate personnel Jeremy and stop getting greedy with regards those referral bonuses. They must hate you sticking your beak in.
For one reason alone: "Cross Browser Development" should give us the respect. DOM Scripting might seem simple in theory, but to do it right across a multitude of browsers isn't as easy as one might think. JavaScript is indeed a programming language - not to mention the fact that it's broken in many areas means it's even harder to work with.
I've noticed that companies who require lesser skills and experience in "web developers" than in "real programmers" end up with front-end code that is unmaintable, not standards-compliant, poorly performing, and constantly reinvents the wheel. These companies survive only because their competitors do the same thing and have front-end code that's just as bad.
To build a truly excellent web application, you need to hold your PHP and JavaScript (and even HTML!) to the same standards as your "real code." To do this, you really need top-notch engineers designing and building that code. They need to do real software engineering, complete with testing, version control, documentation, libraries, and code reviews.
Here at $LARGE_WEB_COMPANY, a large portion of our engineers do both front-end and back-end work. Even so, there's a lingering tendency to hold HTML to lower standards than "real" code.
"They do not require, or even create the perception, an advanced degree in computer science is needed.."
A degree just says you have the *potential* to do the job, actually doing the job successfully is the proof. So asking a degree before application is just dumb. (But then I don't have one so I'm biased).
"Referring to web development as "front-end engineering" is very generous. While web development involves coding, PHP and AJAX aren't exactly the same as C++ or Java."
Yeh, I program in C++, Javascript etc. and Javascript is more challenging because of its limitations. He's just spouting off.
(snide remark) So when did Java programmers started calling themselves engineers?
Why are we debating this when we haven't yet solved the emacs vs. vi debate? One thing at a time people.
as jeremy defended us, web developing is true engineering and as hard as C++ programming. javascript developing and all the browsers compatibility stuff + ajax can be very complicated.
I think that's no a true judgement to call web developres "HTML MONKEYS". some times we are writing complicated algorithms for solving complicated problems or just speeding up loadtime and interactivity of web pages.
I couldn't agree more. Personal opinion here, but I think some of it has to do with the perception that web apps are more for personal applications (Web mail, messenger, etc.), while the desktop runs enterprise level apps. Ofcourse, this is fast changing. Just last week, we received a mail mentioning that the University's Banner application was ditching its client server terminal interface with a web app. Secretly, I was happy, though I never programmed on it. Now, I know why.
I would think the major difference is that 'everybody' does front end engineering. Who doesn't have a boy next door, brother or niece who builds websites in the weekend. Because of the extremely large number of people with some skills it seems like it's real easy to learn front end languages. What they forget is that doing a good job takes a lot more skills than installing dreamweaver.
I'm finilazing a so called "advanced degree in computer science" (programming language and compiler stuff-, my thesis is about Service-Oriented Architecture and Enterprise Content Management, and still... my passion is programming for the web :-)
and i'm proud of it. don't forget, that it's often very hard and requires lots of creativity to build a high scalable web community (or other site) when you have to use PHP. the latest 5 and 5.1 versions have introduced several "enterprise features" which lifts it even to a higher level, but still.
anyway i hope that other "serious engineers" stop looking down on "enterprise" PHP "engineers" ;-)
I've been looking for just such a person for the past month and a half. This is one tough skillset to find qualified people for.
http://gabrito.com/post/hiring-a-front-end-web-developer-and-a-rant
Jeremy, I LOVE THIS POST. You're talking about me. Thanks for sticking up for me and my ilk.
Now imagine living (and working) in a country where ALL (or close to all) people in the business think just like Mr. David Utter.
Imagine reading all these things, these good things, happening just outside my country, but so far away that it might as be in another galaxy...
And finally imagine having to face each day knowing that your clients don't appreciate your work, your boss sure doesn't and even your peers - with few exceptions - think that Web Development is something for boys... real men do C++, .net and Java...
*sigh*
Any chance Yahoo! is hiring people in Portugal? :-)
Excellent post and conversation.
Anything that pushes the craft and profession of 'web developer' forward is great in my book!
Finding web developers is a constant struggle for us - we get plenty of resumes at Critical Mass (www.criticalmass.com, my day job) but the quality leaves a lot to be desired.
I've actually started a wiki for the professional web developer - www.ryanj.org/wiki - in hopes of helping younger/junior developers become more competent and well rounded web developers.
Thanks
--ryan johnston
wwww.ryanj.org/wiki - The Web Developer's Wiki