From Syntax Errors to Backend Developer
Like most teenagers, I was into computers, consoles, games, and everything around them. Programming, however, was an undiscovered field for me at the time. My first encounter with code happened around 5th or 6th grade in elementary school (2010–2011). The software was called AutoIt — somewhat similar to BASIC, with roots going back to the ’90s. It was mainly used for automating Windows processes and included a simple GUI framework for building basic windows, buttons, switches, progress bars, and similar components. Nothing too fancy.
A childhood friend and I built a few small apps — for example, tools for importing mods into Minecraft or some “for fun” software that could make a mess in PC folders (which seemed much funnier back then).
The second time programming crossed my path was when I discovered how webpages look under the hood. After opening a PHP page and seeing long, messy, and seemingly unordered HTML mixed with strange functions, I was completely taken aback. The experience was confusing enough that I quickly lost interest.
I finished elementary school and then graduated from a three-year high school program as a waiter. I chose my field of study randomly because I had no idea what I actually wanted to do at the time. After school, I went through several jobs — waiter, car mechanic, warehouse worker, construction worker, and others. Eventually, my girlfriend and I moved to Germany to work at a JYSK warehouse. During that period, I gained a new perspective on certain things — and on the world in general.
I started enjoying learning and self-development. I began learning English (basically from scratch, since I probably knew around 50 words at that point) and started reading books, for example.
Then came February 2024. Out of pure curiosity, I downloaded the first editor I noticed — Sublime Text — just to try writing a simple function. That was the turning point. As I learned about functions, variables, conditions, and loops, I started imagining all the possibilities. Suddenly, programming felt like a world where you could build almost anything — limited mainly by your patience and how many Stack Overflow tabs you could keep open at once. Just kidding — there was already AI.
The problems arrived quickly. I realized I needed to learn HTML, CSS, and JavaScript anyway because I initially thought I wanted to become a frontend developer. The real challenge was that I tried to learn Python, HTML, CSS, and React all at the same time. After about a month, it became obvious that learning all these concepts simultaneously as a beginner was not the best strategy.
I decided to look for tutorials in Slovak and Czech on YouTube and found a creator named David Šetek. His videos were extremely beginner-friendly, and his channel covered many frameworks and programming languages. Through his content, I gained foundational knowledge in HTML, CSS, JavaScript, TypeScript, Python, and React.
I built a ton of small projects — the classic beginner apps everyone makes: a weather app, calculator, todo list, flashcards, and several apps displaying API data. In my opinion, this phase is essential for every beginner programmer. The mistake is staying at this level for too long. Even worse is falling into tutorial hell and repeatedly building the same projects by following videos step by step without truly understanding them.
Once I gained some understanding of intermediate React concepts like useMemo, useReducer, Redux, custom hooks, memoization, and performance optimizations, I realized that I was still limited by my lack of backend knowledge.
Node.js / React / MongoDB became the first stack I really liked. Actually, I still like Node.js, but nowadays I most often use Python (FastAPI). Building full-stack applications was far more interesting and especially educational. I learned how communication between frontend and backend works, how to validate data, handle passwords and tokens, implement authentication and role-based systems, work with WebSockets, manage files, and perform CRUD operations with databases.
Sure, that list of skills is much longer, but this article isn’t about listing technologies. Rather, I want to mention the moment I convinced myself to work harder — while still enjoying it. I sacrificed a lot of my free time to learn coding, read documentation, watch senior developers, and build projects — and it was completely fine because I genuinely enjoyed it.
I discovered that learning one thing (object-oriented programming in Python, for example) goes hand in hand with overall improvement. I finally understood that it doesn’t matter how many programming languages you can write something in or what fancy framework you use. Basically, you just have to develop a programming mindset. It naturally leads to getting a real job.
In April 2025, we returned from Germany. I knew I wasn’t ready for a job yet. Of course, I wanted to get a job as a junior frontend or backend developer, but I was also aware of how intense the competition is and how HR departments view self-taught developers without a high school diploma or university degree.
At that time, I focused on what companies actually need. They don’t need the newest library or the most modern framework to build a product in three days. It’s no secret that the majority of companies are looking for mid-level or senior Java, C, .NET, or Python developers.
Everything is even harder because companies often have huge requirements. There are countless job offers listing numerous skills you’re expected to know at an expert level, while the offered salary is often around 1,500 euros gross — here in Slovakia, of course.
I kept learning and gradually transitioned to backend-only development. It’s also worth mentioning that I added Docker, Linux, Redis, and basic server/internet knowledge — including Nginx, VPS, and DNS — to my stack.
Around that time, I developed a strong interest in self-hosting and cloud hosting. I bought a Raspberry Pi 5 and set up my own local server, which has been both fun and incredibly rewarding. I’ll talk about that in a separate article.
In August 2025, I decided to pursue a Java / Spring Boot certificate through a four-month online course. It felt like a logical step because I enjoy working with Java, and I believed it would also look good from an HR perspective.
At the same time, I was actively searching for a job. I had already built a solid understanding of core software engineering concepts such as loose coupling, scalability, maintainability, modular architecture, and security, and I was determined to succeed. However, things didn’t turn out as planned, and I quickly had to acknowledge that.
Between August and November, I submitted more than 150 job applications, all for junior or entry-level roles — without receiving any responses. I won’t pretend it wasn’t discouraging; it was. Still, I had anticipated that the process could be difficult.
When you understand that breaking into the industry may take time and many attempts, it becomes easier to handle mentally. There are simply too many people trying to start a career in IT, and overall, AI has raised expectations for junior programmers, making entry into the field more challenging — difficult, but not impossible.
In November 2025, a small company finally contacted me after I applied for a full-stack developer position. They seemed to be a startup trying to break into the AI services market. To be honest, it wasn’t really my thing, but I treated it as my first real experience in the developer world.
I developed a few apps, but it often felt like making something out of nothing. There were no project managers, no testers — actually, no real team at all. However, I could work from home, so I accepted the offer.
I also knew it was a relatively stable job, but in the long term, it wasn’t very beneficial for me for a few simple reasons: I didn’t work on any large-scale projects, there was no senior developer who could teach me anything valuable, and most of the project ideas were just trying to follow the “AI-everywhere” trend. So I kept looking for something different.
I took part in two other interviews — one for a DevOps position and one for a Python backend role. It looked quite promising, but in the end, they chose someone else. An important thing is that I didn’t feel demotivated at all. I didn’t want to give up. I saw it as a long-term goal, so I kept going.
In mid-January 2026, I received an email inviting me to an interview. Everything went great. The interviewer said he was interested in one of my projects on GitHub. I answered a few questions about my coding experience in general — there were no multiple rounds, no tests, no syntax exams, none of that torture.
They were satisfied with me, which made me very happy.
We agreed on my start date: February 1st. From that day on, I have been working as a backend developer for a CZ/SK company.
It took almost exactly two years of learning, struggling, and coding on a daily basis — without any guarantee that I would actually get a job. I can’t complain because I truly like it, but still — that was a lot of hours invested from my free time alongside the full-time job I had at that time.
It isn’t impossible. All you need is patience — and a sufficient amount of coffee. ☕