Back to All Posts

Programming Renewable Energy Monitoring Systems with Edina, .NET Software Developer

Edina Balog joined Fortech in 2018. Since then, she has had the opportunity to explore different career growth perspectives by working with various technologies and gaining experience in mobile, desktop, and web development. Today, she is working on a complex Renewable Energy Monitoring System for a client in the photovoltaics industry, and she’s focusing on improving her coaching and mentoring skills.

Get a glimpse #BehindTheCode, meet Edina, .NET Software Developer at Fortech.

Tell us a bit about yourself – your background, interests, and hobbies.

I was always passionate about technology. As a child, I was the go-to person in my family to fix TVs or computers – this also meant sometimes breaking them first, then finding the solution. :)

In high school, I studied Mathematics and Computer Science in Oradea. My hometown was a couple of kilometers away, so every week on Friday, I traveled home with a friend who was working as a Software Developer in Oradea. We had endless discussions about programming. It was in fact those talks that convinced me to start my journey in tech and dream of becoming a Software Developer.

In 2016, I got my bachelor’s degree in Computer Science from the Babes-Bolyai University of Cluj-Napoca. I’ve been working in the tech industry for the past five years and, despite the difficulties I faced, I could not be happier with my career choice.

In my free time, I enjoy playing strategic board games with my friends and traveling abroad or within Romania. There are so many great places to explore.

The past year was challenging, but it didn’t stop me from visiting new places and gathering new experiences. One of my favorite countries to see is Italy. I love the food, the language, and the vibe, so I managed to visit it the second time this year.

How did your career evolve at Fortech?

I joined Fortech in 2018 as a Junior Software Developer in the .NET field. I consider myself very lucky, as I had the opportunity to explore different perspectives by working with various technologies and gaining experience in mobile, desktop, and web development in the past few years.

My first project at Fortech was a mobile application where we used Xamarin.Forms, an open-source cross-platform framework from Microsoft for building iOS, Android, and Windows apps with .NET, from a single shared codebase.

For a few months, I also worked on two different, already ongoing desktop projects, where my responsibility was to add some new features. That’s how I got familiarized with WPF and with desktop development.

Currently, I am working on a web application, and I was promoted to Mid Software Developer. My day-to-day responsibilities include:

  • Contributing to project development.
  • Managing production releases.
  • Offering technical support and mentoring my junior/mid developer colleagues.

What software project are you currently working on?

Together with my team, I’m working on a web application that allows users to monitor solar plants. The most valuable features of the application are live charts, periodical reports, and error notifications. The project can receive an excessive number of packets from the connected inverters and other devices. Relying on that, the most innovative part of the software is telling apart false alarms and real maintenance problems. The algorithm that sees the performance drop off a device considers the performance of other close-by devices as well. If the performance of those devices has fallen too, then the cause is harsh weather, not technical difficulties.

The application has an ever-expanding admin interface that allows an overview for the client and the possibility to execute administrative tasks from the user interface (as opposed to working with database scripts).

Lately, the project has been expanded with services that allow the users to request support (repairing, servicing, etc.) for their devices online, directly from the UI, eliminating the need for phone calls and reducing the load on the customer support team.

What’s the project’s tech stack like?

The project is a long-running one, 13+ years, so it is in the team’s best interest to have the most robust architecture possible.

Although the application uses an older base technology (Asp.Net WebForms), all other tools are kept modern (SASS, Gulp, Twitter Bootstrap).

The product has multiple components: load-balanced services that collect the data, local services that maintain the database, send emails, and generally operate on data (for different services we use ASP.NET Web Services, Windows Services), the web application allowing users to visualize the data of their devices, an API allowing users to download the data of their devices, APIs serving other pieces of the solution, like the Android and iOS apps. A big amount of data is stored in a database in an MS SQL Server. The application communicates with it using LINQ to SQL. We also use DevExpress, HighCharts, GoogleChrome Puppeteer, Quartz.NET, and many other frameworks and libraries.

We’re working with an Agile process model, which means that after a two-week sprint we deploy the latest version of the application to the development platform. We start by planning the sprint content based on the client’s requirements, prioritizing the tasks and bugs as requested, and focusing on product development. We test the changes, then the latest iteration of the project is delivered to the development platform. Then we repeat the entire process while we make sure to incorporate feedback from the clients.

Coffee break and brainstorming

What’s your favorite thing about this project?

I like that as a team, we only accept high-quality code. We modernized different aspects of the project in the past years, and I was fortunate to experience the whole process. It was a perfect training project for me due to its robust architecture and the experienced team I got to work with. Now, I’m working on new and more complex requirements and features. The fascinating thing about this project is that we are constantly implementing new functionalities, expanding, and updating the system, even if it’s a long-running one.

What’s the most challenging thing about this project?

The implementation’s most significant challenge lies in the application’s ability to receive the data and show it to the users. This challenge comes from the large number of connected devices.

Also, the same product is used for multiple clients. The key idea is that every requirement, every milestone, every feature is part of the complete system at the highest level. The existing systems deployed at various customers are essentially a collection of features. Each feature is defined as depending on or enabled by other features. Therefore, when we’re developing a new feature, we must be very careful, as maybe it is requested only by one of our clients. When the feature is turned off no sign of it can be visible.

How about the team? How’s the vibe?

Our team has six members, five developers and one team leader. This past pandemic year has been challenging for all of us, especially for my colleagues who are also parents. But as a team, we always try to help each other in every situation. So, I think that since working from home, our team has grown stronger. We became more supportive because we dedicated more time to hearing each other out. We also met for a coffee, a homemade cake, and some fun time in one of my colleague’s gardens in Salicea.

Now, we are going to the office a couple of hours per week to have a planning meeting in person, and of course, we have lunch together.

Edina and her team at lunch

What advice would you give to someone interested in joining Fortech?

There are so many opportunities and perspectives to explore different projects and technologies that I am sure you will find one that fits you.

Fortech provides multiple training programs for technical and soft skills, but there are so many other activities to enjoy. For example, this year, I joined the 3rd edition of our internal sports competition called Fortech Moving Challenge. It’s a 6-month program that encourages us to go outside and practice biking, running, walking, and swimming. All this in a gamified context – with points to collect, levels to achieve (with team and individual targets), and prizes to win. So, if you are a sports enthusiast, you should work with us! :)

What’s next in your career journey?

In addition to technical self-development, I am focusing on improving my coaching and mentoring skills. I got to join a training provided by Fortech called “Leading People | Managing Work” which has helped me understand the basics of team management using industry-proven models and made me evaluate my own work and workload from a different angle. It was indeed a very useful training program.

Besides attending in-house training sessions, I started putting things into practice by becoming a buddy for new colleagues and attending technical interviews.