Live data from Hacker News

Why Programming is Difficult

joearms.github.io

131–140 of 175 posts

Re: Why Programming is Difficult

#131
post #113

Earlier quoted context omitted.

> I understood the parent to be saying that they disagreed that "someone that smart would have known IQ is bogus", not that they disagreed that "IQ was bogus". Yes, and because of how the post was worded, we may never know. I suspect (and acted on the idea that) he was disagreeing about my claim about the veracity of IQ testing, but that's just a guess.

I think the wording is reasonably clear, and you are misreading it. "I disagree" alone tells us little, but all of the support below seems to serve much more strongly to justify disagreement with "you should know ..." than with "IQ ..."

No, actually, below the ambiguous "I disagree", we find "I've never used my IQ as justification for anything, granted, but I had no idea it wasn't considered a solid measurement." That seems clearly to point to a disagreement with the presumed objectivity of IQ testing, not its application to the OP.

Re: Why Programming is Difficult

#132

To me what is difficult about programming is to deal with huge undocumented and badly written legacy code, and also understanding tons of frameworks and APIs. Algorithms are the easy part.

Yes. My company's CRM uses a single 2500-line Perl script to handle all of its licensing emails. The script was written by our current VP of engineering in 1998 when our CRM was still built on ActiveX. I started porting this code over to Ruby for our now Rails-based CRM and I am beginning to doubt I will ever finish.

http://xkcd.com/224/

Re: Why Programming is Difficult

#133
post #101
post #95

Earlier quoted context omitted.

Well there's professional experience and non-professional/hobbyist experience. In your interview you should probably clarify that. They're both different but I think there is value to the things teenager might have learned working on some toy project.

Sure, and I value that, it's how I got started myself. But the experience of working on your own projects only translates to a fraction of the work a professional programmer does. 10 years experience would put you at the level of a lead programmer, or an entry-level architect.

Well, sure, and ten years' experience working for some other company with their technologies and in-house legacy code, libraries, design methodologies, and idiosyncratic ways of using even open source tools is not ten years' experience anywhere else.

A 22 year old with ten years of programming experience has ten years of experience doing what he's been doing. He may have built a Mongo-based sports statistics website for his high school. A 32 year old with ten years of corporate dev may have been creating in-house database utilities for MegaCorp's 20 year old Oracle customer database. He's had ten years of corporate database development experience. Is his experience clearly more suited to a Mongo-based startup selling hats to sports fans because his experience was corporate?

Or is it not a matter of corporate vs non-corporate experience but just how much experience doing which of the things we need someone to do?

Re: Why Programming is Difficult

#135
post #131

Earlier quoted context omitted.

I think the wording is reasonably clear, and you are misreading it. "I disagree" alone tells us little, but all of the support below seems to serve much more strongly to justify disagreement with "you should know ..." than with "IQ ..."

No, actually, below the ambiguous "I disagree", we find "I've never used my IQ as justification for anything, granted, but I had no idea it wasn't considered a solid measurement." That seems clearly to point to a disagreement with the presumed objectivity of IQ testing, not its application to the OP.

Well, apparently it is not clear, because it seems "clearly" to me to mean the other. You are taking "I had no idea that X" to be a claim of "not X"; I think it is a claim that they had no idea that X - and the pragmatic purpose of this in the conversation was "... and therefore, I don't think having no idea is crazy". I think your interpretation in this context is - at least - uncharitable.

Re: Why Programming is Difficult

#136
post #131

Earlier quoted context omitted.

No, actually, below the ambiguous "I disagree", we find "I've never used my IQ as justification for anything, granted, but I had no idea it wasn't considered a solid measurement." That seems clearly to point to a disagreement with the presumed objectivity of IQ testing, not its application to the OP.

Well, apparently it is not clear, because it seems "clearly" to me to mean the other. You are taking "I had no idea that X" to be a claim of "not X"; I think it is a claim that they had no idea that X - and the pragmatic purpose of this in the conversation was "... and therefore, I don't think having no idea is crazy". I think your interpretation in this context is - at least - uncharitable.

> Well, apparently it is not clear, because it seems "clearly" to me to mean the other.

Let's look at the original exchange. The person to whom I replied said, "I've never used my IQ as justification for anything, granted, but I had no idea it wasn't considered a solid measurement."

I replied, "It isn't remotely a "solid measurement", in fact it's a field surrounded by justified controversy on multiple grounds" ... and more in this vein.

