In recent years, a career in IT has become more and more in demand. If not long ago, in order to become a programmer, it was necessary to graduate from a specialized faculty, but today many of those who work in this field attended informal courses or learned programming on their own.

Interview with Kosmin, Senior Software Engineer at Keysight TechnologiesPhoto: Keysight Technologies Romania

The lack of need for formal education, also caused by a very high demand for IT professionals in the market, is probably one of the main reasons why we can see a trend of professional transition to IT among workers in Romania.

To learn more about what a software engineer career entails, from knowledge to responsibilities, I spoke with Cosmin, Senior Software Engineer at Keysight Technologies Romania.

1. How did you decide what field to work as a software engineer after college? Where did you get support from and what steps did you take?

My professional career began right at Ixia (now Keysight Technologies). In 2009, a college professor recommended me for an interview, I was hired, and the rest is history. I am currently part of the Platform team where we develop functionality for the TCP/IP stack.

2. How important is the first company where a software engineer works for a future career?

The first work is not forgotten. I don’t know if it necessarily matters where you start, but rather to figure out what you want, what you like to do. I think very few people get their dream job right away – usually more experience is required.

I consider myself lucky because my first job was networking, which I have been passionate about since college. Here, I think internships also help a lot, because you can experiment with different projects during your studies, and when you graduate from college, you should have a clearer idea of ​​what you want to do.

3. What should an engineer pay attention to when deciding which field to specialize in?

Firstly, he should choose what he likes, and secondly, I would say that the area should have potential for future development. There are many areas of specialization in the field of programming, and fortunately there are departments such as the Faculty of Automation and Computers at the Polytechnic University of Bucharest that allow you to interact with the most important of them. This makes it easier to make a choice.

4. Many young people very often change the companies in which they work. How did you do it and what do you recommend?

Indeed, new generations change companies quite quickly. It takes quite some time to get used to a product/technology and contribute significantly to the development of a particular product. On the one hand, it is good that he is constantly experimenting and learning new things, on the other hand, I always start from scratch.

Although, as I said before, I was lucky that my first job was in a field I loved and with very interesting projects, after a few years I was also tempted to try something different. However, after that move, I realized that networking was my passion, so I returned to Keysight.

5. What does a senior software engineer do? What are his duties?

A senior software engineer must know all the technical side of a project and help and guide new colleagues. Then they need to think about how to improve the product. Last but not least, they must have the courage to risk breaking things, but also the ability to fix them, because otherwise there can be no progress. Large companies have extremely complex projects that have been developed over several years, whose alignment with new requirements and technologies stagnates due to the possibility that changing one component will have an undesirable effect on the functionality of the whole.

6. Can you tell us the stages of development of a software engineer from junior to senior? How many years of experience are required and what should they do?

I don’t think junior or senior engineer rank is as important as experience. Everyone should think about continuous learning and development. I guess you’re older when you’ve read enough code that nothing seems new to you, and I still have things to look at after 12 years and hundreds of thousands of lines of code. The field is so active that if you don’t follow a large open source project for a few months, you’ll lose track.

7. Many senior engineers waver between becoming software architects and choosing a position that involves more management. What is your recommendation and why?

I believe the two roles require different skills and passions. Both are very important in a team, but you need to understand if you prefer working with people (people skills) or if you are always focused on technical details.

8. Have there been situations when you had doubts whether you are doing what you like or not? If so, how did you solve them?

I think that even when you love what you do, it’s important not to fall into a routine, without the joy you feel when you succeed at something, and it wasn’t easy. When I got into such a situation, I decided to change the project to something more interesting, with greater complexity.

9. What technologies are you currently working with and how are these products changing people’s lives in general?

I work in the field of TSN (Time Sensitive Networking) with applications in fixed, wireless or mobile networks. Our products help test our customers’ equipment in industries such as automotive and telecommunications that are about to go into production. As technologies, we use Docker / Kubernetes deployment, network concepts virtualization (NFV), traffic generation from the kernel and DPDK, VMware virtualization (ESXi, vCenter), OpenStack private cloud administration.

10. What would be the definition of success for an engineer?

As in the case of an actor, the success of an engineer comes from a portfolio of projects, knowledge, and talent. A successful engineer must achieve results, be reliable to accept new challenges, and at the same time his work must be appreciated by other engineers and be willing to share his experience.

The article was developed by Keysight Technologies