SE Fundamental

10 Things I Wish Someone Had Told Me Before I Started Coding

10 coding things img
Table of Contents

Most people who quit coding do not quit because it is too hard. They quit because nobody told them what the first year actually feels like, so when it feels bad, they assume it means they are not smart enough.

It does not mean that. Here are the ten things I wish someone had sat me down and explained before I wrote my first line of code. Each one comes with something to do, not just something to feel.

Who this is for: anyone about to start, anyone stuck in month three, and anyone who has watched a lot of tutorials and still cannot build anything alone. That last one is the most common, and it is fixable.

The Curve Nobody Draws for You

Before the list, look at this. Almost everyone expects learning to code to be a steady climb. It is not. There is a long middle stretch where you know enough to see how much you do not know, and that is exactly where people give up.

high low confidence time spent learning → what you expect “this is easy!” first tutorial works “I am terrible at this” most people quit here you build something alone it compounds

The dip is not a sign you chose the wrong career. It is the part where you stop copying and start thinking, and thinking is slower than copying. Everyone who codes professionally walked through that dip.

The 10 Things

1

You do not need to know everything to start

I thought I had to finish an entire language before writing anything real. That is like refusing to speak a word of English until you have memorised the dictionary. You need enough to build one small thing: variables, conditions, loops, functions. That is a week, not a year.

And yes, professional developers search for things constantly. Looking something up is not a gap in your knowledge, it is the job.

Do this: learn only variables, if/else, loops and functions. Then build a program that asks for your name and prints a greeting. Start today, not after the course.
2

Tutorial hell is real, and it feels like progress

Watching someone else code is enjoyable and produces almost nothing. Your brain registers “I understood that” and mistakes it for “I could do that”. Those are completely different skills.

The test is simple. If you have watched twenty tutorials and still cannot build a small project with a blank editor in front of you, you are not learning, you are watching.

Do this: after every tutorial, close it and rebuild the same thing from memory. You will get stuck. That stuck feeling is the actual learning.
THE LOOP watch a tutorial feel behind feel smart build nothing the way out CLOSE THE TUTORIAL Open a blank file. Rebuild it from memory. Get stuck. That is the point.
3

Errors are clues, not judgments

My first error message terrified me. Red text, line numbers, words I did not recognise. It felt like the computer was telling me I had failed.

An error is the most helpful thing a computer ever says to you. It tells you what went wrong, in which file, on which line. Learning to read one calmly is genuinely one of the highest-value skills in this whole craft.

Do this: next time you see an error, read it out loud, bottom line first. Then paste it into Google in quotes. Someone has had it before.

Here is a real error, taken apart:

Terminal
TypeError: Cannot read properties of undefined (reading 'name')
    at showUser (/home/you/app/user.js:14:21)
    at main (/home/you/app/index.js:7:3)
The partWhat it is telling you
TypeErrorThe kind of problem: you used a value in a way its type does not allow.
reading 'name'The exact thing you asked for. You wanted .name from something.
of undefinedThe real cause. That something does not exist. The bug is not name, it is whatever should have held it.
user.js:14The file and line. Start here, not at the top of the file.
user.js  —  the fix
// Line 14, before: crashes when no user was found
console.log(user.name);

// After: check first, then use it
if (user) {
  console.log(user.name);
} else {
  console.log('No user found');
}

// Or the short version
console.log(user?.name ?? 'No user found');

And when the message means nothing to you, this is the move:

🔍 Google● ● ●
“Cannot read properties of undefined” javascript
stackoverflow.com › questions
What does “Cannot read properties of undefined” mean?
It means the variable you are reading from is undefined. Check that it was assigned, and that any function returning it actually returned something…
✓ 2,840 votes · asked 11 years ago

Search the error message in quotes, without your own variable names. Someone asked it years ago (illustration).

4

You will feel like you are bad at this, often

The original list left this one without a name, so here it is: it is called impostor syndrome, and it does not stop at beginner level. Developers with ten years of experience feel it when they open an unfamiliar codebase.

Feeling lost does not measure your intelligence. It measures how new the thing in front of you is. Those are different numbers, and only one of them matters.

Do this: keep a “done” file. Every day write one line about what you built or fixed. On the bad days, read it. Memory is unreliable; the file is not.
5

