Last week I participated in a panel, “The Future of Software” at the Northeast Javascript conference and was asked a question about code quality. “Are you seeing better or worse code coming from developers today?”
“I am seeing less code today.”
I’m not just talking about low code platforms that can enable software developers and citizen developers to build entire applications with relatively little or even no code. I’m speaking about applications where you have to develop proprietary code but can accomplish your objectives with minimal coding effort. How? By leveraging programming environments, frameworks, and libraries that do most of the heavy lifting for you.
Stories from the trenches on too much code
Let me share a couple of stories with you. First, about an application that I reviewed about fifteen years ago that had over one million lines of PERL code. Now the code base leveraged frameworks and libraries and was very well structured into modules and functions. I don’t think very many people would call it “bad” code, but it was big and complex. When it came time to update the code to add functionality or improve performance, the development team struggled to understand dependencies and perform end to end tests. That code base ended up getting rewritten largely to address performance issues, but the secondary objective was to put it into an application framework and better enable a larger development team.
Here’ another story at a different job. About five years ago I was week one in a new CIO role and was asked to go and review a new product that was under development. It was May, the product was due in August, and the team was following “agile” so I asked to see a demo. As I recall, the demo was of a single screen, a dashboard with a handful of charts that let’s just say looked less than impressive. More precisely, it looked like something out of a 1980’s version of Lotus 123. I then asked to see the code that generated the dashboard, so the developer proceeded to walk me through several hundred lines of code it required to generate it. That product had to get a restart, first because the project wasn’t anything close to being agile, but more importantly, because we needed to switch platforms. While the underlying BI framework was powerful, it required way too much programming to perform even basic data visualizations.
Why Less Code is More
With today’s software development frameworks, code quality should partially be judged by the “less is more” metaphor. With all of today’s technology, you should be seeking out frameworks that meet operational, security and other criteria that enable the productivity of a team of developers, not just your star developer that has enough talent to get things done without a lot of help.
Why is this so important? Because application development isn’t just about getting 1.0 out with a superior customer experience on time and on budget. If you’re agile, 1.0 is just the MVP and the organization should be planning to do enhancements, fixes and other upgrades. With less code, you have less to maintain. In general, you have fewer dependencies and complexities for new developers to understand before they implement changes. You have fewer places that you control that can negatively influence performance, scalability, or security.
It’s not the only code quality metric. I also look for modularity, evidence of reusability, the presence of naming convention, and the existence of unit testing. But if it’s a large code base I know I have an uphill battle.


























Leave a Reply