You will be working on a VPN client used worldwide. It is a desktop software available for Linux, MacOS and Windows implemented in Qt. You understand the challenges with software installed on end user hardware, therefore you are committed to writing high quality code. The application currently supports the protocols OpenVPN and OpenConnect.
You will maintain all aspects of the software. On the one side, the GUI; on the other side, VPN and network stack (TCP/IP) related functions. You will be responsible for adding new features and VPN protocols, namely SSTP. You will use the existing open source project and integrate it with the application. You will quickly find out the complexity of the software and you are eager to take on the challenge of implementing cross platform support for various networking features needed by a VPN client.
You will provide developer support to the second level customer support team which will report issues to you. You will keep track of these issues in our trouble ticket system. The support team has to deal with many thousands of end users, many of them often reporting the same issue. So you will work closely with that team, resolving those issues in a timely manner helping to free up their resources.
Spoken Languages: You are fluent in German or English, with good communication skills.
General Attitude: In general you have a growth and learning mentality, which will be highly valuable in filling any gaps in knowledge or skills as we continue to push technology forward. You keep yourself up to date with the current state of the art in the software industry and you are excited about new developments which you follow out of your own interest. As a experienced professional software developer, however, you are able to gauge when a framework, library, or tool is mature enough to be used in one of our projects.
General Developer Skills: As an experienced developer you know how important it is to keep your code maintainable. Therefore you employ REFACTORING — the art of transforming code one small step at a time, along with unit tests which you insist on running after each change. Because you understand refactoring well, you know how to separate structural changes from adding features. When adding new features or fixing bugs you use UNIT TESTS ideally in a test first manner.
You know how hard it can be remembering why a change was made or a feature was implemented in a certain way, particularly if some months have passed. Therefore you keep your coworkers and your future self in mind when adding new features or fixing bugs by leaving comments in the code explaining the reasons and causes for a change.
C++: If you are applying for any C++ software engineer positions, you are certainly a proficient C++ developer, and you are up to the task of cross platform development targeting Linux, Mac and Windows. You know the Qt library and how to maintain a CMAKE-based build. Of course you prefer to do the bulk of the development in Linux, but when it comes to addressing platform specific APIs you also enjoy the challenge of solving a problem directly in MacOS or Windows.You understand the power of a good IDE like CLion and you use not only its simple editor functions but also employ its more powerful features.
- Idioma: Inglés
- Experiencia: 3-5 años
- Formación Mínima: Licenciado
- Nivel Profesional: Empleado
- Tipo contrato: Indefinido
- Jornada: Jornada completa
- Salario: No especificado