When Technical Debt Comes Back To Bite
The government shows why your organization cannot risk falling behind on technology
The level of unemployment that we’ve seen in the United States in the last two months is something previously thought unimaginable. Historical charts are looking like something coming out of a fiction movie.
Unemployment is not these people’s fault. Shelter in place efforts have caused many small and medium businesses to close and no longer able to pay employee salaries.
Of course, our government has a system in place to take on this challenge. There is a different challenge, however. The system to support the system is old, slow, and outdated. 12 states still have their unemployment systems running on COBOL, a programming language created in the 1960s and it’s now a huge problem that has an impact on our society and people’s lives.
While I know that we all want our unemployed served as soon as possible, we should really consider this as a cautionary tale for ourselves and a moment we can learn from going forward. This is a classic case of insurmountable technical debt. It affects a large majority of organizations and businesses.
In traditional economic terms, when we think of a debt collapse, we’re aware that is a direct impact on the sector involved. What we overlook at times is that there is a ripple effect that reaches beyond the primary sector by a significant amount.
The same thing applies to technical debt as well.
At the forefront, people directly impacted here are the unemployed who need their money to survive. They’re the customers that rely on the services that are built on top of this old system. They won’t get their money on time and many will struggle to make ends meet to no fault of their own. In addition, the other group that’s most affected is the staff who works for unemployment services. Going from thousands to millions of unhappy customers putting a strain on your system and phone lines won’t make for a very good time at work for the next several months.
Hiring technical staff also becomes a very big challenge as now there’s a gap between the skills required to do the job and the skills that are available in the current job market talent pool. If you can’t hire additional developers to help your already overwhelmed staff, things will become bad very quickly.
The outdated software system affects multiple external parties. Developers are constantly learning new technology, and every time they invest time in learning a new language or framework, there is an opportunity cost associated with that in case technology becomes deprecated. Unemployment services refusing to update their software forces developers to incur this opportunity cost to learn something they know is outdated and they’ll never use outside of this role.
Other companies, while doing a noble thing by offering open sourced training, are incurring a cost too. IBM, while having nothing to do with processing unemployment checks into the hands of families and people who need them badly, is dedicating time and resources to connect veteran and younger programmers together to deal with the knowledge gap that exists between them when it comes to learning COBOL.
How We Can Avoid This Going Forward
I know from experience that clearing technical debt is an organization wide effort. In a given quarter, there are many projects to juggle and push through. Being up to date on technology should be a quarterly priority.
This is not only beneficial to staying up to date in terms of where your teams stand on a technology basis, but also beneficial to understand how well your current tools are serving you. Is technology becoming a product or hiring road block? Which teams are using which tools? Are they using it correctly? Are we paying any extra licenses or paying for two different products that essentially do the same thing? The answers might surprise you when you spend time to explore them.
Technology Curious Values
We need to start instilling technological curiosity within companies that goes beyond product, engineering, and data teams. Start slack channels to explore different technological solutions that might tackle different problems. Share techniques or learning materials with non technical teams. Educate internally as much as possible. I’ve seen this be extremely effective with things as simple as sharing excel or google sheets tips to teaching people how to write simple SQL queries.
We currently live in extraordinary times that’s shown us how vulnerable or values and systems really are. The best way to win in the future is to learn from it.