Live data from Hacker News

Web Programming Is Hard

shubharamani.com

141–150 of 165 posts

Re: Web Programming Is Hard

#141

Earlier quoted context omitted.

If an expert is 90% of the time doing something boring, maybe he/she should be hiring somebody else to handle it, don't you think? Taking the idea to software, maybe it wouldn't hurt to hire cheap programmers as long as they're following the directions of an expert.

As a cheap programmer, I disagree. An expert may spend 90% of his time doing something he feels is drudgery, but he does it properly, so as to prevent the 10% all-hands-on-deck emergencies from occurring. If you hire cheap programmers to handle the 90% under the expert's supervision, the expert still has to painstakingly review the work so as to ensure it was done in a way that at least sort of resembles the method t…

As a not-so-cheap (by local standards) programmer, I'd have to agree with this assessment. Sometimes, customers will ask if it's possible to reduce the budget for a contracted piece of work by getting some of their internal staff to do parts of it. I've tried to make this work, but it basically doesn't in most cases, for the reasons you mention. On the occasions I agreed to try it, it would have ended up more expensive, even when assuming internal staff time to have a cost of zero. Fortunately I agreed to try it only on the condition I could bail out and do it all myself if it wasn't working. Which I did.

I realise this may come across as me being arrogant or unable to work in a team. I can't with good conscience pass judgement on the former; I am however frequently contracted as an extra brain and pair of hands on projects with people of comparable skill who could do it without me, save for the project's time constraint. This generally works very well.

It's conceivable that the model might work if the skill gap isn't so big. Presumably that makes the programmers less cheap, and the scheme less attractive. Plus, they could probably muddle through without me, thus never feeling the need to hire me in the first place. Which, I assume, is why this has never happened to me.

Re: Web Programming Is Hard

#142
post #38
post #2

I periodically think "Man, I really shouldn't be getting paid for this. Any idiot could stick these two APIs together." In my more sensible moments, I remember that that idiot only needed to know HTML, CSS, the DOM model, Javascript, jQuery, HTTP (mostly headers and status codes), Ruby, Rails, basic MVC design, Oauth, SQL, SQL performance, five-ish APIs to support the two that needed integration, how to configure and…

I bet 90% of the time, any "expert" is working on things that any idiot can do. But that isn't why people pay experts! I think experts are paid so much because of the other 10% of the time. When convoluted edge conditions have made a mockery of all things abstract and sensible, they are capable of diving into the black boxes and figuring out what's really going on to save the day.

A good friend of mine is a master carpenter. When I need something done on my house I'll always hire him or his equivalent in electrician or plumber. And it's mainly because I just want the peace of mind of knowing the job will get done properly. He charges a lot but things always get done quickly and without hassle.

I've watched other home owners I know try to do things on the cheap and they're constantly getting burned. Things take longer, there are unforeseen problems and jobs quickly develop into hassles. If you can't afford to do it properly then just don't do it. And if you can't afford to hire the right person for the job then don't hire anyone.

That's what I've learned.

Re: Web Programming Is Hard

#143
post #38
post #2

I periodically think "Man, I really shouldn't be getting paid for this. Any idiot could stick these two APIs together." In my more sensible moments, I remember that that idiot only needed to know HTML, CSS, the DOM model, Javascript, jQuery, HTTP (mostly headers and status codes), Ruby, Rails, basic MVC design, Oauth, SQL, SQL performance, five-ish APIs to support the two that needed integration, how to configure and…

I bet 90% of the time, any "expert" is working on things that any idiot can do. But that isn't why people pay experts! I think experts are paid so much because of the other 10% of the time. When convoluted edge conditions have made a mockery of all things abstract and sensible, they are capable of diving into the black boxes and figuring out what's really going on to save the day.

[deleted]

Re: Web Programming Is Hard

#144

I am not sure which particular flavor of "embedded" the author is referring to, but the argument, in my view, is completely off the mark, and here is why: The main challenge of embedded is that you are in charge of controlling and managing everything. The developer is closer to the hardware and the cost of things breaking is far higher because you cannot for one second forget about some part of the technology stack t…

I work for an embedded company doing web development and tool chain support for the embedded product. So I kind of have my feet in both buckets as it were.

You're right in that the main difference is control. In the embedded world the developer has total control over everything. And the specifications for the product are very well defined.

