"...How many times can you build a cookie-cutter CRUD app with a web frontend that fetches and displays data from a SQL backend before you feel like all you are doing is cranking a lever?...<p>...Think of those who have implemented language compilers and runtimes, database engines, search engines, operating system kernels and the like. <i>Unfortunately, such projects come along rarely, and the bar for contribution is extremely high</i>..."<p>That in a nutshell expresses the dilemma of most software developers.