OpenVPN Connect is an essential tool in the OpenVPN ecosystem, backed by a talented team that’s passionate about constantly improving this app. Today we are pleased to introduce you to four of the talented developers behind the OpenVPN Connect App to share more about how they work together, their strategies for development, and how this app became such a success.
Anton Roienko completed his bachelor's degree in computer engineering at Dnipro National University and has four years of experience in web development. He enjoys reading classical literature, traveling, visiting tropical islands, and playing tennis.
Dmytro Chernenkov studied in Siberia and at Tomsk State University. He has a background in television, website development, and mobile applications. He is interested in technology, playing computer games with his friends, traveling, and playing sports such as tennis, football, and volleyball.
Vlad Tabaka has his bachelor's degree in information security and has a background in desktop and mobile application development. He is married and has a young daughter, and loves to travel. In 2015 he participated in AIESEC, which is an international leadership program for young people.
Working on OpenVPN Connect
Anton, Dmytro, Vlad, and Dmitriy are responsible for working on the OpenVPN Connect client for all platforms. Right now, they are specifically focused on improving the appearance and UI/UX and adding some exciting new features. Dmytro explains that when he started working at OpenVPN, his primary task was to "refactor the codebase using TypeScript and React function components. I rewrote almost the whole UI part of the application using this technology." Dmytro also does a lot of work in the command line, which he says allows him to learn new skills and go deeper into the application workflow. Dmitriy in particular is focused on OpenVPN Connect 3.0, and Vlad is excited to implement new features that are closely connected to OS API and networking: "It opens all new horizons for me as a developer."
According to Anton, a lot of the work involving OpenVPN Connect is challenging and very specific, often requiring him to "have the ability to sit still and not give up for long periods." Dmitriy explains that with OpenVPN Connect 3.0, “because of the fairly small team size we would never be able to just ‘brute force’ our way in and build the client the way we did with 2.x for each platform natively. The UI is far more complex, and overall the feature scope is too big. Our solution was to utilize Electron + React Native combo and write all common code that could be shared across platforms. It sounds easy, but it’s really not. We still have a ton of code that is platform-specific.”
For Dmytro, the most challenging task he has faced in his role so far was creating a command line interface for the OpenVPN Connect client. "We underestimated the initial task, and in the course of work, we faced many difficulties. But in the end, we were successful because we worked as a team and had open communication." Vlad explains that every new feature within Connect presents a unique new challenge. "It's all about investigation," he says, "And that is what I love about working on OpenVPN connect."
The Value of Teamwork
The apps team is small and closely knit, and project success is dependent on teamwork and collaboration. Anton explains that each team member has their own special area of expertise, and everybody is quick to share knowledge. It helps individuals within the team grow, and it also helps to accomplish significant tasks and overcome obstacles. "If I have any questions at all, I can go to any colleague for help," he says. "Everybody is very involved in every single project.”
According to Dmytro, "This is the best team I have worked with in my career so far. We resolve challenges together, and everybody helps each other." He explains that the apps team used to work on features individually, but they decided to try working in pairs. "We have found that this improves performance and solves some complexities. For example, if someone is away on vacation, then the other part of the team will always be aware of the nuances and be able to pick up where they left off."
Vlad says that working together on projects goes a lot deeper than just writing out code. "It's all about communication and teamwork, and understanding how your teammates are thinking, and why." It also requires reaching outside of the department to get insight from other people. "Some tasks can not be solved alone within the app dev-team, so we need to pay attention to how features are implemented on other projects (e.g., OpenVPN Cloud). We need to be able to communicate and get on the same page as other departments." Dmitriy explains, “The people I work with are a good bunch. Every one of us knows we're all professionals and we treat our peers with respect. And this, in my opinion, is a very healthy environment to work in.”
Prioritizing the End User
The apps team aims to make OpenVPN connect secure and easy to use. Anton explains that "each feature is thought out in great detail, and a lot of thought and work goes into everything we do." Dmytro says, "OpenVPN Connect is a great product and the whole team that cares about it. We always listen to our clients, and our top priority is meeting and exceeding their expectations." Vlad echoes Dmytro, saying "we read all the feedback and always do our best to make sure our clients are happy using the product." That’s why the team is so excited for OpenVPN Connect 3.0. Dmitriy explains, “this particular project is utilizing a stack of technologies like nothing I've seen before. Connect 3.x is a new iteration of an already existing product that aims to deliver a more pleasant UX and UI, using modern tech across four major platforms. It also has some new features, some of which are Access Server-specific.”
Vlad also added that the key to their success is that they have a good process in place as a team — and even more than that, the team is passionate about developing the product, which is why they can accomplish so much so quickly. The whole team is excited to work with new technologies and new tasks they have never experienced before. The process of researching and learning new knowledge and improving is something they are all passionate and enthusiastic about.