Getting Started with Coding

Published:6 min read

I remember the moment I fell in love with coding.

It wasn’t in a pristine lab or under the watchful eye of a computer science professor. It was late at night, in a tiny room with an aging laptop, flickering desk lamp, and a simple question that refused to let me sleep: How do computers understand what we want them to do?

What started as curiosity quickly turned into a calling. Today, with over a decade of experience as a Python developer, educator, and researcher, I’ve had the privilege of guiding thousands of learners into the world of programming. But if there’s one thing I’ve learned from my journey, and from mentoring others, it’s that getting started with coding is not just about learning syntax or choosing a language.

It’s about building confidence. Building purpose. Building something real.

In this blog, I want to walk you through how I, and countless others, got started, and how you can, too. This isn’t a checklist or a crash course. It’s a story. And if you’re reading this, you’re already part of it.

The Beginning: Why I Started Coding

When I was in graduate school, I spent most of my time immersed in research, poring over data, running experiments, and trying to make sense of patterns. But there came a point when spreadsheets and calculators weren’t enough. I needed something faster, smarter, and repeatable.

Getting started with coding

That’s when I stumbled upon Python.

I had heard of programming, of course. I even knew a few friends who could write lines of code that looked like encrypted gibberish to me. But Python was different. It read like English. It felt like logic.

My first real “aha!” moment came when I wrote a simple script to clean a messy CSV file of experimental data. In minutes, something that would’ve taken me hours was done. The thrill wasn’t just in solving a problem, it was in realizing that I now had superpowers.

This was the start of my coding journey, and it changed everything.

Step One: Adopting the Right Mindset

Before I wrote a single line of code, I had to rewire how I thought about learning.

Most beginners think they need to memorize commands or master a language before they can do anything. I thought that too. But the truth is: programming is not about knowing everything, it’s about learning how to think.

I adopted what I call the “Problem-Solver’s Mindset.” Instead of focusing on what I was coding, I focused on why. I asked questions:

  • What problem am I solving?
  • What’s the simplest version of this problem?
  • What tools do I need to solve it?

This approach made coding less intimidating and more like solving a puzzle. Every bug became a clue. Every crash, a lesson.

Choosing the First Language: Why I Picked Python

One of the most frequent questions I hear from beginners is, “What’s the best language to start with?”

While there is no universal answer, I chose Python, and I’ve never regretted it.

Python is known as a high-level, interpreted language that’s beginner-friendly. It has a clean, readable syntax and a massive community that constantly contributes tutorials, libraries, and tools. Whether you want to automate tasks, analyze data, build web apps, or even dive into machine learning, Python is up for the job.

It’s not just a language. It’s a gateway.

Pro tip: If you’re a beginner today, Python remains one of the best programming languages to start with. Its versatility and simplicity are unmatched for new learners.

Finding the Right Resources: Learning by Doing

Once I had chosen Python, the next challenge was finding the right way to learn it.

In my early days, I made the mistake of trying to read too much theory. I downloaded PDFs, bought a few books, watched countless videos, and yet, I wasn’t making progress. It was only when I started building that things clicked.

My advice to all beginners? Start small, start now.

Here’s how I recommend getting started:

1. Pick a Beginner-Friendly Course or Book

I started with “Automate the Boring Stuff with Python” by Al Sweigart. It’s still one of the best books out there for people who want to do something useful from day one. It’s project-based and teaches you while you build.

Other resources I later discovered and recommend:

  • Codecademy Python track
  • freeCodeCamp
  • CS50 by Harvard (for fundamentals)

2. Follow One Resource Until Completion

Don’t hop between 10 different tutorials. Pick one path and stick with it. It builds focus and prevents overwhelm.

3. Build Real Projects Early

I made my first project after just two weeks: a simple expense tracker. It wasn’t elegant, but it worked. And more importantly, it made me believe in my ability to code.

The Power of Projects: Turning Theory into Experience

There’s something magical about finishing your first project.

You go from someone learning to code to someone doing coding. That shift is crucial.

I’ve seen this transformation in students I’ve mentored at Learn to Coder. One student, Sarah, had never coded before. She started with basic Python scripts and within a month, built a “weather notifier” app using an API. Today, she works as a backend developer.

