Becoming a Software Engineer: My Story by Konstantin Borimechkov

In this blog post, I wanted to take you through a quick overview of my career path. Starting from my not knowing anything about CS to writing backend services, serving millions of businesses and people across the world! (as part of a company, of course, I didn’t make the whole app 😁) An even quicker…


In this blog post, I wanted to take you through a quick overview of my career path. Starting from my not knowing anything about CS to writing backend services, serving millions of businesses and people across the world! (as part of a company, of course, I didn’t make the whole app 😁)

An even quicker overview of my career so far⤵

Of course, with that, I had a BIIIG learning curve, where I progressively got better through practice, always trying to give my best and making sure I didn’t make the same mistake twice.

👣 First steps in the computer science world

My first HelloWorld app 👋

It was actually with the programming language C#. I was in my first year of university, studying mainly math, but we had that one course called OOP (Object-Oriented Programming).

You can check the project here, but keep in mind that I worked on it again later, when I had to ‘milk’ it for a couple of more grades. ✌️😅

School and university 🏫

Coming from a finance school, for the first half of this first year in university, I honestly felt very humbled by the environment of students who already had a lot of complex math and programming background.

In the second semester of that year, I flipped the switch and had to make one of the biggest decisions of my life — whether I wanted to become a waiter for the third year in a row in order to earn some 💰 or put in the waiter hours into studying computer science, applying on job boards, and one day making it into some company as a software engineer intern. I chose the latter — playing the long game.

After doing some market research and talking with friends, I decided to focus on Java and Spring Framework because backend seemed like the place I wanted to work in, and these technologies were the most widely used and looked for intern roles, at least here in Bulgaria 🇧🇬.

🎯 Landing a job as an intern

The interview processes

My first interview was at Paysafe, for a ‘Software Engineer Intern’ role. I went through the HR interview and got an invite to the technical one. The issue was that they looked for people with some Java and Spring knowledge, but I didn’t know either one of them (I only had that one C# project under my belt). Still, I got my first 1.5-hour interview and a glimpse of what these interviews look like.

Some learnings

I went on to actually start learning Java by watching some YouTube and eventually getting the ‘Java Programming Masterclass updated to Java 17’ Udemy course. This is when I learned some core concepts of the language and computer science in general.

Some rejections

While going through these learning materials, I also applied to intern roles and went on quite a few interviews (VMWare, SAP, Bosch, and more smaller companies who looked for interns at that time).

Rejected, rejected, ghosted, rejected,…

Even though I got rejected from all of these companies, there was this one pattern I saw while going through the interviews. It was that I got progressively better with each interview by filling the gaps (learning from my mistakes) and actually started studying the things that were told to me in the interview feedbacks (when I received such).

Hurray, I got it 🎉

This led me to my first offer (after maybe 10 or so rejections). I got a ‘Software Engineer Intern’ role at Axway and I will be forever grateful for the chance they took with me on that one!

✍️ Writing my first API

My first IT job experience

I started to work at Axway one month before starting my second year at university. I got a lot from working in this company — working with very experienced engineers who were always there to help; lucked on an amazing engineering manager who gave me some amazing advice; giving me a lot of time to learn and experience what it’s like to work in a company.

While working there, I remember buying some Udemy courses on the Spring Framework as we had to learn it for university. This is when I saw how much you can do with this goddamn framework.. 🤯 This time, I tried a different approach to learning — by starting to work on the project from the start and learning as I go. 👀

My 1st API 👀

I created a budget-tracking API (which I later tried to make into an app, called mypfinance). You can check the app here. And again, I ‘milked’ that project for a couple of grades at uni 😅

👨‍💻 Getting a job as a software engineer

Job switch

After 6 months as an intern at Axway, I decided to move on and join Tide Platform as a junior software engineer. At Tide, I was thrown into a pool of obstacles and challenges, which I had to overcome in order to deserve my spot and later be promoted to a regular software engineer.

My junior experience at Tide

Here is a list of things that made me speed-up my progress and with that accelerate my growth in terms of knowledge and experience:

  • The company was big when I came, ~900 people, but the start-up culture was still there.
  • I was a total newbie in a company full of senior engineers, who are very friendly and always offered their advice.

What I also noticed, for me at least, is that simply their presence pushed me to become better and want to catch up, even tho I was and still am miles away!

  • 👨‍💻 The technology stack is Java 17, Spring, AWS, Relational DBs, K8s and all work is done in a distributed systems environment.
  • The amazing cloud environment, which truly made me understand what CI/CD is and how good deploying multiple features per day feels like. 😇
  • Even though I can be fully remote, I go to the office every day as I find the interaction with other engineers in the company very important for achieving rapid growth. Going to the office, especially helped in the beginning, where I had a mentor who guided me through everything and made sure to explain each concept and topic I struggled with or wanted a deeper understanding of!

Disclaimer 🚨

Reading back at what I just wrote, it kind of feels like I gave a big sponsored segment about working at Tide 😆, but it isn’t… 🔽

I just really wanted to stress out the correlation between the place you choose to work at and the place you are at career-wise. Looking back, I really needed this fast-paced environment at that time, in order to get to where I’m at today and to continue pushing for new highs in my career! 📈

📝 Practice, practice, practice…

I’ve been at my current company for the past year and a half almost. While working and making sure to give my best at work, I’ve been also continuing my university degree, working on some side projects, taking some courses, some Upwork gigs, writing blogs, going to events, helping peers… all of that for the sake of PRACTICE!

Important to note ❗️

📝 The best teachers IMO are:

  • actually writing code
  • problem solving
  • designing solutions
  • reading and writing documentation
  • communicating with the community

I’ve been trough a lot of tutorial hell, while trying to understand complex topics just by watching Udemy/YouTube and looking at the screen. This is not the way to learn, at least for me.

Most, if not all, of what I know is from the putting in a lot of my time into the things I listed above. 👆

Lastly (very important):

I don’t have photographic memory and, to be honest, I forget most if not all of the things I watch/read, but that doesn’t stop me from doing so. At the end of the day, it’s simple math. If you get even 10% of what you read/watch, it’s better than nothing and accumulated over time it will compound into a big ball of knowledge, which, hopefully, you will be able to apply at some point in your career. 🚀

Just look at how big of a difference getting 1% better each day makes 🤯:

Summary

Even though I am at the beginning of my career still, I hope that my story inspires and motivates some of you who are just starting their software engineering journey or feel stuck on some tutorial/project!

Struggling, making mistakes, and feeling stuck are all part of the process and will only make you a better engineer if you don’t let them stop you.

👋 Enough rambling, wish you a productive day, week, month… life! 😎


Leave a Reply

Your email address will not be published. Required fields are marked *