Live data from Hacker News

Web Programming Is Hard

shubharamani.com

51–60 of 165 posts

Re: Web Programming Is Hard

#51
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 think the comparison was with embedded programming, which can be pretty hard in its own right.

Also, with lots of embedded stuff, you don't get the "do over" of being able to update your server with the latest code. Once it has shipped, it had better work. In some cases, people's lives may directly depend on it, something that's probably fairly rare in the world of web programming.

I'd hire someone good with C pretty quickly, if I had the time to let them get ramped up, and they demonstrated the flexibility and willingness to learn.

Re: Web Programming Is Hard

#52
post #14

Earlier quoted context omitted.

Fair enough. But as someone who's conducted hundreds of developer interviews, I can say it's absolutely a huge red flag for me. Total failure would be a straight no-hire. I see it as something that should be very easily re-derivable. You certainly will encounter harder things that you need to invent (not just re-invent) during the course of any job.

You certainly will encounter harder things that you need to invent (not just re-invent) during the course of any job. Ha! You'd be surprised at how many "programmers" spend years just cutting and pasting code without really understanding any of it.

Yeah, but aren't some interview questions specifically intended to screen out those kinds of programmers before they do too much damage?

Re: Web Programming Is Hard

#53
post #31

Earlier quoted context omitted.

Well, I guess you'd never hire me then. Which is OK. I can't be anything but honest. Sorry. It's who I am.

I really have a hard time believing that coming from a C/C++/embedded background you couldn't whip up something reasonably workable (linked list) in 15 minutes on a whiteboard. It's usually the people that have gone on to become "architecture astronauts" who can't do it, or the people who could never do it in the first place. I mean it's as much a test of passion as a test of competence. You can see that certain peop…

I don't know what to say guys. I'm not incompetent but if you want to assume that I am, then I cannot stop you from drawing those conclusions. Let me say this : it's not a matter of comprehension. It's a matter of performing flawlessly under pressure at the whiteboard.

Re: Web Programming Is Hard

#54
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…

Being a web-programmer - those C and GUI stuff looks hard to me. The grass looks greener on the other side, the tech looks harder on the other side. I am humbled too.reply

Re: Web Programming Is Hard

#55

Earlier quoted context omitted.

Well, I guess you'd never hire me then. Which is OK. I can't be anything but honest. Sorry. It's who I am.

This is getting to be a really silly off-topic discussion, but I have to admit, I would be totally curious to hear if you could identify what is difficult for you about this task: A) Pressure of an interview situation makes it hard to think straight? B) Absence of familiar IDE, environment, REPL/compile-run cycle makes it hard to work or think effectively? C) Something else? I just don't see how it could be difficult…

I am not a stupid copy/paste programmer who doesn't know what the fuck she's doing. Trust me on that. As my blogpost said, I thoroughly understand the concepts. But if you read my blogpost comments, you'll notice that many people sympathize -- and I doubt that these people are incompetent. Some people will impress at whiteboard coding, others will not. That's it.

Re: Web Programming Is Hard

#56

Earlier quoted context omitted.

You certainly will encounter harder things that you need to invent (not just re-invent) during the course of any job. Ha! You'd be surprised at how many "programmers" spend years just cutting and pasting code without really understanding any of it.

Yeah, but aren't some interview questions specifically intended to screen out those kinds of programmers before they do too much damage?

Sure; but there are a ton of places they can get a job as a "programmer" having only interviewed with a non-technical manager. These people become experts at this type of interview and are able to do what I call, "dazzling with bullshit" quite effectively.

Re: Web Programming Is Hard

#57

Earlier quoted context omitted.

I never said linked lists were hard. I said that it's not necessary to know how to reverse a linked list from memory -- from scratch. I can look it up and get to it right away.

You know, at one point I thought that as well. I felt, that as someone who programs almost solely in 1) C# 2) Erlang -- "thanks I've got a stdlib for that". And then I actually thought about what it takes to reverse a linked list for a second. And immediately realized I will never, ever hire someone who can't regurgitate or reason how to reverse a linked list "from scratch" within a few minutes.

To play the devil's advocate, and I am speaking specifically within the context of web development, what is a practical example of a linked list?

Re: Web Programming Is Hard

#58
post #17

One common mistake when one tries to tackle the web is to do it all at once. What you need: - get familiar with HTML and css. That is, learn the basics, their purpose and how they interact. - get familiar with some basic JavaScript and how you use it on the browser. - learn one of the prominent web languages for the server-side. Python, Ruby, PHP, etc. I used to recommend PHP as a first language because compared to o…

That said, you need to have a firm grasp of all the basic security concepts before rolling out production code. You need to know how to avoid all the various injections.

There are some pretty (free) good tools out there to test against most injections methods. I'm not saying having a conceptual grasp of security hurts ;) All in all, you can't know all methods - and the tools won't probably know much less.

Re: Web Programming Is Hard

#59
Web Programming is nigh impossible for 1 person any more.

To build a legit website:

1. Mockup a pretty design in photoshop. Use color theory, design principles, UX theory, typography skills, etc. 2. Convert the design into HTML/CSS. Make it degrade gracefully, it should be cross-browser compatible, validate, be lightweight, meet accessibility standards. 3. Add unobstrusive javascript if you want, site should work without it. 4. Run YSlow, convert all images into sprites where possible, condense/minify your JS/CSS. 5. Do SEO tweaks and best practices. 6. Oh wait, does the site display well on iPads? build a mobile version and a tablet version.

...

We haven't even gotten past the front end. Learn good db design, code your middle tier. Choose or roll your own framework. TONS of work.

Once it works, go back and secure everything for the OWASP10 and other potential holes. Also make sure it will scale gracefully.

Maybe you should optimize your cacheing scheme? Maybe tweak your php config so it runs faster.

AGhghghsdhdshf%@!$^#$ it never ends!

Re: Web Programming Is Hard

#60
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.

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.

Post reply on HN