Hacker News new | past | comments | ask | show | jobs | submit login

I guess I should've said "a different kind of creativity" rather than "less creativity". When you're doing maintenance work - even the sorts of large scale rewrites that totally change the architecture - your requirements are known. You can write down the goal, ideally write automated tests for it, and then you're done when the system passes the tests. Figuring out the solution may require a lot of creativity and intuitive leaps, but at least both the starting and ending points are expressed in rational terms.

For green-field software products (contracting is different, and much more akin to product maintenance), your requirements are unknown. Your ultimate acceptance criteria is "does the user like it?", which is an emotional one, not a logical one. This requires that you connect the rational part of your brain, which speaks the language of the machine, with the emotional part, which speaks the language of the user. Being able to exercise both parts in tandem is a very rare skillset, which is why market rates for truly innovative programmers range into the millions. (This ability to fuse emotional & rational thinking together is also a skillset required of CEOs, executives, politicians, and pop entertainers, all of which are also professions with compensation reaching into the millions.)

Yeah, that's fair. I'd agree green-field product development is different from maintenance. It requires great UX thinking, really understanding the users, product-market fit, maybe some behavioral economics, etc.

I was thinking more about enterprise or line-of-business green-field development. That still benefits from all of the things we're talking about, but it's a different set of problems to focus on.

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