How is that in any way ambiguous? It's a discussion of the credibility of IQ testing.

> I think your interpretation in this context is - at least - uncharitable.

My interpretation is based solely on the words used in the exchange. Charity has no role.

Re: Why Programming is Difficult

#137

Earlier quoted context omitted.

After 10 years in the industry I relate to that second paragraph far too well. What makes programming hard is that people who aren't programmers don't understand what we do.

Part of the job is helping others understand what you do, in a way that's convivial and not condescending.

I guess I should have put more than 10 seconds in to my first reply, but I totally agree. That's the hard part.

Now I'm in a senior role I spend most of my time explaining what has to be done. All the hows and whys take a long time to explain thoughtfully. If all you can do is "I'm smarter than you and I say so" that's not a good explanation.

I know we like to complain how meetings and presentations take up valuable programming time, but without them there's no way to explain to a CEO what unit tests are for, or why we're now adopting JQuery and removing Prototype from our 5 year old application.

It's always possible, but you have to be aware of what everyone else who supports your organisation values.

Re: Why Programming is Difficult

#138
post #79

Earlier quoted context omitted.

Rather than focusing on the IQ remark, I'll mention that the entire point of this post is that programming is not just “sit[ting] down to code something”. A program written in a vacuum when you're sitting in your chair is useful to precisely one person at precisely one point in time: you, right now. When you're working on teams, under managers, within organizations, you're working to build something that's useful for…

This is why, when I see 22-year-old kids in interviews claiming 10 years of programming experience, that's a negative signal for me. Commercial programming is solving problems you didn't choose, in a language that's not your favourite, using existing code you didn't write, for people you would never have met outside the job, in less time than you would like. In most real situations writing the code is the easy part,…

> In most real situations writing the code is the easy part, figuring out what it should actually do is the hard part.

true that. i said more or less the same thing myself shortly after starting work at a big company. just replace "real" with some variation of "business" or "corporate."

not that there's anything wrong with making money or working at large corporations, but just like a 12-year-old might not have any idea what corporate experience is, someone who learned to program at school doesn't know what the experience of mowing lawns in order to buy a compiler is like for kid.

Re: Why Programming is Difficult

#139
post #47

Earlier quoted context omitted.

Anyone can learn plumbing, framing, or drywall too, that doesn't mean we should all learn to do everything we need done. Furthermore it's not feasible or practical for anyone to be a master of everything. This view point overlooks the fact that people don't have infinite time and resources for learning and/or creating stuff. It also ignores the role of specialization.

Why not? I used to think that specialization was the right path to go on. Learn everything about just a few things. But as I've gotten older I've realized that most skills have far reaching applications beyond the specific task. Learning how to garden has improved my code structure and how I think about relationships and similarities between things from learning about the relationships between different plant species…

I agree. I think music and sports consciously impact your code as well. Skills with a mix of creativity and endurance are going to affect the way you think about problems, in general.

Re: Why Programming is Difficult

#140
post #136

Earlier quoted context omitted.

Well, apparently it is not clear, because it seems "clearly" to me to mean the other. You are taking "I had no idea that X" to be a claim of "not X"; I think it is a claim that they had no idea that X - and the pragmatic purpose of this in the conversation was "... and therefore, I don't think having no idea is crazy". I think your interpretation in this context is - at least - uncharitable.

> Well, apparently it is not clear, because it seems "clearly" to me to mean the other. Let's look at the original exchange. The person to whom I replied said, "I've never used my IQ as justification for anything, granted, but I had no idea it wasn't considered a solid measurement." I replied, "It isn't remotely a "solid measurement", in fact it's a field surrounded by justified controversy on multiple grounds" ... a…

Again, "I had no idea it wasn't considered a solid measurement" does not mean "I am asserting it is a solid measurement". It is quite obviously not the same statement (use of the past tense, for one - they make no claim about what ideas they have now), "from the words in the exchange". It is true that sometimes "I had no idea that X" is used to mean "I don't believe you that X." It is also frequently used sarcastically to mean "obviously X". But from context, I think the statement was quite literally a statement that they had no idea. This was relevant because, again, you had just asserted to someone else that it was unreasonable to have no idea.

Lastly, charity has a role in any conversation - particularly those involving disagreement. If your conversation partner might be saying something stupid or something reasonable, taking the reasonable interpretation or checking what they meant produces better conversation. I myself would sometimes do well to remember that, in the heat of discussion.

Post reply on HN