How I started with programming

My journey to finally learning to code

Tereza Tizkova
5 min readDec 24, 2023

Spoiler: This week I finished my first real coding project — an AI developer. It can work on any GitHub repository and make pull requests.

I got a big celebration and received a fancy candy box for it, so it almost felt like the AI assistant was my newborn child.

However, I am of course still a total beginner. This post is about
1. Why I didn’t learn to code sooner, and

2. My journey now that I finally did learn something.

I have been dreaming about becoming a programmer for a loooong time but I was too insecure to start. I saw programmers as genius people who were building super-computers from scratch in their garage at age 14 or something.

That must be a myth, I said to myself and asked people on X how they started.

To my disappointment, the answers sounded exactly like this myth.

At 7 I was hiding in my bedroom, reading books about stones. At 12 the only thing I was building was a Lego Harry Potter castle. At what point did I take the wrong turn? I thought building your own computer or complex program was supposed to be the final step, not the first one.

While in university, I occasionally took online courses in Python or JavaScript (which, as I found out this year, is not a full name for Java).

The courses and online academies were all simple to grasp but had one crucial problem. I never actually find the “next step”. I was always busy with my job and school, neither of which was programming-related. And I didn’t make time to try to build something more challenging at home in the evening.

This all only proves my hypothesis about learning in general.

If something feels simple or has a very straightforward guide, you may not actually be learning anything.

When I joined E2B, it just happened. I finally put time into learning, because I finally had the excuse, and programming was an important part of my job (assuming I want to grow in my role). Of course, there were difficult days for me. I often feel stuck or spend too much time with a particular bug. But looking back, I see some progress and I laugh at how incapable I was a few weeks or even days ago, compared to now.

The secret is more than finding a job in a technical field though. My ideal learning loop for programming is in the end the same as my learning loop for figuring out math proofs. It goes:

  1. Facing a problem. (E.g. a new bug or not knowing how to write part of a program.)
  2. Trying to solve it with my own resources. Which typically include online search (incl. AI), online forums, and voices in my head.
  3. Reaching out to someone more experienced at the topic for help with particular part where I got stuck even after step 2. That usually means going to one of my colleagues. ❤

… AND REPEAT.

I realized that I hadn’t learned programming before, because I either didn’t have that real enough and difficult enough problem or I did but didn’t have that someone to ask for help when getting stuck. That is, the step 2 was much easier than steps 1 and 3.

Practically, these are 10 beginner tips that I would do if I traveled back in time and were to start from scratch again.

(Assuming I do without any job or university course which I could use as an excuse to learn).

  1. Buy a Mac. I still don’t fully understand why, but it seems like all programmers around me code on Mac, and if they tried to help me on Windows, they just got annoyed and couldn’t figure anything out.
  2. Take time learning VSCode. I don’t even know what the best alternative to VSCode is currently, because I don’t need to know. VSCode allows you to “pull” your online projects to your computer, work on it in a nice and very helpful environment, and then “push” it back online.
  3. Don’t use AI for generating code unless you really are stuck. Use it for explaining existing code, for follow-up questions, or for explaining bugs.
  4. Join a group of people who help you. It may be a one friend, or it might be a local group or nonprofit initiative in your town.
  5. If you don’t find people in your hood, join an online community. They are bigger, so it won’t be such an individual approach, but better than nothing. Some examples: r/learnprogramming, dev.to or discord servers
  6. Create a GitHub profile. Developers have a special thing for open-source and I understand. If you have your code on GitHub, people can help you (e.g. contribute to your code or point out an issue).
  7. Don’t underestimate online forums. Multiple times when I got stuck, posting my problem on the OpenAI Developer forum, Python Forum, Node.js subreddit, and so on really solved it. The people there were really nice.
  8. Record screen when someone is showing something to you on your laptop. You won’t remember how they solved the bug. Also, take notes on paper.
  9. Read Hackernews if you want to feel the hacker vibe. There, developers are flexing with their side hustles and discussing the latest news.
  10. Combine theory and practice. It’s not bad to take an online course (I recommend Codecademy) to have big-picture top-down knowledge of syntax. But don’t dive into it too much. It’s probably most useful for the absolute basics.

Hope you enjoyed this reading. Please share your own learning experience in the comments!

--

--