From kid coder to failed startups: my 20-year journey
June 18, 2024
9 min read
Lessons from 20 years of coding, failing, and chasing ideas that didn’t work — and why I’m still at it.

Introduction
Hello! First of all, I am pleased to welcome you to my blog. I decided to start it because I already have some experience in the world of entrepreneurship, and I have been programming for over 15 years, nearly a decade of which professionally. I am happy to share some stories, insights, and conclusions. I also have plans for several interesting programming projects and further business development, so I think there will be plenty to write about. I also treat this blog as my professional diary.
Beginnings with programming
I got my first computer in 2004 when I was in the fourth grade of primary school. Of course, like most of my peers, I mainly played games, but I was also curious about how all this software was created. The only sources of knowledge about computers were the magazines "Komputer Świat" and "Komputer Świat Niezbędnik".
In one of the issues of "Niezbędnik," on a CD with various programs, there was an application for creating games. This was my first big "WOW," especially since a few days earlier, a friend at school had been talking about how he was creating animations in a similar program. Naturally, I immediately installed "Game Maker" and started exploring the secrets of game creation. I don't remember exactly if I managed to create anything specific, but I do remember that creating games in this program involved dragging components, which ultimately resulted in not achieving the desired effect.
A few weeks later, during a conversation in the yard with an older friend, it turned out that he was someone called a "programmer" and that games were not created in the programs I mentioned but were written in code. This was another "WOW" moment for me, even though I couldn't imagine how it was possible to create any program or game in plain text. At that time, it was still too abstract for me.
At the end of that memorable day, my friend lent me a book about creating projects in Flash and the ActionScript language. I immediately became completely absorbed in reading it.
Below is an example of code in ActionScript:
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.text.TextField;
public class Main extends Sprite {
private var textField:TextField = new TextField();
public function Main() {
var button:Sprite = createButton();
button.x = stage.stageWidth / 2 - 50;
button.y = stage.stageHeight / 2 - 25;
button.addEventListener(MouseEvent.CLICK, onClick);
addChild(button);
textField.width = 200;
textField.y = button.y + 60;
textField.text = "Kliknij przycisk";
addChild(textField);
}
private function createButton():Sprite {
var btn:Sprite = new Sprite();
btn.graphics.beginFill(0x0000FF);
btn.graphics.drawRect(0, 0, 100, 50);
btn.graphics.endFill();
btn.buttonMode = true;
return btn;
}
private function onClick(event:MouseEvent):void {
textField.text = "Przycisk został kliknięty!";
}
}
At the very beginning, learning ActionScript was difficult for me, and many things were incomprehensible. Ultimately, I completed a few simple tasks from the book, but one day I read that a much better and more universal language is...
...C++
And that's when the real fun began. The next day, I already had a book about C++ for complete beginners from Empik. After the first few pages, I knew that this was the language in which I would create many interesting projects. Practically all my free time, apart from playing football during the summer of 2007, I devoted to learning the basic elements of the language. By the beginning of the second year of middle school, I could already write simple console programs, such as a calculator or a not fully functional tic-tac-toe game. The next step was more advanced topics and the book "Thinking in C++".
I learned about different data structures, such as lists, stacks, queues, and binary trees. I understood how they work and wrote my own implementations. At some point, I started learning object-oriented programming and practiced it by creating a text-based RPG game in the console. A project of this type consists of many interconnected objects, which is an ideal training ground for OOP. Next, I added various graphics libraries to my arsenal, such as WinAPI, SDL, and SFML. In these, I also created a few simple 2D games.
Further development
From the very beginning, my biggest motivator and dream was to create an MMORPG (online RPG game with other players). I played the game Tibia with my friends throughout middle school and wanted to understand how this game was created from the inside and how it all worked. My overarching goal was to learn to program well enough to create something like this myself. Almost 20 years later, I decided it was time to fulfill my dream and recently started writing such a project. There will be a whole series of posts where I will describe the entire process of designing and creating this type of game. Below, for those interested, I have included a graphic showing what the MMORPG game Tibia looks like.

Returning to the topic... After learning C++, during high school and university, I explored areas such as:
- electronics
- programming Atmega microcontrollers in C
- Java and developing games for the Android platform
- creating games in C# using the Unity environment
- more advanced aspects of Java and the Spring framework for building server applications
- design and architectural patterns, Domain Driven Design (DDD), principles of writing good code, and software testing
Working as a programmer
I entered the profession in 2016 while writing my engineering thesis. I received a free internship at a small company that created simple websites and mobile games. After the success of writing a mobile game in Unity, I was offered a job. Later on, I also developed applications for the Android system and, towards the end of my time with this company, for iOS as well.
After gaining experience in several areas of professional programming, I decided to ultimately go into backend development, which involves writing server applications in Java. I honed the necessary skills and got a job at PKO BP. I regularly developed my competencies by learning new things and eventually moved towards full-stack development. Along the way, I worked at several different companies, creating both backend, frontend, and mobile applications.
Eventually, I returned to PKO BP as an experienced programmer with skills in web, mobile, and game development.
Beginnings in entrepreneurship, naivety, and failed projects
In fact, ever since I was learning to program games for the Android platform, I had a plan to make money from my projects. At that time (around 2014), there was a lot of buzz about the success of Flappy Bird, where a single developer earned millions of dollars from this simple yet highly addictive game.

Of course, I also thought that if I created a simple but challenging game and uploaded it to Google Play, I would make a fortune. As you can guess, I earned a grand total of 0 PLN. The same happened with subsequent projects until a certain point. The entire process of creating another unsuccessful app or game went like this: I would come up with a super cool idea, live in great excitement for two days, planning what I would spend the earned millions on. Then I would dedicate several days or even weeks to development until I reached a point where I realized that no one needed it, it was actually boring, or I had no idea how to monetize it. I should also mention that I created most of these projects with two of my friends (also programmers) - Piotr and Wiktor.

From what I’ve noticed, listening to podcasts and reading various blogs, most entrepreneurs start similarly and live in an illusion, just like I did, believing that every idea they have is super innovative. In reality, it turns out that we didn’t make any money, we don’t have customers, and worse, we spent a lot of time and invested a lot of money.
The most important thing is not to give up after these initial failures and setbacks, to continue with business education, and to focus more on customers and their real needs.
How exactly it looked in my case, I will present in the next post. For now, to wrap up, I will show a few example projects that turned out to be failures (there were more, but I’m only including the ones for which I found screenshots).
UfoRocket – my first Unity game on Google Play
In the game, you fly a spaceship, shoot enemies, and try to avoid their attacks.

SeaHorse – a Unity game that almost took over Google Play
In this game, you swim as a seahorse through underwater realms, avoid enemies, and collect coins.

Recrutic – a React Native app published on Google Play
We prepare for a job interview by selecting an industry and answering interview questions.

Dreamgifty – a React app with no monetization plan
We define a list of gifts we want to receive for various occasions and add a list of friends (if anyone has any). Ultimately, we don't have to think about gift ideas, and we avoid getting unwanted surprises.
