Back to basics in 2026

Learning to code in the age of AI
Learning
Author
Published

January 26, 2026

A solution arrives for a long-standing challenge

Data science has always required a delicate balance when it comes to code. We need enough programming skill to query databases, clean data, and build models — but the programming was always secondary to the findings.

Many of us (myself included) don’t have formal computer science training. We’ve picked things up as needed, prioritizing insights over engineering.

For a while, AI felt like the perfect solution. It filled knowledge gaps, sped up tedious tasks, and helped produce more polished outputs.

Problem solved.

Right?

Here’s the catch

This solution creates a new problem.

When you ask an LLM to build something — and you don’t fully understand its building blocks — you have three options:

  1. Paste it in and see if it works
  2. Study each piece before using it
  3. Do some combination of both

I tend towards Option #2. Partly because I like knowing how things work, and partly because I worry about subtle errors producing inaccurate results.

There’s real value in that approach. It forces learning instead of brute-forcing prompts until something sticks. Ideally, it makes the next task easier because fewer questions are needed.

But it’s also exhausting.

This quote from a Kelly Vaughn Substack piece captures the feeling well:

If an AI tool saves you 30 minutes but leaves you mentally drained and second-guessing everything, that’s not productivity—that’s cognitive debt. And if you’re just filling those saved 30 minutes with another 30 minutes of less valuable work, you’re going to eventually resent your work.

I’ve heard people say they’ve “outsourced” most of their coding to an LLM, managing it like a junior developer.

That might work — if you’re already fluent in the language it’s generating.

But what if you aren’t?

An alternative path

I’ve noticed something in my own workflow.

The best use of LLMs is asking them to do something I already know how to do — just faster. When I understand the task, I can verify the output quickly. I know what “correct” looks like, and I can clearly see the time savings.

But when I ask it to do something unfamiliar, the experience changes. Reviewing code packed with unknown functions, patterns, and design choices can feel overwhelming — sometimes even anxiety-inducing.

So I’ve decided to shift my approach.

If AI is here to stay — and I believe it is — I want to strengthen the fundamentals in the languages I use most. Not to replace LLMs, but to use them better.

Strong prompts require clear terminology. Clear evaluation requires real understanding. If you don’t fully know what you’re asking for, how can you confidently judge the result?

My 2026 learning list

Here are the areas I’m committing to in 2026 — the skills I repeatedly wish I understood at a deeper level in my daily work.

I’ll learn through projects and update this post with what I build.

I don’t expect mastery across the board. But I do want solid fundamentals and then let AI tools amplify them.

That’s the plan.

Front End

Front-end development is a blind spot for many data scientists, yet it’s essential when presenting findings online in an engaging way.

1. HTML

The foundation of the web. Even basic knowledge helps troubleshoot rendering issues and customize framework components.

Projects:

2. CSS

If you want control over how something looks on a webpage, you need CSS. This year, I’m going beyond learning how to center a div.

Projects:

3. JavaScript

I recently started building visualizations with the Observable Plot JavaScript charting library — and I love it.

The problem? I skipped the JavaScript fundamentals.

This is the year I fix that.

Projects:

  • TBD

Database Management

SQL

SQL is a core skill that I use daily. Now I want to move beyond basic SELECT statements into stored procedures, functions, and deeper database concepts.

Projects:

  • TBD

Statistical Languages

R

R is the language I know best, but I learned it almost entirely through the tidyverse. Because of that, base R syntax still feels unfamiliar.

When collaborating with colleagues who prefer base R, I spend too much time asking a chatbot to translate code.

This is the year I fix that.

Projects:

  • TBD

General Programming

Python

Learning Python when you already know R is tricky. R already handles most of what I need.

Yes, Python can do more — but I don’t always need the “more.”

Still, LLMs often default to Python, and I’ve encountered enough situations where stronger fundamentals would have helped. I’m also curious whether Python can perform some of my common R workflows more efficiently.

It’s time to find out.

Projects:

  • TBD

Conclusion

This is a starting point. I’ll add more as the year unfolds.

I’m curious to see how deepening fundamentals — while continuing to use LLMs — plays out in my data science practice.

In my view, it’s not either-or.

It’s both-and.

Back to top