Mathieu Eveillard

JIT Learning

JIT Learning

Computer science is a constantly evolving field of knowledge: technologies advance at breakneck speed, so we must constantly learn. The fundamentals of software (architectures, methodologies, paradigms) evolve over longer cycles, but they, too, require us to stay up to date on a regular basis.

For us, as coders, this means we’re obligated to continually update our knowledge and never assume that simply knowing how to do the job is enough. It’s a high standard, whether we accept it or not. But accepting it can quickly make us feel like we’re chasing after a moving train, fueling the fear of being left behind, or even exacerbating our performance anxiety or imposter syndrome.

Consequently, it’s important to take a step back.

Technology is not an end

To follow this directive to the letter would be to make technology an end in itself when it should be nothing more than a means to an end. Technology is meant to solve problems; insisting on using a particular technology at all costs and then retroactively searching for a problem that would justify its use is a form of solutionism and does not bode well. If solving your problem does not require the use of LLMs (Large Language Models), there’s no reason you have to study them.

Of course, you can be interested in it simply out of curiosity, for the beauty of it, and that’s perfectly fine too.

Technology Monitoring vs. Learning

Alternatively, there’s the middle ground: taking only a superficial interest in the subject, with the goal of understanding what this technology enables and what its use cases are. And keep that tucked away in the back of your mind for when the need arises. This broad-based approach, aimed at scanning the widest possible horizon and positioning technologies relative to one another, is nothing other than technology watch.

This process must be clearly distinguished from a learning approach, which goes in-depth and focuses on a specific technology and its underlying architecture. It’s an investment you can only make very sporadically because it’s so significant—hence the need for thorough technology monitoring beforehand, to ensure you’re investing in the right area.

JIT Learning

With this distinction in mind, I devote most of my available time to tech watch and only embark on a learning process when one of the concrete problems I’m trying to solve requires it. Hence the idea of “just-in-time” learning, a reference to the Just In Time compilation—and in English, because it sounds better: JIT Learning.

We never stop learning. There is so much to learn that our choices must be guided by something—values, goals, a project, a product, I don’t know. We need a distinguishing factor to guide us, and from that guiding star, learning flows. Even with the greatest curiosity, I can no longer view learning as an end in itself.

← All posts