Copying code is not cheating

Copying to understand how something works is normal and professional. Developers do it every day. The mistake is stopping there, with working code you could not explain.

The learning happens in what you do next: change a value, break it on purpose, see which part of the screen goes wrong, then fix it. That loop teaches more than reading the code ten times.

Do this: after pasting any snippet, change three things in it and predict what will happen before you run it. Being wrong is the lesson.
Try it: copy this, then break it on purpose
function greet(name, hour) {
  if (hour < 12)      return `Good morning, ${name}`;
  if (hour < 18)      return `Good afternoon, ${name}`;
  return `Good evening, ${name}`;
}

console.log(greet('Hina', 9));   // Good morning, Hina

// Now change three things and guess the output first:
// 1. swap the two if statements around. what breaks, and why?
// 2. delete the word "return" from the first line. what comes back?
// 3. call greet('Hina') with no hour at all. what happens?
6

Pick one language and stay with it

Jumping between Python, JavaScript and Java in your first month does not make you versatile, it makes you permanently a beginner three times over. The hard part of programming is not syntax, it is learning to think in steps. That transfers between languages. Switching early means you keep restarting the easy part and never reach the hard part.

Do this: pick by what you want to build. Websites, so JavaScript. Data or automation, so Python. Then do not switch until you have finished two real projects.
If you want to buildStart withWhy
Websites and web appsJavaScriptIt runs in every browser already. You can see results immediately.
Automation, data, AIPythonThe simplest syntax to read, and huge libraries for anything data-shaped.
WordPress or client sitesPHPIt runs a very large share of the web, and freelance work is plentiful.
Mobile appsDart or KotlinFlutter for both platforms at once, Kotlin for native Android.
7

Projects matter more than certificates

Nobody has ever hired someone because they completed fourteen courses. They hire because they looked at something you built and thought “this person can do the work”.

Start smaller than you think. A to-do list. A calculator. A single page about something you like. Finished and plain beats ambitious and abandoned, every time.

Do this: finish one tiny project this week and put it online, even if it is ugly. A finished small thing is worth more than three half-built impressive ones.
Project 1 · this weekA personal page: your name, what you are learning, three links. Teaches HTML and CSS and gets something online.
Project 2 · week 3A to-do list that adds and deletes items. Teaches arrays, events and updating the page.
Project 3 · week 6Something that fetches data from a free API, like weather. Teaches fetch, JSON and handling errors.
Project 4 · week 10Something only you want to exist. A tracker for your own habit, a tool for your family’s shop. This is the one that gets remembered in interviews.
💻 github.com/your-username● ● ●
📁 my-portfolio  HTML, CSS · updated 2 days ago
📁 todo-app  JavaScript · updated last week
📁 weather-dashboard  JavaScript · updated 3 weeks ago
📁 shop-stock-tracker  JavaScript · updated a month ago
This page is your real CV. Four finished projects say more than any certificate.

What an employer or client actually looks at (illustration).

8

Consistency beats intensity

Coding for eight hours once a week works far worse than thirty minutes every day. Your brain needs repeated contact, not one exhausting session it forgets by Tuesday. Daily practice also keeps the project in your head, so you do not spend the first hour of every session remembering where you were.

Do this: pick a fixed thirty minutes, the same time every day. On the day you really cannot face it, open the editor and read your own code for five minutes. Keeping the streak matters more than the amount.

30 minutes a day, six days a week

DAILY HABIT156hours in a year
WEEKEND BINGE · 8 HOURS, ONCE A WEEK416hours in a year, if you never skip

The honest version of this comparison: the weekend binge wins on raw hours, on paper. In practice almost nobody keeps it up, because one missed Saturday costs a whole week, while one missed Tuesday costs nothing. The daily habit survives real life, and surviving is what makes it work.

9

You do not need the perfect setup

A new laptop, a mechanical keyboard, three monitors, the right desk. None of it writes code for you. Buying things feels like progress because it is easier than being a beginner.

Everything you need is free: VS Code, a browser, Git, and a Google account. Plenty of working developers started on a secondhand laptop that took two minutes to open a file.

Do this: open a free editor today on whatever machine you own. Upgrade when the machine is genuinely slowing you down, not before.
✓ EditorVS Code, free on every platform. Add one extension for your language and stop configuring.
✓ Somewhere to run itYour browser’s console for JavaScript, or a free online editor. No installation needed on day one.
✓ Version controlGit plus a free GitHub account. Learn it early; it is how you keep and show your work.
✓ Somewhere to publishGitHub Pages, Netlify or Cloudflare Pages. All free, and your project gets a real link.
10

The community will save you

Stack Overflow, Reddit, Discord servers, YouTube comments, the issues tab of the library you are using. Someone has hit your exact problem, written it down, and been answered. You are rarely stuck; you are usually one better search away.

And learning to ask a good question is a skill in itself. Say what you expected, what happened, what you already tried, and paste the exact error.

Do this: join one community and answer one beginner question a week. Explaining something you learned last month is the fastest way to be sure you know it.
How to ask so people actually answer
# A question nobody answers:
"my code doesn't work please help"

# A question answered in ten minutes:
What I am trying to do:
  Show the logged-in user's name on the dashboard.

What I expected:
  "Welcome, Hina"

What actually happens:
  TypeError: Cannot read properties of undefined (reading 'name')
  at showUser (user.js:14:21)

What I already tried:
  - Logged `user` just before line 14 -> it prints undefined
  - Checked that getUser() has a return statement -> it does

The code:
  (10 relevant lines, not the whole file)

Your First Month, as a Plan

Lists of advice are easy to agree with and easy to forget. Here is the same advice as a schedule.

WeekWhat you doWhat you finish with
1One language. Variables, conditions, loops, functions. 30 minutes a day.A small program that takes input and prints something back.
2Rebuild one tutorial project from memory, with the tutorial closed.Proof you can work from a blank file.
3Your own small project. Google everything you do not know.A to-do list or calculator that actually works.
4Learn Git basics and publish it.A real link you can send to someone.

If you only take one thing from this article: at the end of the month you should have a link, not a certificate. Everything above is in service of that.

Common Questions

Am I too old to start coding?

No. People start in their thirties, forties and fifties and get hired. What slows a beginner down is inconsistency, not age. The one real advantage younger learners have is spare time, and the advantage older learners have is knowing how to finish things.

How long until I can get a job?

With honest daily practice and real projects, most people need somewhere between one and two years to be employable, and longer without consistency. Be suspicious of anyone promising a job in three months. Freelance work on small sites often comes sooner than a full-time role.

Do I need a computer science degree?

It helps for some companies and is irrelevant at many others, especially in freelance and agency work. What is never irrelevant is a portfolio of things you have built and can explain.

Should I learn to code if AI can write it?

AI writes code quickly and confidently, including when it is wrong. Someone has to know what the code should do, whether it is safe, and why it broke. That someone understands the fundamentals. AI raises the value of understanding, it does not remove it.

What if I forget everything I learned?

You will forget syntax constantly. Everyone looks things up. What stays with you is the thinking: breaking a problem into steps, reading an error, knowing roughly where to look. Those are the parts practice actually builds.

WATCH IT

The Full Video

Here is the whole thing on video, if you would rather listen than read:

New tutorials on coding, Laravel, Docker and Linux every week.

Final Thoughts

If I could send one sentence back to myself on day one, it would be this: you are not behind, you are early. The confusion is not a verdict on you. It is simply what the middle of the curve feels like, and the only way past it is to keep opening the editor.

So close this tab and write thirty minutes of bad code. Then tell me in the comments: which of the ten hit you hardest? I read every one, and if you are just starting out, welcome. It is going to be worth it.

If this helped, send it to someone who is about to give up in month three.

Share this article

Muhammad Azeem

Written by

Muhammad Azeem

Articles by Muhammad Azeem on azeemtechstudio.com.

Stay Updated

Get the latest coding tutorials, web development tips, AI tools, and technology articles delivered to your inbox.

No spam — we only use your email to send new articles.

Join the Discussion

Your email address will not be published. Required fields are marked *

About AzeemTechStudio

AzeemTechStudio Learn about programming and Web Development

Practical tutorials, programming tips and insights on Laravel, PHP, Docker, Linux, JavaScript, AI and modern web development.

Learn more