Sammy John Rawlinson

Learning to Code: Why you should learn to drive (your computer) first

2025-02-17

Learning to Code: Why you should learn to drive (your computer) first

Learning to Code: Why you should learn to drive (your computer) first.

Imagine you've just bought a sleek, powerful sports car. You're excited, ready to hit the road, and immediately... stall the engine. Repeatedly. Because while you may have the car, you haven't figured out how to drive it yet.
Learning to code without understanding how an operating system works is a lot like that. You can pick up a programming language, but if you don't know understand the system that it runs on, you'll constantly stuggle with setting up environments, troubleshooting errors, and keeping your development workflow smooth.
So before you floor the gas pedal on python, javascript or c#, lets take a step back and learn how to drive the computer first- starting with its operating system.

Why Focus on Windows?

Windows is the Ford of operating systems - everybodys used it, its reliable and whilst it has its quirks (Forced Updates) its regarded as one of the most user friendly and familiar operating systems. Its extensive adoption in personal and proffesional settings makes it an excellent starting point for beginners. Mastering Windows is like learning how to drive an automatic car before jumping into manual (Linux) and feeling the pure power and freedom at your fingertips.

The Problem with Traditional IT Courses

Most introductory IT courses feel like they are prepping you for an exam or pop quiz than the real-world. Broadly covering topics like IT Systems, Networking and general computer concepts, it feels like being back in high school. Whilst they are important it is disconnected from the hands-on experience needed. It feels tedious and doesn't provide practical insight that makes learning exciting and relevant. The reason we choose IT is to work with computers not read text books.

In my experience, I gained far more by assembling and disassembling PCs, installing operating systems, and building my own computer than I ever did from theoretical lessons. Take on setting up a home network if you want to understand networking, not the typical Builiding A has 7 computers in Auckland and Building B in Christchurch has 12 computers what network and systems should they use (I don't care). How do I get my computer talking to my TV, Laptop, Mobile Phone, Dishwasher, Fridge ...... (the list goes on these days) thats more practical skills. Breaking things and trying to fix them is for me a better way of learning, how do learn to change a tyre? 30-slide powerpoint or actually changing one.

The Benefits of Learning Operating Systems

Understanding operating systems goes beyond knowing how to use a computer. Learning how to manage files, configure settings and essential tools like command line, which is a must-have skill for any developer.


Here are some key benefits:

  1. System Maintenance and Optimization
    Ever had a program crash, your Wi-Fi stop working, or your system slow to a crawl? Instead of turning off and on (Which works 90% of the time and is the most important skill to have) you'll understand why the other 10% is happening and how to fix it.

  2. Stronger foundation for Coding
    Your operating system handles memory management, process scheduling, and file systems - all things your code interacts with. If you understand how they work, debugging and optimizing programs becomes much easier.

  3. Practical Problem-Solving Skills
    If you've ever installed Windows from scratch, recovered lost files, or dealt with an unbootable system, congratulations- you've already had a taste of debugging. Fixing system errors teaches you critical thinking, troubleshooting, and patience, all of which are essential for coding.

Resources for Learning Windows

Here are some recommended resources to help you get started:

  1. Microsoft Learn: Free, official tutorials on Windows and IT Fundamentals.
  2. Books: Windows Internals by Mark Russinovich and David Solomon provides in-depth insights into Windows Architecture to go full nerd.
  3. Online Courses: Platforms like Udemy and Coursera have beginner-friendly courses on Windows operating systems
  4. YouTube: Explore channels like Chris Titus Tech for hands-on tutorials and tips on using Windows effectively.
  5. Forums and Communities: Engage with communities like Stack Overflow or Reddit

Quick Guide: Steps to Learn Windows

  1. Explore the Interface: Click around! Familiarize yourself with File Explorer, Control Panel, Task Manager, and Settings.
  2. Command Line Basics: Master basic commands in Command Prompt and PowerShell (because real programmers type commands like wizards)
  3. Install and Configure Windows: Practice installing Windows on a virtual machine or a spare PC to understand the setup process.
  4. Dive into System Tools: Experiment with tools like Event Viewer, Disk Management, and Resource Monitor.
  5. Understand User Management: Learn how accounts, permissions, and security settings work in Windows.(Note to all never set up a user with a space between words, a world of hurt is coming your way)
  6. Experiment with Customization: Optimize system settings for better performance, learn how to fix common issues, and maybe even tweak things for fun.

Final Thoughts

Starting your coding journey by mastering operating systems might seem uncoventional, but it's a highly rewarding approach. Windows' accessibilty and familiarity make in an excellent choice for beginners. By building a strong foundation in operating systems, you'll not only enhance your technical skills but also set yourself up for success as a software developer. Embrace the challenge, and watch your coding journey flourish.