C++ Software Developer

#Gdansk #Full time

Apply now

Who we are looking for?

We are often the first line of technical analysis for cross-component issues and it is not uncommon that we are tasked with creating a design requiring coordination between multiple teams. So, on top of familiarizing ourselves with Docker, Azure, OpenStack, AWS, VMWare, and more, we also need to have good understanding of what entire Dynatrace monitoring does. Bearing that in mind it is clear, that good communications skills are of tremendous help in our responsibilities.

What do we expect from you?

  • Excellent C++ programming skills
  • acquaintance with coding best practices, tools, and techniques supporting the development of good-quality code
  • knowledge of the technologies used to develop distributed applications that process large amounts of data, operating in both Windows and Linux environments
  • ability to complete assigned tasks independently and as a part of a team
  • very good English communication skills
  • ambition to develop in the area of ​​creating scalable components processing data collected from both application and operating system
  • open mind and incentive to learn and gain experience in new technologies and programming languages

About teams you may join

Infrastructure Monitoring Agents Team

Working in Infrastructure Monitoring Agents team means developing the very heart of Dynatrace SaaS and Managed agent based monitoring. Working in the vanguard of handling various rapidly changing New Stack applications means that there are little to no solutions publicly available and we are the first to provide them. Being part of Infrastructure Monitoring Agents team therefore is associated with learning a wide array of new technologies and designing how to monitor them.

At the end of the day we go to sleep richer with knowledge about new technologies and with sense of fullfilment bolstered by end to end functionality that we provide.

Dynatrace Plugins Team

In the team that creates plugins for Dynatrace SaaS/Managed products we learn how new technologies work. Sometimes it's about things that are out there for some time already and have a big market adoption. Sometimes it's about technologies which are new on the market. In order to create a plugin we need to setup the environment where we can test it. We focus on performance, so we try to simulate real life usages where we can reason what's important from that point of view to users of that technology. In our daily work we work with python (plugins itself), C++ and Java (both for extending the plugins framework, Java additionally for creating various tests), vagrant and chef (we base our technology test environments on it).

It's not always pure fun as sometimes we struggle with making a technology use case work or need to fight with installing a specific version of the technology or adapting our Vagrantfiles so that they work with AWS or ESXi or spend some time looking at jconsole to find the mbean that id of interest to us or edit a json file for which we did not manage to create a UI for. The result of our work extends the functionality of the whole Dynatrace SaaS/Managed product with the visibility for the given technology. Let's take Elastic Search as an example. Without the plugin we had in the product a service level view of it. For example when Java applications were accessing it. With a plugin we extended our product so that it has a close eye on the performance metrics that Elastic Search is providing.

Recruitment process

Step 1: You send your job application
Step 2: You are invited for the personal meeting with us.
Step 3: You meet with Development Lead and team members to talk about your experience, technical skills and english communication skills
Step 4: You meeet with Development Lead and HR representative to sign your contract. Congratulations, welcome to the Dynatrace Team!

Apply now