The problem with the web world is that the specs are terribly defined or ignored and you depend on APIs that constantly change. Not having to worry about memory management is great in the web world. But instead you get to worry about how your page will render in 5 different browsers that each have decided to only partially implement some standard. At least in the embedded world if a piece of HW doesn't conform to spec it's defective and gets replaced. And you know exactly what that spec is.

I don't know which is worse. Being forced to write everything yourself or depending on the sometimes mediocre code of others?

Re: Web Programming Is Hard

#145

Earlier quoted context omitted.

Rather than memorizing stuff forever, you could develop your intuitions about data structure design trade-offs and what makes them behave the ways they do. After I learned OCaml, a lot of data structure design seemed obvious . Also, read _Purely Functional Data Structures_ by Chris Okasaki. Unlike (say) CLRS ( http://mitpress.mit.edu/algorithms/ ), it's even a pretty short book.

I'd actually recommend not reading Chris's book in isolation. There are a lot of things that are ugly to do in functional languages (w/ respect to data structures), but are easy with assignment (and of course vice-versa). I'd read Chris's book with Sedgewick (Sedgewick is a super applied algorithms text). This will help give a good balance.

I partially suggested it because it uses SML for the code. Even if one doesn't use OCaml / SML for actual programming, using the notation will probably help quite a bit with reasoning about data structures.

Re: Web Programming Is Hard

#146

Earlier quoted context omitted.

Yes, it's easy to make your average Desktop GUI ugly as hell across different operating systems using a GUI Toolkit such as Qt.

You read my mind. Most are ugly as hell ! That's exactly what I said on my blog, and Desktop GUI developers get away with it.

Most of the time desktop apps and web apps serve completely different purposes. Desktop apps do not intend to be flashy or beautiful, they need to be usable for getting things done. They should follow the conventions of the OS, be fast and intuitive. So when a GUI developer creates a GUI that is highly usable and not showing off with eye candy, the GUI developer has done his job properly. Saying "they get away with it" because desktop GUIs are ugly is just wrong. Web sites often need to draw attentation. They want to sell something, be interesting. They should be flashy and beautiful.

Re: Web Programming Is Hard

#147
post #80

Earlier quoted context omitted.

Write a webcrawler that doesn't get stuck crawling in circles. You need to maintain history somehow.

Why a linked list? Wouldn't something resembling a hash table or even a tree be a lot better. I think with web development a lot of the situations where you would want a linked list are abstracted away. Personally I would be testing people on how they take some kind of design outline and map out how they would approach it. Something like dealing with bringing together multiple API's to would be high on the list, this…

If someone can't understand a linked list, hash tables and trees are well beyond them.

Re: Web Programming Is Hard

#148

Earlier quoted context omitted.

OK, if we're talking about games, maybe not. I'm talking about your average Desktop GUI out there which can be made to work across different OS's using a GUI Toolkit such as Qt.

Yes, it's easy to make your average Desktop GUI ugly as hell across different operating systems using a GUI Toolkit such as Qt.

Because on some OS desktop apps are generally ugly. I love Linux, but for the console. On windows 7 Qt looks nice.

Re: Web Programming Is Hard

#149
post #2

I periodically think "Man, I really shouldn't be getting paid for this. Any idiot could stick these two APIs together." In my more sensible moments, I remember that that idiot only needed to know HTML, CSS, the DOM model, Javascript, jQuery, HTTP (mostly headers and status codes), Ruby, Rails, basic MVC design, Oauth, SQL, SQL performance, five-ish APIs to support the two that needed integration, how to configure and…

You forgot the architecture needed to sustain a development enviornment - the VCS, bug tracking, deployment (ssh? shell scripts? something more modern?), and so on. But that's probably because it's all so obvious.

Re: Web Programming Is Hard

#150
post #146

Earlier quoted context omitted.

You read my mind. Most are ugly as hell ! That's exactly what I said on my blog, and Desktop GUI developers get away with it.

Most of the time desktop apps and web apps serve completely different purposes. Desktop apps do not intend to be flashy or beautiful, they need to be usable for getting things done. They should follow the conventions of the OS, be fast and intuitive. So when a GUI developer creates a GUI that is highly usable and not showing off with eye candy, the GUI developer has done his job properly. Saying "they get away with i…

Thanks for getting me to see another point of view. Your argument makes sense !
Post reply on HN