In my previous post, I wrote about how I unexpectedly came across PrestaShop 1.1 while working my first and only salaried job. This seemingly random step turned out to be a pivotal moment that later led to the creation of PrestaRock – arguably the leading PrestaShop solutions agency in Lithuania.

As I grew and developed as a professional, I reluctantly and fearfully transitioned from working under freelance contracts to establishing myself as a sole proprietor. I remember that deciding to open a sole proprietorship was a painful two- or three-week process, during which I was terrified of taxes – how was I supposed to hand over almost a third of my earnings? I was unsure whether I could properly manage and account for this business. I didn’t know how to issue invoices or what it meant to be a VAT payer.

Nevertheless, I made the decision and became an independent freelancer.

At this stage of my life, likely during my first or second year of university, I had a stable income from regular programming work and projects. My classmates, just like back in school when I brought in articles, would sometimes mockingly ask who I thought I was to call myself a programmer without even finishing university.

However, recently, one of those classmates complimented me, saying, “I’ve been reading your posts and never realized you were working consistently while still studying.” That’s right! During my first year, I even received a scholarship. Later, I understood that to get a perfect grade, you had to put in significantly more effort than for an 8 or 9, which was perfectly fine for me.

While studying and programming, lecturers often praised me because I had already encountered specific algorithms or project work in real-life scenarios, which they greatly appreciated. I had the honor of studying C++ at university under J. Blonskis, one of the legends of Kaunas University of Technology Faculty of Informatics.

Studying at university laid the foundation for significant programming, critical thinking, and learning skills, so I firmly believe that if you want to become a real programmer, completing just a few courses is not enough. A good programmer needs to have a strong formal education; otherwise, they remain just a “script-kid.”

The first two years of university were probably the toughest because studies were filled with abstract subjects that seemed unrelated to programming, like the math, physics, or philosophy that carried over from high school.

However, I am incredibly grateful to my math lecturer, Nijolė Janušauskaitė. She taught me an invaluable skill – communicating with clients precisely, using the right terminology, and understanding that math is a science of precision. This skill might not always thrill my colleagues, as I challenge them today just as she challenged us. I refuse to engage further if their answers or questions are not precise and well-formulated.

I remember how she would ask the same question four or five times until you could answer it accurately and correctly—precisely, concisely, clearly, and with the proper terminology, free of personal interpretations. I actively teach my project managers, analysts, and team leads this skill, emphasizing that even a single poorly worded sentence can have significant consequences in non-confrontational situations with clients.

Another of this lecturer’s strengths was her fairness in crafting tasks and exams. She was systematic and designed tasks so clearly that you could still earn a passing grade even if you lacked talent or logical thinking. For those aiming for a perfect score, there was always a slightly more challenging, solvable problem. This approach allowed you to decide how much effort to put in and what grade to aim for. There was a system in everything, even assessments.

Many students, including myself, cursed while programming in C++ because it felt like you couldn’t create or learn anything valuable from it. But those first two years weren’t about creating functional products; they taught us how to think like programmers.

J. Blonskis and his team of programming lecturers taught us how to think algorithmically. During his lectures, we wrote code on paper without possibly debugging it. It was brutal, and everyone hated those assessments, but today I understand that programming is about how you think, not just the act of writing code. This skill is the most critical for success in a programmer’s career.

I don’t remember the name of my physics lecturer, but he had us take notes during his lectures, writing down his thoughts almost word-for-word. It seemed like an old-fashioned practice, but it proved incredibly effective. Writing things down helped us remember and learn, even without realizing it. His explanations, though simple, often reminded me of Harvard-style teaching videos on YouTube. Although physics was always challenging for me, this lecturer clarified even the most complex concepts.

Physics lab work taught me another invaluable skill that later proved helpful in my career. While you could conduct the experiments any way you wanted (and they only sometimes succeeded), defending your report and analysis was a near-impossible mission. The lecturers would scrutinize every tiny detail, sometimes relentlessly. However, this taught me how to write clear and correct specifications, reports, and explanations for clients.

Even today, our company has well-defined rules for formulating questions for clients – whether they should be open-ended or closed, and when to use each. We have guidelines for good and proper responses, used by everyone from testers to project managers and programmers. And yes, just like those physics lecturers, I insist on correct answers and return them to colleagues until they are correctly written, avoiding meaningless back-and-forth “ping-pong” discussions with clients.

Through these lab sessions, I also learned some fundamental life principles. For instance, you must write strong conclusions even if your experiment failed and you didn’t get the desired results. When done well, nobody might notice the errors, or at least they will understand that despite the mistakes, you grasp the subject’s essence and can explain why the results didn’t turn out as expected.

Today, I am embarrassed to admit that there’s a post on my blog where I contemplated dropping out of university. Back then, thinking you could be a programmer without a degree was trendy because you were already earning money. And I was doing just that – and quite successfully.

I’m proud to say that I graduated from KTU, undoubtedly the best and highest-level university in Lithuania for programmers. In my experience, hiring professionals is different from Vilnius University. KTU is the only university in Lithuania capable of producing true programmers.

Perhaps it’s no coincidence that I’m now an alumnus and mentor at Kaunas University of Technology , striving to give back some of those “random” karma points by helping one or two students grow each academic year or become a turning point in their lives.

That’s why the university isn’t just for networking, despite what private, expensive universities’ marketing specialists often emphasize. First and foremost, it’s about learning how to learn. University instilled in me one crucial skill—the ability to continuously learn and grow, to develop, and never stop in my professional field. And, as will become evident in my future posts, this is inseparable from career success.

Leave a comment