So perhaps we've been focusing on the wrong series of problems when it comes to software development productivity. Doing the HOW is not the bottleneck, but rather determining (rigorously enough) the WHAT that is the bottleneck.
Will we ever be able to create abstractions or systems of abstractions that make software development significantly (orders of magnitude) more productive than what we have now? And if so, will we ever reach the point where users/customers/clients can have very capable and sophisticated custom made or customized applications for a price that warrants "wasteful" or "trivial" (for trivial reasons) software development?
What about whole databases and the various applications that use them? one time complex system models for climatology or finance or spread of diseases? Simulations of alternate systems designs for traffic and infrastructure to optimize particular attributes? Will that ever get "simple"?
Agile works well enough for our teams at work as long as everyone is aiming for the same goal. I used waterfall only once and it ended up a "failure" or a "qualified success" depending on your point of view. What we produced wasn't really what the users and customers needed or truly wanted even though it was to the spec that we all agreed to.
Think beyond agile and other current cutting edge methods. What I'm really asking about is will software development ever become so productive that significant, useful applications could be created for such a low cost that "throwaway" one-time development that occurs only to take advantage of fleeting opportunities or needs is fairly common and is not considered "extravagant" but rather a smart thing to do?
At my present day job, I don't have to hold my ideas back because they are only tangentially related, if at all, to my employer's line of business. I give my day job only as much energy and enthusiasm as I need to get the work done well and in a timely manner. As far as personal habits go, keeping motivated while working more or less piecemeal on my pet project is difficult, but I've managed to work through worse.
This is why I've learned to give only as much as employers expect and occasionally 5 or 10% more. All my best ideas stay with me, for my own projects. I've made the mistake that the company's and mine interests were the same far too often and gotten burned by it. The problem I'll run into is how to align my interests and those of my employees when I'm running my own shop, but I'll worry about that when I need to. Right now it is too soon for those sort of worries.
Since I'm forty, I'll just ignore those last three words in that title. I've now enough experience to know what works and what doesn't, and how to do things profitably and well. The only thing I don't know is if I have enough stamina to essentially work two "jobs" indefinitely until I no longer need the "day job". In my late twenties I worked full time supporting my family while studying full time at university. In the four years that I did that, I thought it was going to kill me. I probably shouldn't expect any different with my startup efforts.
No, developers should not insulate themselves from SQL and databases. ORMs in my opinion are a handy way to abstract away some of the common boilerplate, but I'll never understand why some people hate SQL and relational databases. I've written wonderfully clean multi-layered reporting queries which in a screenful of lines accomplish the same amount of work that several hundred if not thousands of lines spread over half a dozen or so files/classes will accomplish. Yes, relational databases and SQL aren't always the best answers, but for large homogeneous datasets they are really really handy. Of all the programming languages that I've used professionally, I've used SQL almost every single work week. No, I'm not a DBA even though I probably could be if I needed to.
Anyone remember how quickly the gargantuan "Patriot Act" suddenly appeared just after the September 11th attacks? I know it sounds very tinfoil hat-ish, but I figure the "Patriot Act" was written long before those attacks that supposedly precipitated it.
I've wondered about that myself at times. Some code that I've inherited was truly atrocious and much of that ended up rewritten, but other had been impenetrably dense. Those I had a mind to leave alone simply because I feared breaking the existing code. Usually we ended up "putting up dikes" around it and then clean it up piecemeal. Sometimes it is difficult to tell highly tuned and optimized code from a seething pile of cruft, but a quick run with a profiler against some performance benchmarks usually settles that question.
Oh and by the way, yes there is some code that I've written that I am somewhat proud of even if I recognize some of its shortcomings and ugly warts.
I'm "researching"/teaching myself knowledge representation and knowledge management at the moment. I read a lot about the Semantic Web and how it will be the most wonderful thing, but I suspect that we will just end up with "tag soup".
Actually, yes I do. We're aiming to take software development past the next productivity hurdle. Right now we are researching some of the core ideas involved. If we succeed with software, our approach has applicability to other design related activities. Our first laughably trivial proof of concept might be ready within six months, we're not really sure yet. There is also the quite real possibility that may run into insurmountable difficulties, practical or theoretical.
Each little well thought out part that works, and what I learn from novel situations that I've not dealt with before. Seeing progress and seeing the solution unfold as I explore the problem domain in greater depth and breadth.
when creating an account, please have a second password field for confirmation. Without that, it is far too easy to fat finger the password when creating an account.
Damn I should tell one of my former co-workers at Western Electric => ATT => Lucent Microelectronics => Agere that you're using his former email handle as your site name. I'm sure he would get a kick out of it.
It's not obvious what the hell Zombo.com is. Visual design is clean and uncluttered on the splash page, the voice over is a little freaky makes me think of some African dictator, perhaps Idi Amin. I cant say anything about the rest of the site because I cant get past the splash page. Kudos for the candy colored "hypno" throbber, I'm sure it will be a hit with the Mary Jane and Dancing Bears crowds.