Lachezar Stoev is an experienced Java developer and in this interview he shares how he entered the world of software development, offers guidance on how to progress as a software developer, and shares his opinion on different aspects of the IT world.

How did you become a developer, what’s your developer story?

It all started in high school when I was in 10th grade. Math was the one I was really good at out of all subjects, so naturally, I wanted to concentrate on the Queen of All Sciences, and I even took lessons at a private math academy in my hometown Targovishte, Bulgaria. All of the academy’s students were smart and competitive, perhaps the city’s smartest students. I gradually began to consider my choices for my next move - going to university - as I had one of the best outcomes while studying there. I knew it was going to be a really important decision and I collected as much input as possible from my family, friends and other people I looked up to, like any other choice I had made before that. And that’s how I came up with programming. It suited my math skills and seemed like a chance for a great job. I didn’t know if it was for me, and I didn’t know if I wanted it, because I had never programmed it before. Anyway, I scored the maximum in the first entry exam at Sofia University in April 2012 and later got admitted. One of the best choices I have made was to choose Computer Science.

What excites you about software development?

For me programming is art, a way of thinking, logic, automation and the future. I love doing this job. Every day is different and there’re always new challenges. The world is developing so fast and technologies need to keep up with it. I’m glad that programmers are involved in this amazing journey.

You’ve worked with many developers throughout your career, what makes one a 10x engineer and how do you think one can become a 10x?

I have worked with many people and I can say that a 10x engineer is someone who has a range of skills. Some of the traits are:

  • Experience in a lot of technologies and within the project they work on
  • Learning new technologies fast
  • Leadership skills
  • Communication skills
  • Charisma
  • Time management skills
  • Creativity
  • Process management
  • Trustworthiness
  • Inspiring and convincing people
  • Recruiting skills

In order to become a 10x engineer you definitely need to work hard, always push yourself and stay out of your comfort zone.

How do you keep your technical skills sharp?

It is important for me to share information, I exchange a lot of my thoughts and ideas with colleagues and friends. Strictly about programming, I keep up with the new technologies by reading articles, books and participating in IT events.

At the moment, I’m more focused on fostering my soft skills like leadership and process management. While it is important to polish your hard skills, soft ones are crucial for the entire picture to be complete - something that many developers do not always realize on time.

How do you stay productive, what are your productivity tips?

Many people think that productivity is only about what you do in the office, but it stretches beyond your work environment. Enough sleep, healthy eating, and a well-balanced life in general are necessary. That way, with a smile, you can approach every day and carry that positive energy to the office and that will undoubtedly impact your productivity.

Being able to control your time and everyday work is also critical. An ability that also contributes to your productivity is being able to break your tasks into smaller ones when needed.

As developers we often wind up in situations that seem like dead ends and you feel stuck, how do you deal with those, any secrets?

I believe there’s one approach that works for those cases: first, do whatever you can to solve the problem yourself, then just ask someone with more experience to help you if you can’t seem to resolve it. That is completely normal, reaching for help does not mean you have failed or are an incompetent developer. Every team and manager should strive to create an atmosphere where people feel comfortable asking for assistance. The more experienced you become the less dead ends you will face.

What do you wish you had known when you began your career as a software developer?

Well, to be honest, nothing. I like to make well-informed decisions so I always research all options and possibilities beforehand. I think my career started in an excellent way. While studying Computer Science, I began working for an outsourcing company where I learnt various technologies, participated in a couple of projects and collaborated with experienced developers. Alongside my university studies, I also completed a couple of courses in a well-known software academy in Sofia. I’d say this is one of the best ways to start your career.

If you were limited to passing on one piece of advice to junior programmers, what would that be?

When you start feeling that you have reached your potential and no longer improve your skills within your current environment, just change something. Never settle down, always try to learn more.

What piece of technology excites you the most at the moment?

I find architectural patterns exciting. Spring WebFlux framework is the most recent one that caught my attention, it allows you to build reactive java applications, it’s a new alternative to Spring MVC.

What about the future? Do you have your sights set on something that’s yet to be released?

Companies usually adapt new technologies in their projects once they have reached a certain degree of growth and have sufficient amount of know-how. There isn’t any particular framework or library that’s on my radar at the moment, but I’m happy to test out cutting-edge technologies when they’re a good fit for the business case.

To what extend are soft skills needed for a software developer?

IT industry is more about working with people than working with computers. If you can’t communicate with your colleagues, negotiate with your manager, lead your team or in general collaborate with team members, chances are you may not be hired or promoted.

If there are several applicants for a position as a junior developer, then on top of his or her technical expertise, the interviewers will select the person who demonstrates any of the above-mentioned skills. Soft skills such as leadership, time and process management can also be taught and I advise every software developer to develop them alongside their technical knowledge.

What do you think about the future of remote work after the pandemic is over? Will the tech industry accept the distributed way of working and what’s your experience working from home?

Many companies have seen that working from home is just as effective as working from the office. The nature of the work itself makes it possible for developers to complete their tasks remotely and that is great. I am only concerned about the interns and junior developers. They need support and guidance most of the time and for them live contact will be the better option for sure.

What are the first 3 words that come to your mind when you think of software development?

  • Programming
  • People
  • Process

In the Picks section you can share any resource that’s worth checking out. Do you have any picks for us?

I watched a movie a long time ago that I found quite revealing. It has changed my way of thinking and outlook on life. This is my biggest secret that has helped me all along. The movie is called The Secret. There’s also a book based on it I think.

It’s about how the power of thought can affect your reality. They also talk about the connection between quantum physics and thoughts. You can have anything, you just need to believe without any doubt and imagine your dream and the universe will do it in the most harmonious way.

Your favourite developer joke?

Are you an exception? Because I can’t wait to catch you.