Coding matters: In with the old

Picture of shiny ornaments

There is a condition known as "Shiny Object Syndrome". It’s when people are distracted by anything new, usually at the cost of what they are currently doing. It’s that urge to try a new tool, buy a new phone, follow a new trend.

Programmers are not immune to this syndrome. New frameworks, new versions, new IDEs. In beginners, it is often the belief that a different language will be easier to learn or lead to more jobs.

This may be part of why many programmers want to work on a new system. I found a wonderful blog post by Greg Jorgensen about the joys of maintenance programming. It’s old, but well-written. Here are some of the advantages he describes:

Better debugging skills

It takes more effort to debug somebody else’s code than your own. You actually have to work through the code step by step. With your own code, it’s easy to assume you know what’s wrong and how to fix it. So you will learn better debugging skills.

Better programming skills

Good code is easier to debug and extend than bad code. When you work lots of code written by different programmers, you learn to tell the difference. And you can apply that knowledge when you write your own code.

Better optimization skills

You have to tackle real performance issues, not hypothetical ones. The original developers may have done some optimization, so you need to go deeper. That’s a great skill to develop.

Learn new skills

Yes, you won’t be working with the newest tools. But you’ll get to learn languages and tools that you would not have tried otherwise. And your SQL skills will improve, because most systems use databases.

Better specs and real agile development

Every new system suffers from changing specs and priorities. When it comes to bugs and enhancements, tasks are smaller and better defined. You and the client are more likely to have the same understanding. You can make incremental releases. And you work with real users and get immediate feedback.

Better business skills

Production software addresses a real business need. You’ll learn how it affects business, and why it does or does not work for the users. Understanding business is great for your career.

Better people skills

You will work more with real users and less with other programmers. So you’ll learn to listen to and talk to people who don’t think like programmers.

Happier clients

On new projects, every spec change leads to a cost or delay, which clients hate. But when you fix a real problem on a system people already use, you make the users happy.

What do you think? Have you enjoyed the benefits of maintaining existing systems, or would you rather work on developing a new system with cutting-edge technology? I’d love to hear your thoughts.

Leave a Comment

Your email address will not be published. Required fields are marked *

Thank You

We're Excited!

Thank you for completing the form. We're excited that you have chosen to contact us about training. We will process the information as soon as we can, and we will do our best to contact you within 1 working day. (Please note that our offices are closed over weekends and public holidays.)

Don't Worry

Our privacy policy ensures your data is safe: Incus Data does not sell or otherwise distribute email addresses. We will not divulge your personal information to anyone unless specifically authorised by you.

If you need any further information, please contact us on tel: (27) 12-666-2020 or email info@incusdata.com

How can we help you?

Let us contact you about your training requirements. Just fill in a few details, and we’ll get right back to you.