OpenVPN Blog

An Interview With OpenVPN Developers

Written by OpenVPN Team | Oct 2, 2024 3:16:23 PM

Our products here at OpenVPN are developed by small but dedicated teams, all passionate about delivering high-quality solutions. OpenVPN and its products are primarily focused on the client and their information security needs. Our developer’s goal is always to make the software as reliable, secure, and user-friendly as possible — and they accomplish this through focused teamwork. Today we are pleased to introduce you to three members of the incredible team behind Single Sign On (SSO), OpenVPN Cloud, and Unified Billing for Access Server and Cloud: Taras Kostenko, Vadym Diachenko, and Andrii Lukhanin.

Taras has twelve years of software development experience and has worked for companies such as Expedia and Blackberry. He is a husband and father to three awesome kids and enjoys fishing, soccer, and playing video games.

Vadym is a programmer with four years of experience and came into the field as a long-time hobbyist. He is a husband and father of two. He is very interested in space exploration, military history, and automation using microcontrollers.

Andrii has a Master’s Degree in Computer Science and has been working in software development for five years. He is a big fan of DC comics and science fiction movies, playing video games, riding bikes, and shooting footage with his drone.

 

But we have to predict the future needs, too, and make functionality as flexible as possible.

Andrii Lukhanin
 

Creating New Products

Taras, Vadym, and Andrii are responsible for analyzing our user’s needs and then designing, testing, and developing software solutions to meet those needs. This often means building products from the ground up — and usually within a very short amount of time. “The biggest challenge for me was building a project from scratch over the short term,” says Taras. “We had to design a very complex solution in a few months.” They also have to juggle continually changing requirements to make sure they are delivering the best products possible. “We not only create new products according to initial requirements,” explains Andrii, “but we have to predict the future needs, too, and make functionality as flexible as possible.”

Initially, the developers were working on two main products — Access Server Billing and OpenVPN Cloud. For OpenVPN Cloud, they set a goal for themselves and a time limit to reach that goal — but then SSO developed from the need to unify Cloud and Billing user’s registration and login. “I remember my boss asking me how much time I needed to move user login functionality to the separate project (future SSO), and I foolishly said that it would take about a week,” Andrii remembered. “I succeeded, but after that, we were fixing bugs for another two weeks.”

Another challenging part of creating a new product is predicting future needs and making the functionality as flexible as possible. The team is continuously adding new functionality for customers’ convenience, and it can feel like trying to solve an infinite number of problems. Thankfully, that’s exactly how Taras likes it. “I like to solve puzzles,” he says, “and programming for me is just an infinite source of puzzles.” Once he solves one puzzle, managers bring him another one that’s even more challenging — luckily, he enjoys applying himself to those technical challenges. After all, the more challenging the task, the more satisfying the win.

 
 

Collaboration

OpenVPN teams thrive on cross-collaboration. The goal is always for developers to feel connected — knowing that help is available to them whenever they need it. Different teams work on their own projects, but going across departments and groups to get a job done is encouraged. Plus, as Vadym explains, “Sometimes features require development on several products at once,” so multiple teams are all involved and working together anyway. 

This can be challenging since every project has its own unique goals. Someone might come over from another project and request changes that can radically alter the original vision — in that case, the teams start negotiating to reach an optimal solution. According to Vadym, the key to success in these cases is communication. “Constant communication and exchange of experience helps us to solve the task quickly and efficiently.” Keeping an open dialogue and open mind is paramount.

And there are other benefits to this kind of cross-collaboration. “Someone else can come and dive into your code at any time,” Taras explains. “It forces you to make your code clear and ready for anyone else to review.” Transparency throughout this kind of constant teamwork and communication serves to make the highest quality products — not to mention a team that can feel supported and connected.

 
 

Creativity, Autonomy, Integrity

For the most part, the high-level strategy is left to product managers — but the developers strongly influence the backend architecture. Vadym explains that “when it comes to making high-level technical decisions for the implementation of set tasks, we take full responsibility.” Product managers establish the end goals, but the teams can essentially design the products however they see fit. Taras adds that “creative freedom is one of the best motivators for a developer. While working at OpenVPN I’ve realized one simple lesson: everything can be done. Blockers are only in your mind.” 

That mentality is core to the culture at OpenVPN, where the three main company values are Creativity, Autonomy, and Integrity. Taras, Vadym, and Andrii are prime examples of living out those company values, as they continually strive to bring different strategies to fruition. Andrii’s favorite part of working at OpenVPN is getting to use his skills and talents to create something entirely new inside the OpenVPN ecosystem. “It is always exciting to think over the journey a product (or feature) should make before reaching our customers. It is like bringing up a baby — a little software baby.”

Vadym explained that the warm team atmosphere, comfortable working conditions, and the ability to test several and choose the best technical solutions make the best working conditions as a developer at OpenVPN. “In such conditions, teamwork allows you to solve problems of almost any complexity,” he says. Andrii agrees:  “I realized that any idea could come to life — and the company allows me the freedom to make it happen.”