Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I somewhat but not entirely agree with this. I definitely agree in the case he discusses: there are way too many people with vague ideas who "just need a programmer". I don't think the root problem is that implementation is the source of all value, though. In their case, they don't understand how to develop computational ideas in a useful way at all. It's not the lack of C++ knowledge or Ruby knowledge, but the lack of a general understanding of computational thinking.

A computationally-literate idea that's well developed, on the other hand, can be very valuable, and can account for probably 90% of the interestingness of idea+implementation. Not always: sometimes you find really major things in the implementation that cause you to rethink the idea. But there are many times that I've implemented a theoretical idea myself and not really learned anything in doing so. You read a paper, or even a blog post, which explains an idea in detail, motivates why the author developed it, gives a broad sketch of how you'd implement it, etc., etc., but the author hasn't actually implemented it. Then I implement it myself. Have I provided the majority of the value, because I'm the first person with working code? Not really; in many cases the implementation was a pretty straightforward translation of the idea into code.

A computationally literate and well-developed idea is arguably something close to "execution", but not quite the nuts-and-bolts variety. To use a physics analogy, my ideas on space travel are not very well developed or valuable, but Freeman Dyson's are valuable, even though he's implemented his ideas to the same extent I have: neither one of us has ever attempted to build spaceships. He's a pure idea-person, but his ideas are developed quite fully, so readers can understand what he proposed and why, what its pros and cons might be, what possible pitfalls await, what the broad outlines of possible fixes for those pitfalls might be (even if they depend on materials or other things not currently available), etc.

I'd say the same of people even further into idea-land, like Isaac Asimov, who provided valuable ideas with nothing close to an implementation. The trick imo is that most ideas either just aren't novel enough to be interesting, or aren't sufficiently well developed and explained to provide value to a reader.



I must respectfully beg to differ on your interpretation. The way your describe your "computationally literate and well-developed idea " is not at all what most people consider an idea. It is pseudo-code, which really is the vast majority of the implementation.

Since I started using Python I no longer bother with pseudo-code at all, but when I was using Java I considered a complete pseudo-code 90% of the implementation and translating into Java to only be the last 10%. You touch on this by saying that its "close to "execution"", but I think you do not go nearly far enough. It is most of the way to execution.

To put it another way, I think having an idea is like standing at a starting line for a race. You havne't done anything except contemplating running the actual race yet. Having a fully developped algorithm in pseudo-code (possibly along with a thorough UI concept) is like passing the last mile marker. You haven't finished the execution yet, but you have gone a very long way towards it...


Good post, but in my experience full mockups and pseudo-code is still not close to 90% of the final product unless I'm doing something that is trivial for me. There is just too much complexity that emerges in places which are difficult-to-impossible to anticipate until I've dug into code and physically tested the ideas I've laid out in pseudo-code. I'd probably put the number more in the range of 25-50% depending on the scope of the project.

Of course for simpler projects or in domains where the developer is extremely experienced and can anticipate every hiccup that might occur, that number could go much higher, but I don't think this is usually the case in the wild.


I definitely agree that in terms of effort expended implementation is almost always >=50%, but effort can be of various types. Sometimes when I've implemented ideas, the implementation took 90% of the time, but it was basically straightforward code-slinging, so I wouldn't credit it with more than 10% or so of the total intellectual effort expended on the project. Other times, important stuff does come up when implementing that sheds new light on the idea (or shows that it wasn't as fully developed as I initially thought).

When I'm implementing someone else's paper, a heuristic I use is something like: did I "just" implement this paper, or did I learn important things while implementing it that aren't actually mentioned in the paper, and which I should probably write up somewhere for other people's benefit? Sometimes the answer is "just implemented" even if the implementation took a long time and was hairy.


As you say, it depends on the problem. Working in mathematics, if I have the algorithm, turning it into code is almost always very easy, but getting that algorithm can be very hard indeed.

Even if we put the number somewhere between 25-50% depending on the project, that is still a long way away from just having an idea. That still constitutes substantial progress and a solid start on execution.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: