I'm less interested in non-technical issues (dealing with clients, etc.)
The number of man-hours wasted on working around IE bugs probably counts in the billions.
Another thing is many web developers will use meaningless class/id names and fall back to generic terms such as "floatLeft", which is pretty bad.
Although there is SASS, this isn't often available in a lot of projects so you do often have to repeat yourself a lot in CSS... unless you resort to the above. Which is worse? That's left as an exercise.
Then there's people who still use HTML that went stale over ten years ago just to do a quick job. Yeah, you save time by writing <i> by a) writing less characters and b) not having to define any potential CSS rules but then it loses all meaning. That is, unless, you give it meaning which then makes it redundant since a better alternative could have been used.
Another thing is how you're forced to use a lot of divs to come up with a good pure HTML/CSS solution to something. Although there is now HTML5, it's obviously not supported by the older browsers which a good percentage of the Internet still uses.
Rant over.
I decided to abandon my career as a film editor because I found my interests and ambitions leaning more toward interactive media and web development.
Having left editing at a time when video standards were all over the board (it wasn't uncommon to receive projects shot over 10 different formats), it wasn't all that surprising to see that web development is in a similar state of frenzy.
The sheer number of languages/frameworks/libraries/etc… is enough to make a person's head spin off. Honestly, being quite new, I don't fully understand how you experienced guys keep up. My own personal solution was to just choose a language (semi-arbitrarily) and dig in.
So my point in all this, from a purely newbie standpoint is that MY biggest frustration so far has been the sheer number of technologies to choose from.
I'm definitely not lost on the idea that this is a positive thing from the standpoint of innovation. Like most other industries, the REALLY good ideas tend to float to the top. But you asked for frustrating things, and navigating through all the different options has been MY most daunting challenge thus far from a technical standpoint.
The high level problem is that web developers are trying to do things (state) in web browsers over a protocol (HTTP) that was not designed for it. Every server-side web framework is always going to be Frankenstein-ish like RoR has become.
Meta-frameworks may start to become necessary. There's a few out there like Haxe, and GWT is sorta one. Websockets may also start to become a more widely used alternative to Ajax. HTML and JS are going to be a problem for a while, but can maybe be abstracted almost completely.
Eh? None of those things that you listed is for emulating state over HTTP. In any case, Rails is supposed to be a "tall" stack – it's supposed to be a highly opinionated framework.
If you want to attack stateful apps in browsers, aren't Sproutcore/Cappuccino better targets?
Coffeescript, SASS/SCSS are just examples of making the Rails stack even taller.
I don't have any experience with Sproutcore or Cappuccino but both look like clientside-only frameworks and would only extend the state & stack problems that I already dislike.
In 2011 I would hope there would be a simple way of expressing my desires that does not involve slogging through books and blogs to figure out how to hack a few small bits together so that some asinine browser can render a page in the same way as a newer version of said browser (I've seen this with IE, FF, and Chrome)
Other than that overflow on iframes in Chrome (big hassle today!), SOAP(!!) and the general lack of a decent editor/IDE that doesn't have at least one infuriating feature.
I have this job for the summer recoding sites that were built using DreamWeaver. They took Photoshop files, sliced large chunks of it and used DreamWeaver to make it a "website" if you can call it that. It's all a horrible mess.
Editors: The best editor/editing environment of the bunch is the Microsoft offering of visual studio. The biggest problem is that it is only well suited for Microsoft products. There are a few others and there is eclipse that some people seem to worship but is clunky hog of a thing that is nowhere as smooth as Visual Studio. A lot of people still use fairly basic text editors.
Standards: At first there was Netscape it was good. Then IE came along and it was good and Netscape was a garbage. Then Firefox came along and it didn't crash as much as IE. Then Chrome came along and IE was crap. While I like the way Chrome has done so much, I really hope Google doesn't do too much to dominate the browser market. Competition is needed. Competition was needed when Microsoft was winning the browser wars. The actions that Google has taken of late seem to not much different from the bullying Microsoft employed all those many moons ago.
Javascript: The things you can do with Javascript are fantastic. The language of javascript is a dogs breakfast. Instead of pushing the language forward and making it more integrated with the browser, add-ons such as jquery have been created. Having one dominant language (that was set by Netscape) makes programming for the web a sometimes painful experience. Using Javascript and trying to make it work with every browser can get ugly. There is room for new language or two in the browser.
I am very happy to be moving on from the dominance of IE6 but I am cautious of what the future holds.