Field note · Careers in data

Don’t pick one. Main one.

“Python, SQL, or R?” is “which Pokemon is the best?” with a salary attached. Same answer: it depends on what you are facing, you carry a team, and you get one favorite.

A rock-paper-scissors cycle with three nodes. SQL beats Python at pipelines, Python beats R at glue, and R beats SQL at statistics. The arrows form a closed loop, so no node wins outright. pipelines glue stats SQL PYTHON R
Every ranking of these three closes into a loop. No square on the chart says “always wins.”

01  ·  The question

Start with the work you expect to do.

The useful question is which language you will use regularly enough to learn well. Your team’s codebase matters as much as a list of language features.

02  ·  SQL

SQL is worth learning whichever you choose.

SQL is central to warehouse analytics: transformations, BI queries, and the models behind a semantic layer. Even if you spend most of your day in Python or R, you will often need to read and change it.

Learning the syntax is only a start. You also need to understand grain, avoid joins that duplicate rows, and check whether the source data is ready to use.

03  ·  Python

Python covers a lot of the day-to-day work.

APIs, automation, notebooks, and machine learning give you plenty of reasons to choose Python. It is a useful main when your week includes several kinds of programming.

Check how your team deploys and maintains that work too. The language used for a prototype may differ from the one used to serve it.

04  ·  R

R is a strong choice for statistical work.

Forecasting, survival analysis, mixed models, experimental design, and spatial statistics are good reasons to learn R. If those occupy much of your week, it may be the most useful language to know well.

Before planning to port an analysis, check how it will be maintained. Translating the code also means checking that the results still agree.

05  ·  The type chart

Pick by the battle you fight every week.

Effectiveness by job. Three dots means reach for it first.
Job SQL PY R
Production pipelines 3 of 3 2 of 3 1 of 3
BI and self-serve 3 of 3 1 of 3 1 of 3
Glue and automation 1 of 3 3 of 3 1 of 3
ML in production 1 of 3 3 of 3 1 of 3
Forecasting and stats 1 of 3 2 of 3 3 of 3
Research and prototypes 1 of 3 2 of 3 3 of 3

My chart, from my seat. Redraw it for the jobs on your own calendar, then read off the column with the most weight.

06  ·  The party

Three on the belt. One you actually send out first.

Six party slots. Three are filled with SQL, Python, and R, the SQL slot carries a star marking it as the main, and three slots are still empty. SQL PY R
The empty slots are the point. Something else is coming.

There is a difference between reading a language, changing existing code, writing your own, and maintaining it in production. For warehouse analytics, I would aim to maintain SQL and your main language confidently, and be able to read and adapt the third.

07  ·  What transfers

Syntax was always the cheap part, and gen AI made it cheaper.

Understanding grain, joins, sampling, and what a number means will help you in all three. Learn those while working in a language you use regularly.

The rule

Main the language your week is made of.

For analytics work, learn SQL alongside your main. Keep the third familiar enough to read and adapt.