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?
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
We welcome your comments on this topic on our social media channels, or [contact us directly] with questions about the site.
Cybersecurity Strategies for the Digital EraAt its core, digital business relies on strong security practices. In addition, leveraging security intelligence and integrating security with operations and developer teams can help organizations push the boundaries of innovation.