Culture

Growing Through Detailed Code Review in Software Engineering: A Backend Developer’s Experience

This is supposed to be one of the first Blogs in the series. The Author is one of the first employees at Leapwise and the Topic could not be better to introduce the company and myself.

So, let me go back to 2019, which was the year I decided to make a radical decision and move from a secure environment with a few thousand employees to a company with just two, and to explain what code reviews in software engineering have to do with it. The decision was not an easy one to make and a lot of things went through my head.

Where was I going?

The initial interview was easygoing and friendly, people on the other side were really nice, and the projects sounded interesting and challenging. But how could I have known what was hiding behind, how stable the company was, and how would my life be affected if the company’s plan fell through? The people surrounding me, both within business circles and my personal life, had even more questions.

My former colleagues were questioning my decision when it became final and were trying to find the logic behind it (ironically, some of them have since become my colleagues again). Some private plans of mine had to be put on hold as well. I spent plenty of hours explaining a decision that I was unsure of. But how is my personal situation connected with code reviews?

Coding standards were expected to be higher

A lot has changed since then, and I have been through all kinds of changes. I have seen how much hard work and dedication lie behind each milestone we reach. I am very pleased that I can share my experience as a Java engineer with Leapwise and continue to build this great story.

The first few days, weeks, or even months were very challenging. The environment was different, expectations were higher, greater coding standards were expected, and I was not very proficient in Java at the time – quite a mismatch. Luckily, I was not left on my own, thanks to detailed development guidelines and code reviews.

During those early days, I was getting familiar with very detailed internal development guidelines that each employee should comply with to ensure code consistency. Having all the best practices written in one place was invaluable, and the best thing was that the authors of those guidelines were sitting right next to me. 

Read how software developers can grow through code reviews. Especially if backend development is their thing.

First assignment and code reviews in software engineering

A setup like this was something I was not used to – I was surrounded by people ready to help, with the same interests, and their knowledge was so deep that Google was no longer my best friend. I got my first assignment within two weeks and had many questions. Previous experience taught me that some time will be spent searching for answers and the right persons who can provide them. This time, I didn’t have to roam around, no e-mails were exchanged, and zero ‘come back later’ answers were given – simply put, I was never blocked by anyone or anything. 

Meanwhile, another colleague had joined Leapwise and joined me on the task I was already working on. We were occupied with it for a while, and when we believed we had completed it, and were ready for deployment on the test servers, it was time for our code to undergo a code review. I didn’t know what to expect since in my previous workplaces if the solution was proven to work, that was sufficient. The code review was so thorough and there were so many TO DOs that we thought we would get fired (especially considering that the reviewer was the person responsible for our paychecks, who happened to be out of the office for a few days).

Our initial instinct was to come up with a good excuse for why we had written the code the way we did, but we just could not find any. We agreed that we needed to make a call with the reviewer, we were so stressed as our improvisation started. On the other end, the reviewer seemed so relaxed, and probably didn’t quite get our intentions or why we sounded so flustered. He prevented us from digging deeper and told us that he just wanted us to learn and that we had full support. The call ended, and we felt so relieved and assured that this was what both of us were missing before Leapwise.

In the loop of code reviews best practices and educations

Although my contributions have been limited, just being in the loop and hearing a few keywords that you can look up after meant a ton. In the same period, a few trainings have been arranged for me. The topics covered could not have been better, and I knew that those would help me get a deeper understanding of the things that I was doing in my day-to-day work.

But it was not the topics themselves that gave me that guarantee. I looked up the presenters and all of them had one thing in common – they were all Java Champions. And indeed, those were nothing like the Udemy courses I had experiences with. Two days of hands-on education and code reviews, packed with interesting and useful content and a presenter who is actively engaged, addressing all the questions I had during the sessions. I must admit that the experience was exhausting, but the amount of information that went through was enormous.

Not Udemy, but Java Champions

Last weekend we traveled to a conference in Belgrade, and we had the privilege to see some of those Java Champions live. This was not our first conference, but it was different from those before. With the impressive lineup and the intriguing topics that were announced, my expectations were set high, but there was no doubt that they would be reached. The conference spanned over two days and startup was scheduled for Saturday and Sunday morning.

Friday and Saturday night came before that, and you might guess that we were not locked up in our hotel rooms. Morning coffee was not enough, but, luckily, the way that content was presented by those guys, kept me awake the whole day. Those two nights even messed up my plans regarding this blog. The due date was on Sunday, and I had initially intended to return to my hotel room early and dedicate some time to work on it. I am not known as some ‘party guy’, but I really could not escape those two nights. Thank you, Pale, for extending the deadline!

Precisely written guidelines, dedicated mentors and code reviews

Every new colleague who has joined Leapwise after me has gone through the same, already-proven process. Precisely written guidelines, dedicated mentors, thorough code reviews and code review best practices, sensible discussions, and substantive training. Those are the things that every developer needs to have to succeed in becoming a professional.

Work ethic is a priority

Yeah, colleagues – this brings me to another very bright topic. The three of us became four of us, the four of us became five of us, and, well, you know how it goes. At this point in time, we know how to count to seventeen. I will not try to persuade you that we are perfect, that we don’t have our ups and downs. After all, ‘It takes sunshine and rain to make a rainbow’ (Roy T. Bennett).

However, one thing remains constant: we prioritize personality and work ethic above experience. I will be subjective here, but I am an example of how two things can change over time – I have improved in Java (or in engineering as a whole) and I have become more relaxed within the company. My personality hasn’t changed, and I am still too reserved and I am still looking to help others. A blend of personalities that is present in Leapwise guarantees a good time while you are in the office.

This is the biggest perk that the company offers. Another one that I must mention here is catered lunch. There is a theory that breakfast is the most important meal of the day but for me, it is lunchtime. This is when we sit together, bantering, discussing First World problems, or just making fun of each other. It is hard to recall when I came back from lunch feeling disappointed. Maybe those two times when my colleagues switched my lunch for theirs and I was left with the healthier option.

In another blog of ours, read the 4 Tips Why Adequate Code Review Process Plays a Key Part in Modern Software Engineering.