Hacker News new | ask | show | jobs
by dxbydt 5271 days ago
I can strap on wings and jump out of a window and have a hard landing and break a few limbs and "get the message" that I shouldn't have jumped in the first place. To claim that jumping was a valuable process is a bit far fetched. I could have gotten that same lesson by simply taking a course in aerodynamics, or better yet, watching those black and white videos from the history channel of people in the 1900s doing similar stunts before the Wright brothers came along. Having worked at startups for a bunch of years & having interviewed with several others & speaking with their founders in person, I see a very distinct divide. The vast majority are building things "we don't need", throwing stuff at the wall and hoping something will stick. Purely from a statistical perspective, something will indeed stick. otoh the very tiny minority that are building stuff we do need are handicapped by too many factors to even have a remote chance of success.
1 comments

The problem is then figuring out what's valuable. But being told that building an entire class of extremely useful tools is not valuable just gets it completely wrong.

To take your analogy, it's like seeing some people jumping out of windows with wings and telling them, hey, stop trying to invent stuff. No, the correct message is, do your research.

Developer tools can be extremely useful, you just have to make sure that what you're building is useful and hasn't already been done before. This is completely different from saying that all developer tools are useless, which is what was said in the post.

> "This is completely different from saying that all developer tools are useless, which is what was said in the post."

That isn't what was said nor what was implied. Someday we will stop pretending that what we do is "extremely useful". A developer tool is nice. It is neat. It is cool. It is a bulletpoint on your resume. It is a repo in the github. It buils your brand. It scratches your itch. It generates revenue. It has a long tail. etc etc... But "extremely useful" ? To the real world full of real people ? Not in a million years. Let me look at my own work, at this very instant. I'm coding up a scala sobol sequence generator by solving a recurrence on a primitive polynomial of the Z2 field. Why in the world would I need this ? Well if I have a low discrepancy sobol sequence I can generate quasirandom montecarlo variates in scala instead of importance sampling. Why in the world would I need that ? Well with a million of those variates I can tell you with a lot of accuracy whether a commercial loan will default & what the expected loss would be ? Why in the world would I need that ? Well since we have a portfolio of millions of commercial loans, like every bank on the planet does, we need to compute the value at risk so we know how much capital to set aside in case of defaults. Why in the world would I need that ? Well since....I can go on and on, but at some point, I will be forced to acknowledge the very point the post was making - that the world is full of real people. These tools & algorithms are neat, but they are a workproduct of privilege. Everytime we build a piece of software, we are simply resorting to the rifleman's creed the marine core uses ( you know, the one that goes - This scala sobol sequence is mine. There are many like it, but this one is mine! ) So f*ing what ? It is definitely a life of privilege. It is far far removed from the world of real people. Personally there is nothing else I would rather do. But to pretend that what I'm doing is on the same plane of someone say vaccinating a kid with malaria in the tropics, or providing shelter to a homeless person etc is highly disingenuous. That would be reality. otoh coding software is simply privileged cs guys playing games with bits and bytes so that after the talent acquisition exit, we get to play games with vc money on techcrunch :) Lets not kid ourselves.

...we need to compute the value at risk so we know how much capital to set aside in case of defaults. Why in the world would I need that ? Well since....I can go on and on...

And if you went one step further, you'd have realized: "to reduce the risk of a bank failure and potentially saving thousands of jobs."

But to pretend that what I'm doing is on the same plane of someone say vaccinating a kid with malaria in the tropics...

Lets think about the guy vaccinating a kid to prevent malaria.

But lets think a few steps back. Rather than thinking about the guy with the needle, think about the guy in the lab coat. He's currently sitting in a lab somewhere, fucking around with gene assays in order to create antibodies. Why does he do this? Because some other guy might use the antibodies to stimulate an immune response to malaria parasites in rats. And the other guy might find out the first guy was wasting his time.

The vast majority of people who are trying to do exactly what you ask (creating a malaria vaccine) are "building things 'we don't need', throwing stuff at the wall and hoping something will stick."

And if you back up a couple steps more, you realize all this was only possible because someone built biologist tools (e.g. gene sequencing machines, bioinformatics software) which are neat and cool and bullet points on a CV and also completely useless to "real people".

Tremendously enjoyed your post, particularly the part about fucking around with gene assays. My wife is a physician, and sometimes I rile her by saying she is not helping real people because she is just a glorified hashmap. She does a lookup on the disease and returns a drug prescription. She says that's still better than fucking around with gene assays in a labcoat :) I'm completely familiar with your line of reasoning. Its just that the number of nodes needs to traverse from a styloot to a vaccine is significant. Its not zero. Most companies get around this by simply making large philanthropic donations from time to time. But you'll still agree that's not the same. Some of my classmates got their math & physics PhDs and then gave it all up and returned to India to feed the poor and work with the homeless. When I look at that and then look at the fact that I'm messing around with sobol sequences....it just irks me, that's all. I think that was the point of the article - dealing directly with the real world full of real people, and not via some long indirect causal mechanism.
Yes, some tools are toys without much use. I don't dispute that.

But to make a blanket claim that no tool is useful, "not in a million years", is completely wrong. The real world full of real people has benefitted tremendously from certain software projects. Those projects have in turn benefitted from others, which benefitted from others, etc. Not all software is involved in the chain, but a lot is.

Software does things like predict weather (saving thousands, perhaps millions, of lives and vastly improving other lives), help design buildings and machines, allow people to communicate over extremely long distances at very little cost, etc. etc.

All of that software was enabled by various developer tools that have been built over the years. Tools like FORTRAN compilers, UNIX systems, make, gcc, VMS, etc. etc. All of those have been extremely useful. Indirectly, they have been extremely useful to real people in the real world. So why do you say that "not in a million years" would anything we build be useful. Maybe what we build isn't, but it certainly can be, and a lot of it is.

Is what I'm doing extremely useful? Probably not. But if I wanted it to be, the answer isn't to stop programming and go vaccinate kids. The answer is to apply my software skills to areas which are useful in general. The results don't have to be directly useful to "real people" to be indirectly useful to them.

Building some Facebook clone is probably not all that useful. But to come along and act like all software is simply an act of privilege and is never useful to "real people" is just plain wrong.