Katerina Zorina, a full-stack developer at Beetroot, tells how universal specialists can increase a team’s efficiency and gives recommendations for those who’d like to be multifunctional developers.

How it began

I got into hard science when I was in school. I had an awesome physics teacher and I owe him for my fascination with tech subjects. When it was time to choose a university, I sent my documents to a couple of technical institutes without a doubt and ended up at Kharkiv University of radio-electronics. I’ve never experienced any weird feelings about being a girl who studies the automatization of production processes. But, it should be mentioned that there were a lot of girls in my group — around 30-40% of all students. We didn’t feel male dominance looming over us. But our fellow students at a radio-technical faculty couldn’t say the same — they had only three or four girls for the entire course.

When I was enrolling for my studies, I didn’t have the slightest idea of how to write complicated code. Then, slowly, I’ve learned everything and even decided to complete my diploma with Java. I really enjoyed working on the practical part. That was a moment when I realized that I want to keep programming in the future and started digging into C#, which became my main language to work with. Luckily, I had enough resources — websites and books — to learn everything on my own.

Next stop — full-time job

My first job was great. There were very interesting technologies and people who were ready to help me become a better specialist. Six years passed and now I work at Beetroot for the Zwapgrid project. It’s a platform for data streaming between different systems, clients and partners. I’m developing new functionalities and maintain the existing ones. Basically, I’m working with a set of technologies that have remained the same for quite some time. The main ones are ASP.NET MVC, ASP.NET Web API, ASP.NET Core, Entity Framework Аngular JS, and Angular. On top of that, I have experience in working with MS Sql Server and MongoDB.

Full-stack developers and why they are dope

Full-stack developers can work with any part of a project, whether it is related to changing the front-end or back-end. It means that full-stack developers should possess multifaceted knowledge. However, taking into account the specificities of a project and their personal preferences, these multifunctional specialists usually have a deeper knowledge of back-end than front-end or vice versa. When clients start looking for a full-stack developer to join their project, they should pay attention to the ratio between job experience with front-end and back-end, as well as at the specificity of the project itself.

Full-stack developers can become a valuable asset for a team. First, such multifunctionality allows us to get our teeth deep into the code and website architecture, deeper than anyone. Besides, we understand the logic of both front-end and back-end parts. If there is a situation that someone from the team needs to take days off, the entire process won’t stop because we’ll be able to catch it on the go at any time.

For those who want to become full-stack developers

In order to start working with my stack of technologies, you’ll need to learn the basics. For example, you can start with C#. Nowadays it’s easy to find the necessary information on your own if you are okay with this way of studying new things. There is a good resource called Pluralsight — it’s a website that aggregates an incredible amount of different video-lessons about the languages of programming and frameworks. You’ll have to pay for your education, but it’s definitely worth it. If you’re looking for free of charge courses, you should check out Microsoft Virtual Academy.

After you’re done with the basics, choose the direction that you’d like to pursue — desktop, mobile or web development. Based on your personal preferences or based on the rate of frameworks, you can choose technologies for further learning. For instance, if you decided to work with Microsoft in the web direction, you’ll need these frameworks: ASP.NET MVC, ASP.NET Web API, ASP.NET Core. If you want to work with front-end, you’ll have to start studying JavaScript/TypeScript. But don’t waste too much time on theory. The theoretical part is important but we learn faster when we work on real, practical tasks.

Direct communication with clients is very important

At the beginning of working on a distributed team, I faced certain difficulties, but those were positive challenges. They helped me to deepen my knowledge and to continue my self-development. I always liked the fact that our team was built on direct communication with clients. I think it’s a great advantage.

Our clients are located in Sweden, so the time difference between our countries is insignificant. Whenever we have a question, we can immediately get in touch with the rest of the team and discuss it. We have a policy of being honest and transparent. So we can express all our thoughts about the project even if they don’t coincide with the team’s majority opinion. We always try to find solutions that will be accepted by everyone on the team.

Besides, when communicating with clients, we boost our English. People in Sweden have a good command of English because they have bilingual TV and radio-translations. Talking to them on a regular basis allows us to polish our English proficiency too.

Plus, direct communication allows clients to get a better understanding of what’s going on within a team. They can see the progress of every team member, our productivity and the results of our work without the interference of third parties. This way we can build a strong team, where everyone feels in the right place.

By the way, Beetroot has an open vacancy for a Full-stack developer. You can read more about it, Maybe, it’s you that we’re looking for.

Job openings