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

I will try to explain.

Firstly it is a focus on "results" rather than output. The novice has produced a lot of output but no results. How would you evaluate if the components serve their purpose? Are they doing too much? Are they not doing enough? It is only by virtue of the program's results that you can check. As programmers we tend to evaluate the code (which is an internal focus) more than the running program (which is an external focus). This is a great way to learn but a bad way to deliver anything of value to an end customer.

As a programmer, the novice would understand and be interested in the ins-and-outs of his screen editor, gui routines, and AI module. However, he would probably not have the same level of understanding of finance. For a good product, the novice should concentrate on raising his understanding of finance to the level where he can deliver solutions to his users. By ignoring his users (delegating them to an afterthought), he is making a fundamental mistake.

Finally, it is a question of value. This is key - the most fundamental aspect of this scenario. The programmer, for all his effort, has delivered nothing of value to his users. Worse, he does not even have the attitude and direction required to deliver value. When someone says "I'll put in that stuff later" (or it's equivalent), you can be sure they will deliver something of poor quality to the users.

In the end, if you cannot say the work you have done today will make someone's life better - what is the point of working so hard?



Ah! I did not understand the emphasis. It didn't occur to me that the novice would be working on things that were not relevant. Thank you for explaining. Also, I may still not understand the depth of this lesson, yet.




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

Search: