OOMP: Always Be Learning

By | June 10, 2026

If you aren’t learning, you are falling behind

The field is constantly moving. New languages, new tools, new processes. You don’t need to learn all of them, but keeping up with what changes is useful.

Work on code in your free time

The best programmers I know have spent a lot of free time working on code. Most of that never saw the light of day. That’s not easy for everyone, but it does help. Like many skills, programming benefits from practice. Even small amount of practice makes a difference.

You can’t just read about new skills or watch videos to learn. In order to actually learn the skills, you will need to use them. It’s better to try to learn new skills in a lower risk environment. That way, if/when you mess up, the impact is low. Honestly, while you are learning, making mistakes is part of the process.

Learn what changes in your field

Study new languages, paradigms, programming problems and puzzles. You don’t need to learn every new language, skill, or tool. But, keeping up with some of the changes in your field means you won’t be completely blindsided if your business changes.

If a new subject or language interests you or impacts your job, you should dig in further. If a subject or language doesn’t interest you, don’t spend a lot of time on it, even if people try to tell you that you will be left behind if you don’t learn it. Many times those technologies that everyone knows are going to be the future, don’t amount to anything in the long run. And if they do, you’ll be able to learn it later.

Learn things outside your field

Part of an programming job involves the mechanics and processes relating to designing and writing code. The rest of it is based on the particular business or problems you are writing code for. Learning about businesses and fields that you might want to work in helps with your long-term viability as a programmer.

Learning is a habit and a skill. Learning other things keeps those mental muscles exercised. Developing knowledge outside programming, or outside the kind of programming you normally work on can sometimes be helpful solving problems in ways you wouldn’t normally think of.

Read

This is a good way to keep up with various fields. Also reading helps you learn to recognize what good writing looks like. As you become more experienced, more of your time will be spent on documentation and explaining your code to others. Reading is a way to get better at the explaining part. If you need to write documentation, knowing what was useful to you will give you an advantage in writing for others.

Don’t experiment (much) in production code

Trying new stuff in production is risky. We would normally try to make small changes in production to reduce the possibility of changing expected behavior. The smaller the change, the less likely it is to break behavior.

The bigger the change, the more likely it is to change behavior. Experimenting or trying out a change that is not well-understood is also more likely to change behavior or break something. This is not a theoretical, any old maintenance programmer is familiar with this risk.

It’s possible to try something brand new in production without generating too much risk. The key is to make small changes in any system that it important. Obviously one large change is less risky than many large changes. Several small changes are less risky than one large change.

Of course the least risky way to experiment is to do it somewhere other than production code.

Practice fundamentals

Certain fundamentals of programming always apply. Practicing coding fundamentals in small, simple programs is a great way to make sure that those skills don’t atrophy. When working in large programs, it’s easy to lose track of fundamentals. Some of the worst mistakes in code come from simple, fundamental mistakes.

A large fraction of the security flaws reported in large systems have boiled down to memory problems, buffer overflows, off-by-one errors, and input validation. This should be surprising, because they are all fundamental practices. But, somehow they are missed repeatedly.

One way to improve your output is to improve your comfort with fundamentals to the point that you are less likely to make these kinds of mistakes. In fact, improving your knowledge of fundamentals can often keep you ahead of others who neglect that knowledge.

Teach, give talks

One of the best ways to improve your knowledge and skills is to teach others. The attempt to organize your knowledge of a topic and prepare to teach it, often helps identify the parts of your knowledge that are worth exploring further.

Having others ask about your knowledge is a great way to spot weaknesses in your understanding. I find that having someone very junior ask a really dumb question about something that I know helps to identify what I don’t know as well as I thought I did.

Often times answering questions for others gives new insight technologies you know. It may also give you a clue when the environment has changes so much that something you knew was true, isn’t true any more.

Leave a Reply

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