Live data from Hacker News

Web Programming Is Hard

shubharamani.com

41–50 of 165 posts

Re: Web Programming Is Hard

#41

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.

When encountering problems where I have to derive the answer without a crutch, I solve most by thinking how to solve them either through native language or spatial movement of object, then translating into code. How would you reverse the order of charms on a bracelet? Any time a step isn't clear, break it down further.

> Any time a step isn't clear, break it down further.

And that really is the key to programming. Which makes pretty much anything solvable from scratch. Whether or not you'll come up with the most efficient solution (or at least one that runs reasonably fast) is another thing but at least you'll come up with something, or at a minimum a well defined little black box that you know you're going to have to fill based on the name you gave it.

Re: Web Programming Is Hard

#42

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.

I'd go one further - if I thought somebody was giving me a rote answer for how to reverse a linked list, I would push them to see if they actually understand why it works. Or switch to something a bit more exotic, like a skiplist or radix trie, and see if they have any intuition about data structures.

It's a linked list, people.

Re: Web Programming Is Hard

#43
I think the main difficulty for Web Development is the separation between the Front-End and the Back-End. In Desktop development, the two are linked together, so if you want to handle a button click, you do that in the back-end and no other hassles.

However, for Web Development, you'll need something called HTTP POST or GET and you want to improve it with AJAX (and make sure that it still works even without JavaScript). The user input become sensitive, and you have to take into account many other thing to secure your server.

Still, Web Programming is fund. Having a server that answer requests is funny, for me. The author found Web Programming is hard, because it underestimated it.

Re: Web Programming Is Hard

#44
post #14

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.

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.

Re: Web Programming Is Hard

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

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.

You're defending your honesty, but your honesty isn't what's being attacked; it's your competence.

I've been asked in interviews before, how to reverse a single-linked list, and impressed interviewers with my answer to this seemingly trivial problem; but I also remember when I first met the problem, in a newsgroup posting nearly two decades ago, and I had temporarily convinced myself it couldn't be done in constant space. But then I saw the problem as pushing and popping of stacks: view the old list as a stack to be popped, and the new list as a stack to be pushed, and thence the list shall be reversed.

But doing it elegantly - in constant space - is besides the point. Reversing a linked list is a problem which can be solved, even clumsily, without much thought. But demonstrating problem-solving in an interview situation, that is the point.

Re: Web Programming Is Hard

#46
post #28

Earlier quoted context omitted.

Couldn't you learn this concept, grow as a programmer, and become more hirable in the process? It seems like you've decided you're not capable of teaching yourself through it.

Of course it's doable. Like I said on my website, I need to get off my ass and start coding up linked lists, binary search trees and sorts "til I fucking throw up all over Manhattan". Yes, of course it's doable. I'm no dummy. I can stumble through it on the whiteboard as well -- I'm not deaf, dumb and clueless -- I don't just stand there at the whiteboard listlessly, with blank stares, if that's what you mean. If I p…

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.

Re: Web Programming Is Hard

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

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 for someone who understands loops and pointers (as I assume you certainly do.) I would have filed "reversing a linked list" under the Fizzbuzz category of things-that-anyone-who-has-ever-actually-programmed-can-do.

Re: Web Programming Is Hard

#49
I'm currently working on a set of SOAP web services using tomcat, cxf, mysql, and hibernate among others.

I decided to do a switch from embedded to web development about a year and a half ago after being laid off. My paycheck is smaller but I now work on a whole new set of problems. After working about 10 years in embedded and everything around it, I felt that I needed a change. It was as if I was solving the same problems over and over. And don't get me started in the state of the tools. I remember thanking the heavens when we switched platforms to PowerPC and ELDK.

At first I did not know were to start in web development. But I did decide to concentrate on the back end quite early. At first I approached each technology separately, mostly because of my ignorance. For example, I saw that tomcat was very popular, so I decided to take a look into it. But I quickly realized that I needed a birds eye view of the whole web service stack and not its individual components. At least not yet.

I started to look into frameworks. After realizing that there are lots of those and that I learn about a new one almost every week, I had to narrow my search. I've been working and learning Groovy on Grails which is all based on the JVM since then. What sold it to me was the fact that Groovy is a language very similar to Python, which I know, and that Grails is a web framework that integrates all the necessary technologies to get a decent site up and running thanks in big part to the amount of plugins available for it.

Like grayhairmomma says, it's a humbling experience.

Re: Web Programming Is Hard

#50
Yes, web programming is hard. The amount of techniques and the haphazard way in which they interact (jsonp??) are terrible compared to 'real' software development in a controlled environment.

But you really should be grateful for that. If it were easy a large number of us would not be earning what we do because things that are easy tend to devalue quickly.

Remember when being able to write HTML would net you $80 / hour?

Ten or fifteen years from now, when web programming is 'easy' you just might long for the times when web programming was hard but you could basically name your price if you were competent at it.

Post reply on HN