As a child, he liked opening up technical toys to see what was inside. The point was not to break them, but to understand them. Later, that same curiosity moved toward computers and games. Around the age of 14, he wanted to create and host a Minecraft server for his friends. It was a small project, but an important one. Technology was no longer only something to use. It was something he could build.
“After that I decided that technology was my piece of pie,” he recalls.
The path from there was gradual. Games led to computers, computers led to bots, bots led to web applications, and web applications brought together another interest: digital design. Marek joined an IT-focused class in high school, then went on to study Computer Science at the University of Tartu, where he completed his bachelor’s degree. A lot of what he knows, though, came from building things on his own.
“My development knowledge came a lot from interest in how to make cool web applications,” Marek says.
That mix of formal education and personal projects still shapes how he works today. Marek has now been at Car Rental Gateway for nearly three years as a full-stack developer and software engineer. His work spans different parts of the stack, using technologies such as TypeScript, Node.js, Go, PHP, SQL, React, Vue, Astro, Next.js, and Nuxt.js. The list matters less as a catalogue than as a sign of how he approaches the job: he is comfortable moving between tools when the problem calls for it.
Building useful things, not just writing code
What Marek enjoys most about software development is not the code by itself. It is seeing something work in the hands of real users.
“Creating things that people actually use and find helpful,” he points out. “Being a piece in a complex system.”
That phrase says a lot about how he sees development. He likes complexity, but not for its own sake. A difficult task becomes interesting when it requires clear thinking, creativity and a good understanding of how systems connect. He is especially drawn to architectural problems, including cases where others may have struggled before.
A complex project, in his view, is usually made of smaller parts. The satisfaction comes when those parts finally work together. Confidence, meanwhile, comes from being willing to be bad at something first.
“You have to start from somewhere and go through a noob phase,” he says. “Don’t be afraid to sound stupid, because it’s a way to learn.”
That attitude also affects how he works with others. Marek values open communication, honest feedback and the ability to ask questions early instead of pretending to know everything. For him, good developers are not only strong technically. They are open-minded, adaptable and able to understand why something was built in a certain way before changing it.
What full-stack means in practice
For Marek, full-stack development is not just a title. It means taking responsibility for a problem from beginning to end.
“Solving issues vertically,” he describes. “Owning features from start to finish.”
That means understanding both frontend and backend work well enough to pick up a feature or issue and move it all the way through. Backend work can often feel more defined, while frontend work brings its own kind of difficulty: the user interface has to behave and look right, often in small details.
Full-stack work also has a cost. Attention is split across different layers of the system, and technology keeps changing. Marek tends to start by thinking through the architecture, then moves from backend toward frontend. The aim is not to know everything perfectly before starting. It is to understand enough to make progress, test assumptions and improve the solution.
That mindset fits the kind of work he has done at Car Rental Gateway. One project he mentions involved designing and developing a business metric monitoring system with a large amount of data and a complex user interface. The challenge was not only collecting the data, but deciding how to aggregate it and show it in a useful, visually clear way.
Another project was the website where this kind of article would be deployed. The requirement there was performance, and the work involved a new technology stack chosen because it offered practical benefits.
“Every day is interesting since we have a very wide development stack,” Marek says.
Learning by building
When Marek learns a new language or technology, he does not wait until he understands every detail. His process is practical: quick start guide, syntax, architecture, concepts, examples, tooling, quirks, then trial and error.
“Building something real is the quickest way for me,” he notes.
He sees a lot of shared logic between programming languages. The syntax and concepts can differ, sometimes a lot, but the underlying problem-solving patterns often carry over. That does not mean details are unimportant. For complex work, he says, a developer still needs to understand the language properly. But waiting until you know something “100%” is not realistic.
He keeps up through the development community, YouTube and forums, but he is not interested in adopting new tools just because they are new. A technology has to offer a clear benefit. A proof of concept is often the best way to find out whether it does.
His view of AI is similarly practical. Marek uses AI for both work and learning, but he does not treat it as magic or expect it to solve every problem by itself.
“It is not something to be afraid of,” he says. “But you always have to check what you get as output.”
Context matters. Bad input leads to bad output, and developers still need to understand what they are doing. At the same time, he thinks developers and companies need to learn how to use AI if they want to keep up. He is not worried that developer roles will be fully replaced by AI, especially as some companies are already finding that AI can be more expensive than a developer’s salary. Instead, he expects the developer role to move more toward system design and operating systems, not only writing code.
Why CRG fits
Marek says Car Rental Gateway suits him because of the pace, the variety and the room to take initiative. The technical environment includes microservices, domain-driven design, established design patterns and openness to new technologies. Developers work across different systems and contexts, which keeps the work from becoming repetitive.
He also values the team culture. He describes the development team as friendly, understanding and open to sharing business knowledge. Information is not gatekept, and the flat structure makes it easier for people to take ownership. A good day usually starts with a short standup, then moves into designing and implementing solutions. The variation comes from different technical requirements and stacks; the challenge often comes from understanding client needs clearly enough to build the right thing.
Colleagues might describe Marek as vocal with ideas and feedback, and as a “multitool.” Outside work, he still develops as a hobby. Music and Pomodoro help him focus, while physical training helps with mental clarity and sleep. One thing people might not guess from his job title is that he likes to socialize.
For developers thinking about applying to CRG, Marek’s advice is practical and close to how he started himself: be curious about technology, build real things, ask questions, and keep an open mind for learning. It also helps to be comfortable in a fast-paced environment, where the work changes, the stacks change, and the problems change. For Marek, that variety is part of what keeps the job worth doing.
***

