Ivo joined our company last year as part of our Sirma Trainee Lab. Within a short period, he distinguished himself from the others with his communicativeness, resourcefulness, ability to learn quickly, and problem-solving skills. Learn more about his six months journey from trainee to a junior developer and valuable team member.
How did you decide to start а career in the IT sector?
My previous job was as a freelance writer. I was writing articles and commercials. It was a great job but being your own boss is not as easy and cool as it sounds. In freelancing instead of one, you have three main roles – marketing, sales, and the person who actually does the job. That’s like developing three different careers. It requires different skills in each area, and I thought that I won’t be able to be great at anything if I continue this way. Plus, there are not many people who do that in Bulgaria, which means I had to progress alone. That provoked me to look around for other opportunities. Then I asked friends who were in the IT industry about their job and what they do on a daily basis. They told me glamorous and inspiring things, but they also mentioned the hard, challenging part of their profession as well. All of them encouraged me to try it out, so I decided to do so. Otherwise, I will never understand what would happen. The only option that I had at that time was to join a programming course. There was an upcoming course next week. So, I was in a win-win situation. I would start a new career as a programmer or I would conclude that programming is not for me. The fact you are reading this interview shows which path I have chosen.
How did you decide which language to choose?
In the course I was part of, there was a choice between Python, JS, Java, and C#. Java is the hardest amongst them, which means most people will either choose another language or won’t be able to finish the path. Besides, I did my research and found that the language is not so valuable, especially for beginners. The crucial thing is to understand the main programming concepts and not to be fully focused on technologies. My friends who are programmers and work with Java, recommended me to try it because Java is a strongly typed language, which is a great start because I will learn how to write clean code. And if I switch to another language, which is not so strict, I will be able to use that freedom wisely.
How did you learn Java for 7 months?
When I started my programming journey I decided to put all of my energy and focus into it. I stopped writing articles and I was ALL-IN into programming. I wanted to develop my programming skills ASAP. So, for seven months, my whole life was programming and sport. I needed to do sports because that helped me to stay as efficient as possible every day. In the middle of the first course, I was extremely fascinated by programming. I found it super engaging and thought-provoking. And I thought I would be very proud of myself if I started working in this field. I compared it with solving math problems, which was one of my strengths during high school. Then I signed up for a 2nd programming course. That allowed me to watch previous lectures of the course that I have signed up for, plus the upcoming courses after it. That way I have watched all the materials and solved all the problems for each lesson before the starting date of the course that I have paid for. Till the official end of my course, I went through two and a half more courses.
Why did you decide to apply for the Sirma Trainee Lab program?
When my course expired, I no longer had access to other materials. And the next one is supposed to start in a couple of months. Waiting for the next course was not an option. At this stage, I knew data structures, OOP, SOLID, MySQL, and Git.
So, I had two options:
1) To prepare for interviews and start applying for jobs
2) To start building my projects, which I could use as a portfolio for my future employer
I decided to do both of them simultaneously. Nothing can replace working with a team on real projects. So, if I wanted to move faster, applying for jobs was the next step. I knew that no matter what the result is, each interview would make me better prepared for the next one. I decided to apply for Sirma Trainee Lab, because Sirma is one of the biggest software companies in Bulgaria and it is not only a product company, which is essential for me. I wanted to work on different projects with different teams in order to get more experience in less time. In most product companies, that is not the case. Besides, in Sirma we can work from everywhere - office, home, or wherever we want. I was looking for this kind of freedom where the results are the most important thing, not the time spent working.
What part of the trainee program did you like most?
The best part of the Sirma Trainee Lab is that as soon as you join the program, you start working on real live projects. From the first week, I saw what a real project looks like. I have started on a project which has been running for 2+ years. It was pretty big and challenging at the beginning. I had difficulties navigating the code. But with a lot of debugging and patience, my awareness of the project got better and better with every single day. That was great from a technical perspective, but I would never know what I know now without the team. Every time I had some difficulties, they were there ready to help. So, I am really grateful for the colleagues who I am working with.
What obstacles you had?
I had a lot of obstacles. While studying, the biggest project that I had seen was about 10 – 15 classes. And the size of the real project was dizzying, plus everything about the project was completely new to me. I had to find a lot of things on my own. Of course, colleges are there, but sometimes the best way to learn something is on your own. That also helps to come up with more meaningful questions for the colleagues. Besides, first I had to fill the gaps in my knowledge. I had to learn the Spring framework (Actually, that is what I did my 1st month) and Jooq, which is a tool similar to Hibernate but better. I had to understand what an API is, how it is connected with the front end, what Docker is and how it helps, and many many other little things.
What were your goals when you started and did you achieve them?
My goal was to understand what the project was about as fast as I could. I had goals for every task. I wanted to learn how to solve real problems faster. For me, the key point was writing about the problem on a notepad. That way I organize my thoughts, which helps me to figure out in which direction is worth digging deeper. That way I manage to separate one huge task into smaller ones. In other words, making a step-by-step strategy to solve the task. When it is clear what should be done then it is much easier to write it up as code. It is hard to measure how fast I entered the project. But according to the feedback from my colleagues, I’m doing very well. So, I achieved some goals, others I didn’t but that is part of the game. I think if we achieve all of our goals in a short period probably we haven’t set big enough goals.
What tips would you give to any newbie who will join the program?
1) To set and chase goals. The fact you have a job is awesome. But here is a place where challenges and growth begin. Finding a good job is not a final destination. It is just a step.
2) To ask questions until everything is clear. In the beginning, it may be strange, especially for people who are not accustomed to it. But asking questions and carefully listening to the response is one of the fastest ways to get better. What would you prefer to look stupid for 2 minutes or not to know something?
3) To be patient. It is a cliché, but in my opinion, it is the most important thing, especially for young people. It saves a lot of time in the long run. I don’t mean just to wait for something to happen by themselves. Be prepared, come up with a plan, take action, and don’t expect some magical things to happen. It requires a lot of effort to be a true master in something. So, take your time.