Learning to Code All Over Again

If I had to learn code all over again, this is what I would do.

Learning to Code All Over Again
Photo by Fotis Fotopoulos / Unsplash

Are you just starting out learning software development? Have you started, but you're feeling stuck? Maybe this post could help you find a way forward that works for you.

Let's dive in!

Who Am I?

Hi there, coding friend! My name is Oren Cohen. I'm 35 and from Tel Aviv, Israel.

I've been writing code for the better part of six years in various programming languages, mostly Python. As a Backend Engineer, I write servers and software that supports the functionality of those servers.

Recently, I started learning front-end as well, and it's much easier now that I have a programming base to lean on.

How I Learned to Code

As a millennial, I went through the old way of learning to code and got a Computer Science degree. I learned to use various languages like C, C++, C#, Java, Scala, and more through the degree.

You'd think finishing the degree would mean I am ready to take on the world and build apps. That was not my experience at all. I knew how to solve problems - specific ones. But I did not know how to make things from scratch.

Starting to work as a software engineer brought me some practical experience that changed everything. I also learned Python from scratch while working as a QA Engineer. Only later, I started writing Business Logic.

Solving problems is an excellent way to learn to code, but it's time-consuming and prevents you from seeing the bigger picture.

I wouldn't recommend just sitting and solving problems all day.

How I Would Learn to Code All Over Again

The best way to learn is by working on projects. You don't write code to solve one problem - you write code to build something.

Want to learn lists, dictionaries, and functions? Write a to-do app.

Want to learn how to use variables and operators? Write a calculator.

Want to learn how to write asynchronous code? Build a server.

I would build projects and struggle to make them good. That way, I don't only have hands-on experience but also create a portfolio of projects to show to people.

One way that I'm helping developers start their journey on the right foot is by building a 30-day Python Programming Challenge! Sign up for my email list to get notified when it's ready :)