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?

  • Great 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 set up 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.

Dynatrace PHP Agent Team

In the PHP Agent team we do not write e-commerce sites in PHP; rather, we hook into PHP language runtime and monitor its internal workings. This allows one to learn a lot about how dynamic programming languages are implemented and how they operate. PHP itself is written in C with heavy use of macros, but we use C++ for convenience. Occasionally we also extend server components, which means Java. Our job also involves troubleshooting real-life customer problems, which may involve native code debugging (also core dump analysis) using gdb/cgdb; low-level skills grow naturally in such environment. As with any invasive agent, quality is very important in our work. Unit tests are of limited usefulness here due to total dependency on the PHP runtime. We use ATF module tests in combination with integration tests / BigTests, as well as two types of performance tests. Our Agent must work directly with both Dynatrace SaaS (ruxit) and AppMon, so is of course tested with both products in parallel. As PHP is very popular in the Web for application development that usually interface with databases, other web servers etc., PHP Agent is a key component for giving the customers end-to-end view of their systems.

DC RUM Server team Team

Have you ever heard of a network sniffer? Take it to the highest level and that's what our network probe is. We perform the intelligent analysis of all the wire transmissions, which even involves the SSL decryption. Just mirror the traffic to our box so that we can listen and we will help you troubleshoot your applications and find bottlenecks in your network, with zero overhead for your apps. We can keep up with 40Gbps – aren’t we performance experts?
The team owns 1 million line code base in our GIT repository, all of it crafted to handle complex network protocol analysis in real time. The product is robust and it still grows. We work hand in hand with our Product Managers on the new features for over 600 customers, as well as continuously improve our code in terms of quality, responsiveness, and tidiness. One of our tasks (in cooperation with the support team) is to help customers resolve their issues, but most of all: we have fun every day at work in the atmosphere of a global surveillance agency.
Due to the nature of our work, we had to jam the transmission of a team picture.

Recruitment process

Step 1: You send us your job application.
Step 2: We invite you to a personal meeting with us.
Step 3: You meet with the Development Lead and team members to talk about your experience, technical skills, and English communication skills.
Step 4: If everything works out, you meet with the Development Lead and HR representative to sign your contract and celebrate your joining
the Dynatrace Team!

Apply now

Your contact person

Anna Czoska
Talent Acquisition Hero anna-czoska-dynatrace-com
+48 795 486 406

Share with friends

Not for you?

Refer a friend

Need more info about us? Learn more.