5 things I wish I knew before I learned to code
Tags: learntocode, learning, programming, coding
Published: 2024-03-21 09:52:47

> I'm Fahim, a software developer turned tech founder. This article is part of my series: **The Developer’s Launchpad**. I'll share my top lessons, hacks, and best practices for learning how to code and launching a new career — things I wish I would've known earlier in my journey. If you're starting out your own coding journey, this series is for you.

I learned to code 20+ years ago. While a lot has changed in the tech industry, the important things about learning to code remain the same. For instance, you still need hands-on learning, a growth mindset, and discipline to succeed. 

To help you on your coding journey, here are a few things I wish I knew before I learned to code. 

# 5 things I wish I knew before learning to code

## 1. You already possess the most essential developer skill.


![](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wap1071y2w9is5pm0xvv.png)

You may have been told that programming is hard. 

Most new skills are hard when we're just starting out with them. But learning programming is actually easier than you might imagine because **the most essential developer skill is already in you**.

At its core, programming is **problem-solving**. Whether you're coordinating a group activity or deciding what to substitute in a recipe, **you're already solving problems daily**. (The only difference with programming is that you're instructing the computer to solve the problem for you.) 

## 2. Start with learning logic skills.


![](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5la8h0exfaz7mrq0ja64.png)

**You can't build a stable house without a foundation**. Similarly, you can't build a programming career without strong logical thinking skills.

Underneath the programming languages, their syntax, algorithms and data structures, logical thinking is the foundation of programming. To effectively solve problems, you'll need to be able to break down solutions into steps.  

[Logical thinking skills](https://www.educative.io/blog/how-to-learn-logical-reasoning?utm_campaign=brand_educative&utm_source=medium&utm_medium=text&utm_content=&utm_term=&eid=5082902844932096) happen to be why people with a background in math or philosophy tend to thrive as developers. However, a lot of us need to train ourselves to get into the right mindset. Turning problem-solving approaches into step-by-step solutions might not come naturally to you at first, and that's ok. You'll get better at it over time.

It's worth investing in your logical mindset now before you move too far ahead. 

## 3. You will get stuck… and you need to keep moving.

I've also seen many people quit coding when they get stuck for the first time. 

Just like injuries in marathon training, getting stuck and hitting roadblocks is part of learning how to code. Most marathon runners would view a training injury as a small bump in their long journey. They would tell you they expected it to happen. 

Similarly, you should **expect to get stuck** when you're learning programming. 

When you get stuck, don't quit. Don't make a mountain out of the molehill by telling yourself that coding is for you. Even the best programmers in the world got stuck at some point. The difference is that they didn't give up. 

Take a breath, identify your roadblock, Try talking your problem aloud with someone else — or better yet, just sleep on it (yes, that's what we recommend doing when you're stuck in the programming world). 

## 4. You don't have to go to school to learn coding.


![](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0u56gaa02gs9u0zurxfh.png)

Many software engineers got their jobs after a 4-year degree (myself included, and I'll be writing later about whether it was worth it). Don't get me wrong, getting a degree was an amazing experience. 

But one of the great things about becoming a developer is that you don't need a formal education to start a coding career. In fact, I know various CEOs and tech leaders who do not have a college degree. 

As long as you have access to the right resources, funds, or the internet, you can use various avenues to learn to code — from [coding bootcamps](https://www.educative.io/blog/what-is-a-coding-bootcamp) to **self-guided online courses**.

## 5. Get hands-on with the theory.
Both theory and hands-on practice are important. 

But one of the worst things you can do when you're learning programming is to focus too much on theory without applying it with hands-on practice. It's almost too easy to spend your time on the theory if you find it interesting! But you can know everything about a topic from a textbook, and still be completely lost when you're looking at a coding problem. 

As you learn, find tutorials or [build projects](https://www.educative.io/blog/projects-launch-announcement-build-your-portfolio) that help you apply and internalize your new skills. It might feel scary at first, but coding as you learn is essential to helping you retain and have a dynamic understanding of new concepts. 

# Start today. You won't regret it.


![](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jud9237skusfgsdkp9nh.png)

You've probably heard that software engineers are compensated handsomely. This is true, but there's so much more to gain than that. 

Software engineering is an **incredibly satisfying** career. You can use your skills and creativity to solve problems and create tangible products.

Furthermore, you can create solutions that could **touch the lives of billions of people**. You might create tools to help blind people use their cellphones, or even write software for explorers that will land on Mars or the moon. These are the kinds of possibilities that excite me (I even get goosebumps thinking about it).

Whatever you do with your career, make sure to choose learning resources or programs that are **right for you**. 

If you're looking for an online platform to guide or supplement your learning, we have various beginner-friendly resources at Educative. 

My brother and I created Educative to serve developers who, like us, were eager for a learning platform that didn't require us to scrub through videos or toggle between our browser and IDEs to start coding.

We built Educative around our learning philosophy that new skills are only strengthened through hands-on application. That's why you can code as you learn right in your course browser with an in-course coding playground.

Aligned with the ideals we discussed today, we take a sequential approach to helping you learn to code. First, you'll build your logic skills to think like a programmer, then you'll learn a language and apply it to solve **real-world problems**.

You can explore our beginner courses, Skill Paths, and projects here: [Learn to Code with Educative](https://www.educative.io/learn-to-code?utm_campaign=learn_to_code&utm_source=medium&utm_medium=text&utm_content=&utm_term=&eid=5082902844932096). 

_Happy learning!_