Senior C++ Developer (Cross-Platform Profiler Core)
We're looking for an experienced C++ developer to join our team and work on the dotTrace/dotCover/dotMemory core.
If you know how to work in a distributed team, are not afraid to take responsibility for your decisions, have strong communication skills, and, most importantly, are able to work efficiently without being constantly monitored by your manager, we’ll be glad to have you on our team.
You'll be responsible for:
- Developing new product features:
- Implementing a new system for storing gathered data.
- Developing for arm64 processors running Windows and macOS.
- Supporting MUSL x64/arm64 running on Linux.
- Integration with native operating system data collectors.
- Optimizing our tools' performance and memory consumption on Windows/Linux/macOS.
- Investigating unexpected behaviour in OS components and other tools.
- Creating and submitting pull requests to external open-source repositories.
- Remote debugging of our tools on users' systems.
- Writing unit tests for testing your own code.
- Thorough knowledge of C++14/17 with at least 5 years of experience in commercial projects.
- Ability to write lock-free algorithms.
- Good knowledge of CMake, С#, and x86/x64/arm64 assembler.
- Experience with WinDbg, GDB, or LLDB.
- Experience with Git.
- Good command of English.
- Ability to work with other people's code as efficiently as you do with your own.
- Experience with portable libraries like boost and protobuf.
Nice to have:
- Experience developing portable C++ applications for Windows/Linux/macOS.
- Contribution to open-source projects.
- Experience in reverse engineering.
- Familiarity with Clang/LLVM, MSVC, VMWare, VirtualBox, Docker, TeamCity, ETW, eBPF, LTTng, DTrace, and COM.
- Understanding of GC and JIT principles.
- Fluent spoken English.
- Understanding of CLR/CoreCLR internals.
- Understanding of Windows/Linux/macOS application security mechanisms.