#12 — Learning CS has never been so easy (and fun)
Yeah, change is scary, but we're technologists
This developer inspired me for this week's post title, and ultimately, for those who know how to interact with AI on a technical level (knowing what to ask, knowing when an output is useful or just an illusion, etc) and have the patience to do it right, we're living through a fantastic moment:
It takes deep understanding and experience to know when something is actually helpful or just the illusion of a solution, and even devs can be fooled by those long blocks of clean code and shiny reactive buttons. "But AI will just teach me what I need to know!" - Yes! And with a lot of careful trial and error you, too, will become a developer. AI can certainly make learning easier, but the more you neglect learning foundations the longer you will spend wandering The Land of Large Language Illusions.
AI has so much amplifying ability for the person who knows what to ask. There are so many great new tools, and so many terrible ones that sound great on paper. Can you spot the difference? Even the good tools can be extremely frustrating when they always seem so close to giving you what you want but are never quite there. It's a fantastically fun time to build things, for those with the patience to do it well.
Learning has never been easier- you can now consult an oracle that knows every language and has memorized all of StackOverflow. So it bothers me that all we can talk about is how grim the future is for software developers, discouraging students and shuttering talent pipelines, when such talk might be killing off talent precisely at the moment when it is easiest to learn, most productive to use, and more important than ever to have humans holding the reins.
🔍 Resources for Learning CS
→ A Periodic Table of System Design Principles
Visualize system design with this periodic table of core concepts – databases, caching, load balancing & more. A helpful guide for anyone building scalable systems or charting a learning path.
→ What Netflix Teaches Us About DePIN Infrastructure
Curious about how much work, resources, and involvement go into building, scaling, and operating a full-featured DePIN livestreaming platform?
Check out this Netflix TechBlog post.
→ Finding the Hook in Hard Topics
Adit, author of Grokking Algorithms, likes to make hard topics easier to understand by using pictures. DuckTyped is his substack about software topics that interest him with illustrated explanations for things that some may find too technical or tedious to learn, such as AWS networking. I really enjoyed looking at hard topics and finding the hook that makes it interesting. When you first understand a hard topic, it's such a great feeling. I hope you get that feeling reading this.
Two good bites from the industry
→ Do you know Vercel's story?
It's a startup valued at over 9 billion dollars with a frontend cloud platform that greatly simplifies the deployment and scaling of web applications (like my own website). They're growing tremendously thanks to the rise of GenAI applications and they already have a long track record of over 10 years. Their founder is Argentinian, his name is Guillermo Rauch, and he has a really powerful message. I recommend listening to him on Jack Altman's podcast (yes, Sam's brother).
→ What Devs Really Want
Adam Stacoviak and Jerod Santo from Changelog dig into Stack Overflow’s 2025 developer survey results. They discuss SO’s decline, the desire for younger devs to have real chats with real people (because we are social by nature), the rise of uv and more Python winning, why people are frustrated with AI, and more.
Why LLMs Are Like Guessing Words from Pictures
What an interesting read from ETH Zurich. I liked the top-down parallelism of reading with LLMs in CS because learning is much easier (and more fun, as I say in today's title) with LLMs, but that doesn't mean it's always desirable because, as the article says, it creates a false perception of one's own abilities. We shouldn't demonize the tool; what we need is education and self-education, and the analogy at the end is very good: using LLMs as shortcuts is counterproductive.
Some great quotes from Sverrir Thorgeirsson, whom I met in Koli last November:
For computer science, there’s an opportunity to learn from what other subjects have arrived at.
From these past discussions, we can gain insights into how to use LLMs as part of how we’re teaching computer science nowadays.
Access to tools like ChatGPT lets you solve a problem without understanding the building blocks or basics first. This leads to a false sense of your own abilities.
The idea that we can teach people to read just by having them pick it up naturally doesn’t work. It’s not how our brains are wired.
I believe that approaches where students first come up with a solution themselves are more effective. Then, an LLM could provide personalised feedback, highlight the strong points and suggest what is missing.
Using LLMs as shortcuts for learning programming can sometimes be like teaching reading by guessing words from pictures: it feels productive until the context changes. And then understanding collapses.
Respect Your Students—Make It Hard
Today I want to share a spanish column by Enrique García-Máiquez about excessive paternalism toward young people. It's brief and easy to read, though demanding in its proposal. I think it's very timely to put into practice from the start of the academic year at any university where you teach. I'll do my best to translate the parts I found most interesting (if you know spanish, I highly recommend reading the whole thing here):
We believe we need to simplify what's complex for them, lighten what's profound, hollow out what's dense. Respect your students—don't make it easy for them. Something so insignificant won't manage to inspire anyone. Least of all those who understand it, who will be, yes, many more, but worse off, because they'll also understand that there's very little substance there.
This is accompanied by constant flattery. We make things easy for them and, on top of that, we applaud the bare minimum way too much.
Young people urgently need our respect. Life is an adventure, and any adventure without difficult tests and hard trials is not an adventure: it's a field trip or a video game. Let's propose high ideals, demanding studies, enriching readings. Let young people take pride in themselves. The best ones will rejoice, and those who aren't there yet will become better, and they'll rejoice too.
🔍 Resources for Teaching in CS Education
→ How to build rapport in a large course
In this teaching practice byte (TPB), Kristin talks to William G. Griswold about his teaching practice Meet the Professor, where he has short, small-group meetings with every student in his 200+ student course. Bill originally shared this practice as a SIGCSE Technical Symposium 2024 experience report. In this conversation, they discussed how the practice fosters engagement, why group meetings proved better than one-on-one, how such connections are increasingly valuable as AI tools reduce traditional social interactions, and Bill's latest updates and reflections on the practice since his experience report.
→ The Big O Guide I Wish I Had in College
If you want to teach Big O Notation, this is a really good interactive guide. Not only is it explained in a super simple way, but it also lets you interact with the page so you can visualize each definition. I would have paid money to have such a clear and simple explanation back in my college days.
→ Teaching Dev with AI
Take a look at this new course Austin Henley is teaching with Andrew Begel where they apply the latest and greatest AI dev tools to all aspects of development.
→ Make beautiful isometric infrastructure diagrams
An open source resource for those professors who need to create a quick isometric diagram of infrastructure or software but don't want to wrestle with heavyweight design tools. Runs entirely in the browser and works offline.
🌎 Computing Education Community Highlights
Aman Manazir is hiring a Curriculum Manager for his new company Software Engineering Accelerator! Application Link
SIGCSE is in need of a junior Posters Chair for SIGCSE 2026. The commitment is for 2 years, so if you volunteered for this position then you would be the senior Posters Chair for SIGCSE TS 2027. If you are interested, please email chairs@sigcse2026.sigcse.org to indicate your interest.
Stefania Druga has been working on this new series of video conversations and articles on AI Literacy for families together with Ksenia Se (founder of TuringPost and mother of 5). Episode 2 focuses on how the words we use to talk about different forms of AI shape young people's perception of AI intelligence and, by extension, their expectations of how to use it or co-create with it.
Juno AI, a UNSW spinout backed by Australia's Economic Accelerator, is hiring a Machine Learning Engineer to build safe, sovereign AI for learners. The role offers access to sovereign and cloud HPCs for model training, startup dynamics within a university setting at UNSW's Kensington campus, and negotiable terms including equity.
King's College London's NMES Outreach team is offering a free online autumn program for UK girls interested in computer science and AI. The program provides opportunities to study cutting-edge AI research with world-leading experts, organized by the Faculty of Natural, Mathematical & Engineering Sciences.
The Human-AI Experience team at JetBrains is running a new study to understand how developers want to customize their AI tools for software development, from how it writes code, to how it talks, what it remembers, and how it fits into its workflow. Whether you love tweaking every setting or just use the defaults, your input will help us build more flexible, developer-centered tools. Take the survey (~15 min). As a thank-you, you’ll be entered into a raffle to win either a $50 Amazon Gift Card or a 6-month JetBrains All Products Pack. One winner will be drawn for every 50 participants. You can also choose to volunteer for a follow-up conversation.
🤔 Thoughts For You to Ponder…
I loved this! Ultimately, the author of this article (Alex Kondov) doesn’t care about how the code got in our IDEs. He just wants us to care. To care about quality, to care about consistency, to care about the long-term effects of our work:
Because no one would write an HTTP fetching implementation covering all edge cases when we have a data fetching library in the project that already does that. No one would implement a bunch of utility functions that we already have in a different module. No one would change a global configuration when there’s a mechanism to do it on a module level. No one would write a class when we’re using a functional approach everywhere.
Don’t leave a codebase’s maintainability to the weights of a model.
This metaphor by Geoffrey Litt perfectly captures the distinction between delegating tasks to AI systems and augmenting the capabilities of human experts:
When pilots just want the plane to fly straight and level, they fully delegate that task to an autopilot, which is close to a “virtual copilot”. But if the plane just hit a flock of birds and needs to land in the Hudson, the pilot is going to take manual control, and we better hope they have great instruments that help them understand the situation. In other words: routine predictable work might make sense to delegate to a virtual copilot / assistant. But when you’re shooting for extraordinary outcomes, perhaps the best bet is to equip human experts with new superpowers.
Charlie Graham also gave his opinion on junior roles:
Having spent the last year deep in the AI-rena, building products with Claude Code/Cursor, using tools like Ideogram, Midjourney, and Creatify for content creation, and watching how my company’s needs have changed, I think this narrative is overplayed. Junior roles aren’t going to die. They’re going to transform.
On a related note:
Finally, we must guard against brain atrophy. We can’t let the tool do all the thinking. Use AI as an accelerator, a tireless research assistant, and a pair programmer, but never as a replacement for your own curiosity and ingenuity.
And this from Martin Fowler is very true too:
I’ve often heard, with decent reason, an LLM compared to a junior colleague. But I find LLMs are quite happy to say “all tests green”, yet when I run them, there are failures. If that was a junior engineer’s behavior, how long would it be before H.R. was involved?
📌 The PhD Student Is In
→ My Open Door for CS Students
Had very productive conversations this week with Gonzalo Arbex from Spain, who is starting his CS journey at the same university where I studied, and colleagues from my Cloud Computing class. Whenever my schedule allows, I enjoy these types of calls with CS students and graduates to discuss career growth and landing their dream job or internship. If you're one of them, feel free to reach out to me—I'm usually available Fridays from 9AM-12PM (Houston time).
→ My Week with Claude Code
I've been using Claude Code for a project this week. I found this guide useful, where teams from data infrastructure, product development, security engineering, data science, growth marketing, and more share how they use the tool internally. At the same time, I've been doing a lot of EDA for a project and have found the combination of Google Colab and Gemini with Python very productive.
→ Frontend Fun
This past weekend's fun project? A migration of my blog and a complete redesign. Dude, I could spend hours doing frontend stuff—it's so much fun. I'll be migrating all the content gradually—for now, there's only the post from my conference in Finland last year. And for the Stuff section, I added my current hardware setup, the Koli talk, and books that have influenced me.
🪁 Leisure Line
I was on Broadway on the Hill for the first time. I enjoyed this spectacular evening a lot, listening to some Houston-born Broadway stars performing popular musical theater hits.
On Wed the 3rd, I turned 31 🥳 We did apple pie at home to celebrate (and sang Broadway hits). I also brought pastries from my favorite bakery in Houston to the lab: Magnol French Baking.


If you want to give me a gift, tell me in the comments something cool you’ve discovered lately: a book that got you excited, a movie or series that blew your mind, a newsletter that never leaves you indifferent, or a podcast you always look forward to listening to. Thanks for everything, Substack community.
📖📺🍿 Currently Reading, Watching, Listening
This documentary is a must-watch if you have any interest in Python whatsoever. The filmmakers from Cult.Repo did a fantastic job.
It was so exciting to see these two founders talking after 10 years of Platzi.
I was lucky enough to be part of the team for a while in Bogotá and go through YC (as part of the team). What an experience. I liked what Christian Van Der Henst, one of the co-founders, said here:
This is the year I've been most surprised by how the way I communicate with a computer and how I consume technology is changing. What's happening scares me, but I remain very optimistic because we are creators.
And that's what I'm working on: Human-AI and LLM applications in computing education.
Quotable 💬
Each of you should use whatever gift you have received to serve others
― 1 Peter 4:10
That's all for this week. Thank you for your time. I value your feedback, as well as your suggestions for future editions. I look forward to hearing from you in the comments.
Quick Links 🔗
🎧 Listen to Computing Education Things Podcast
📖 Read my article on Vibe Coding Among CS Students
💌 Let's talk: I'm on LinkedIn or Instagram