Software // Enterprise Applications
Commentary
7/24/2014
04:07 PM
Andrew Binstock
Andrew Binstock
Commentary
Connect Directly
RSS
E-Mail
50%
50%

Just Let Me Code!

Managing the complexity of development toolchains -- from SCM, to the build tools, to the testing, to the deployment stack -- now so overwhelms the developer experience, it's hard to get any real programming done.

Like most developers, I got into programming because I like creating stuff. Not just any stuff, but stuff other people find useful. I like the constant problem solving, the use of abstractions that exist for long periods nowhere but in my imagination, and I like seeing the transformation into a living presence. There is a joy in the steady work of creation and in its first successful test run. It is both a sense of building and consuming until at last, at long last, I can test the new feature, verify that it works, and feel the euphoric rush of frenetic little wicker gates opening and closing inside me in a triumphant, momentarily ecstatic pulsing.

All developers know this rush. And, of course, they know the steady pleasure of patient, disciplined, and deliberate work that leads to the moment. These days, however, both the consummating surge of joy and the satisfaction of the preliminary work have become very infrequent experiences.

Both vectors today point in the wrong direction: The daily work is now overwhelmed with non-coding activity. Consequently, the culminating points of joy are ever rarer and much farther apart. So much that what goes between them now feels like drudgery. On private projects, I keep hearing myself spit out between expletives, "I just want to code."

For a long time, I've attributed this frustration to the complexity of today's software. The simple programs of a few hundred lines of C++ long ago disappeared from my experience. What once was the experience of riding a bicycle has become the equivalent of traveling by jumbo jet, replete with the delays, inspections, limitations on personal choices, and sudden, unexplained cancellations -- all at a significantly higher cost. Where is the joy in that?

Read the rest of this article on Dr. Dobbs.

Prior to joining Dr. Dobb's Journal, Andrew Binstock worked as a technology analyst, as well as a columnist for SD Times, a reviewer for InfoWorld, and the editor of UNIX Review. Before that, he was a senior manager at Price Waterhouse. He began his career in software ... View Full Bio
Comment  | 
Print  | 
More Insights
Comments
Threaded  |  Newest First  |  Oldest First
Thomas Claburn
50%
50%
Thomas Claburn,
User Rank: Author
7/24/2014 | 4:48:32 PM
I sympathize
The depth of knowledge needed to create useful apps these days only seems to keep increasing. That's one of the things that has kept me from exploring Web development -- between front-end, back-end, frameworks, and browser dev tools, there's just too much to learn and it's changing too fast to keep up. If I were a professional programmer, that might be less of a problem -- it would be my living. But as a hobbyist, it's too much.

One of the reasons I've stuck with Lua-based Corona SDK for cross-platform mobile development is that ease of use is more important for an amateur than breadth of functionality. Maybe I'll check out Swift at some point but the simplicity of Lua is worth a lot to me. The limitations of a cross-platform framework are sometimes more conducive to project completion than the full range of possibilities that accompany native development.
Andrew Binstock
50%
50%
Andrew Binstock,
User Rank: Author
7/24/2014 | 5:04:23 PM
Re: I sympathize
Tom: Quite agreed. In mobile, especially, the use of packages that can create good cross-platform apps is a huge time and aggravation saver. In this regard, HTML5 is a valid solution. If we could get the testing and deploy parts simplified, we'd be in good shape.
stotheco
50%
50%
stotheco,
User Rank: Ninja
7/25/2014 | 1:36:32 AM
Re: I sympathize
Coding was never simple, and things will probably continue to get more complex with time, considering what people expect to be able to do with their apps these days.
Charlie Babcock
50%
50%
Charlie Babcock,
User Rank: Author
7/24/2014 | 5:54:43 PM
The ambitions have gotten bigger and so have the tools
Although it's an appealing notion, I suspect it was never as simple as 1,2,3 to get a coding project underway, except ones for extremely simple goals. Today you can instantly spin up a virtual machine to develop in and multiple virtual machines in which to stage and test code, no need for the old process of scrounging unused servers around the company. I think the coding ambitions have gotten bigger, and the tools, likewise. The things that got easier have once again been overwhlemed by the expanding goals of the projects.          
Andrew Binstock
50%
50%
Andrew Binstock,
User Rank: Author
7/24/2014 | 7:49:34 PM
Re: The ambitions have gotten bigger and so have the tools
Perfectly stated, Charlie. 
stotheco
50%
50%
stotheco,
User Rank: Ninja
7/25/2014 | 1:38:24 AM
Re: The ambitions have gotten bigger and so have the tools
You've summed it all up very nicely, Charlie. Specially with this bit: " I think the coding ambitions have gotten bigger, and the tools, likewise." The tools evolve as our needs evolve, but sometimes they don't quite catch up with the other.
Building A Mobile Business Mindset
Building A Mobile Business Mindset
Among 688 respondents, 46% have deployed mobile apps, with an additional 24% planning to in the next year. Soon all apps will look like mobile apps – and it's past time for those with no plans to get cracking.
Register for InformationWeek Newsletters
White Papers
Current Issue
InformationWeek Tech Digest - September 10, 2014
A high-scale relational database? NoSQL database? Hadoop? Event-processing technology? When it comes to big data, one size doesn't fit all. Here's how to decide.
Flash Poll
Video
Slideshows
Twitter Feed
InformationWeek Radio
Sponsored Live Streaming Video
Everything You've Been Told About Mobility Is Wrong
Attend this video symposium with Sean Wisdom, Global Director of Mobility Solutions, and learn about how you can harness powerful new products to mobilize your business potential.