Learn Programming While AI Already Does It
The Question That Dominated Our Office This Week
This week, an intern worked with us who wanted to learn programming. Eventually, the question arose that almost everyone asks when thinking about this profession: Is it still worth it, given that AI writes the code itself?
Yes, and not as a consolation prize.
I work daily with language models, and they write code for me every day. What they cannot take away from me is the decision of whether the result is good enough. That is where the profession lies now. Those who can judge what a model outputs will succeed very quickly. Those who cannot judge it produce something that looks like competence, and only realize the difference when something breaks at 3 a.m.
A Number Can Look Strong Without Being Strong
P@ssw0rt! has nine characters from all four character classes. If you plug that into the usual entropy formula, you get 59 bits, and 59 bits are considered decent.
In truth, this password is cracked after a few hundred guessing attempts. It's not a coincidence, but a dictionary word with substitutions that every attacker knows. The formula didn't compute anything wrong; it was just applied to something it doesn't apply to. You can't blame the result for that.
Generated code reads the same way. Cleanly formatted, with type annotations, nicely commented. Whether it is correct is not determined by its appearance, but by whether you spot the place where it is wrong. In Python there is a teaching example for that:[[0]*10]*10 produces no ten-by-ten board, but ten copies of the same line. If you change one field, ten change at once. A good model usually writes that correctly. If it doesn't do that once, you only find the error if you know it exists.
Every beginner experiences the second example once. You ask a model how to install a library, and you getpip install pygame, you type it in, and at startup it still appearsModuleNotFoundError: No module named 'pygame' The answer was not wrong. It just didn't match your machine, because there are multiple Python installations side by side and the package landed in the wrong one. A model can't know that, because it doesn't see your machine. You know it as soon as someone explains what a project environment is. Without that explanation you ask three times, get three plausible answers, and make no progress.
That is my entire argument. AI shifts the work from typing to judging, and only those who have worked through the fundamentals themselves can judge. No pain, no gain, which applies here quite literally.
What Is Created in Three Days
The course consists of three documents. One sets up the computer, two are day courses with a fixed schedule, milestones, and review questions after each section.
| Document | Duration | What you end up with |
|---|---|---|
| Set up Python, uv, and an editor | 20 to 30 minutes | A computer on which Python runs |
| Battleship with Python and Pygame | One workday | A graphical game with an opponent AI |
| Crack Me, the password powerhouse | One workday | A program that hunts passwords through three stages of attack |
Both day courses are games, and that is no accident. A game provides immediate feedback. A window opens or it doesn't. The click lands in the right box or two boxes beside it. This feedback replaces the instructor looking over your shoulder.
Both courses share the same house rule: the game logic knows nothing about the graphics. In the morning, you build a program that is fully playable in the terminal, and only afterward does the interface come into play. Anyone who has built this once understands the rest of their professional life why business logic and presentation must be kept separate.
In the Ship Course, the opponent advances through three levels. The first level averages 96 shots per 100 fields. The third calculates, for each field, how many possible ship positions it could occupy, resulting in 45. This difference is not a programming technique, but statistics. This is precisely the moment when it clicks for most people.
Who This Is For
You should bring Python basics: variables, loops, lists, simple functions. Everything else is covered in the documents. You should never have opened a terminal; the system setup handles that and also explains the difference between a terminal, Python console, and file. This sounds trivial and is the most common cause of puzzling error messages in the first week.
The courses are written for a one-day session with guidance but work independently. The solutions are not included, only scaffolds withTODOmarkers and the corresponding check questions. This is intentional: a scaffold that you fill yourself sticks. A finished solution that you copy does not.
What is not stated here, I also do not say: This is not training. Two days do not make anyone a developer. They are sufficient for the point where you realize whether you have what it takes, and they are built exactly for that.
The materials were created for exactly one intern. The reason they are here is simple: Anyone who spends a day with someone who wants to learn programming can take and use them. The check questions after each milestone are written for the accompanying person, not the learner, and the guidance notes in the appendix explicitly state when you should not yet help.
Where to Start
With the system setup, regardless of which of the two courses you take afterward. It takes half an hour, runs on Windows, macOS, and Linux, and afterward the computer is ready for everything that comes next.
And if, after the password course, you want to know which other things in IT only appear to be secure: that is the right question. It is the reason this profession still exists.