Here are some beginner project ideas I often recommend:

  • To-do list app (with file saving)
  • Dice roll simulator
  • Quiz game
  • Budget tracker
  • Weather app using API
  • Rock-paper-scissors game

Each of these helps you practice:

  • Input/output
  • Conditionals
  • Loops
  • Functions
  • Error handling

And every completed project boosts your confidence.

The Learning Plateau: What to Do When You Feel Stuck

Every coder hits the dreaded plateau.

For me, it came after 3 months of daily practice. I could write small scripts and solve basic problems, but building anything complex felt impossible. Tutorials no longer helped, and I wasn’t sure how to level up.

Here’s how I overcame it:

1. Switch from Passive to Active Learning

Instead of watching tutorials, I started asking questions. Why is this function written this way? What if I changed this part? What happens if I break it?

2. Read and Tinker with Open Source Code

I began browsing GitHub, cloning simple projects, and modifying them. It taught me structure, naming conventions, and how real-world code looks.

3. Join Coding Communities

I became active on Reddit’s /r/learnprogramming, started asking questions, and even answered some. Teaching reinforced my own understanding.

Remember: Getting stuck is part of the process. Growth begins when frustration meets persistence.

Building Problem-Solving Muscles

At its core, programming is applied problem-solving.

That’s why I encourage beginners to practice algorithmic thinking. I often used:

  • Leetcode (easy and medium problems)
  • HackerRank
  • Codewars
  • Advent of Code

But don’t get lost in solving puzzles. Use them as workouts, not goals. The real magic happens when you apply these skills to build tools, automate tasks, or contribute to projects.

One of my favorite exercises was writing a Python script that would rename all files in a folder according to a pattern. It sounds simple, but it taught me so much: working with files, error handling, and thinking through edge cases.

My Learning Stack: Tools That Helped Me the Most

Here’s what I personally used (and still use):

  • VS Code – Lightweight, beginner-friendly code editor with great extensions
  • Git + GitHub – For version control and showcasing projects
  • Python Tutor – For visualizing code execution
  • Replit – For running code in the browser (especially when on the move)
  • Jupyter Notebooks – For experiments, especially in data analysis and visualization
  • Discord + Reddit + Dev.to – To stay connected with others

Transitioning to Intermediate: Understanding the Bigger Picture

Once I got comfortable with syntax and basic problem-solving, I moved to larger goals:

  • Building CRUD applications with Flask
  • Using SQL databases
  • Learning object-oriented programming
  • Consuming REST APIs

Each step added a new layer of power. And each small win motivated me to aim higher.

My first big project was a task management web app. I built it with Flask, SQLite, and HTML/CSS. It had authentication, file storage, and a dashboard. It took me 3 weeks, and taught me more than any single tutorial ever could.

Teaching Others: The Final Step to Mastery

In 2015, I started “Learn to Coder”, a small mentorship program that later grew into a full-blown initiative. I mentored students from all backgrounds, accountants, artists, teachers, and even retirees.

The experience taught me a valuable lesson:

If you want to truly master programming, teach it.

Explaining concepts forced me to simplify, clarify, and understand at a deeper level. Many of the guides I write for DevsCall today are born from questions my students asked. Their confusion showed me where clarity was needed.

Final Thoughts: The Journey Never Ends

Today, I write advanced code, contribute to research, and guide others, but I still remember that flickering lamp and the sense of wonder I had when my first Python script worked.

That feeling never truly goes away. Every time I debug a stubborn bug, or launch a new tutorial, or mentor a new student, I’m reminded of how far I’ve come, and how far we all can go.

So, if you’re just getting started with coding, here’s my parting advice:

  • Start small, but start.
  • Pick a project you care about.
  • Stick to one language (I recommend Python).
  • Build. Break. Fix. Repeat.
  • Embrace the plateau.
  • Join communities.
  • Teach what you learn.
  • Most importantly: Enjoy the process.

Because learning to code isn’t just about getting a job or building an app.

It’s about unlocking a new way of thinking. A new way of solving problems. A new version of yourself.

And I promise, the journey is worth it.

Dr. James Anderson
Lead Author | Researcher | Mentor
DevsCall | Learn to Coder

Frequently Asked Questions

Related Articles

Sign-in First to Add Comment

Leave a comment 💬

All Comments

No comments yet.