SolarWinds MSP is seeking for a Senior C++ Developer to join our Engineering team. On this position you will develop our state-of-the-art product – SolarWinds MSP Backup and Recovery. This is a solution with multi-platform client and server side for managed services providers, system administrators of large enterprises, telecommunication and hosting providers. It provides a hybrid 2-tier backup technology that benefits both from on-premises and cloud based backups.
On the client side as a data source our solution supports backup of file system, network shares, system state, MS Exchange, MS SQL, MySQL, Oracle, MS SharePoint, VMWare, Hyper-V etc. We develop and use a know-how technology of data de-duplication, including dedicated drivers for backup acceleration. As an alternative way for accessing backed up data we provide mechanism of mounted virtual disks. We develop and provide such features as Bare Metal and
Virtual Disaster Recovery that allow restoring physical machines to the brand new physical environment; restoring physical machines to the virtual hosts of Hyper-V, VMWare or to the Azure or Amazon based clouds. Server side is represented by our own authentic cloud storage platform that protects petabytes of data and dedicated services for the platform management. As our customer base is constantly growing, we work on providing robust, stable, scalable high-performance services. The product is very dynamic, that is why you will learn a lot all the time. The team is balanced, your colleagues will be talented engineers who like to code, create smart and simple solutions, and explore new technologies.
Our team is passionate for quality: we are using a wide range of quality-related industry-standard engineering practices and artifacts such as coding guidelines, code style checking, static code analysis, code coverage tools, mandatory pre-commit code reviews, unit testing, continuous integration, crash analytics system and many more. We are open for any fresh ideas and are constantly improving our toolset.
We are looking for a self-motivated, creative and result-driven person with good communication skills and the ability to quickly acquire new knowledge. You need to have skills to develop clean self-documented code and follow commonly used best coding practices. Most of all we want you to be an enthusiastic, talented and happy engineer, developing great products, just as we are.
● Independently develop complex features through multiple software layers
● Provide technical feedback and assistance on others' code and design
● Using advanced operating systems knowledge to troubleshoot complex issues
● Design/review architecture of complex features with multiple components, efficiently use design patterns
● Identify and addresses root cause of issues, drive problem from its definition till successful completion
● Design and implement new libraries and tests
What is mandatory?
● Excellent knowledge of C++
● Thorough knowledge of object-oriented programming and ability to use Software design patterns
● Strong knowledge of STL
● Solving practical programming problems using Boost
● Knowledge of Networking protocols and Multithreading
● Ability to write quality-oriented code and support it with unit- and auto-tests
● Development on Windows, write сross-platform code
● Expertise in the development on *NIX systems
● Debugging with Visual Studio, windbg, gdb
● Ability to work with CMake
● Experience of work with curl/OpenSSL
● Knowledge of scripting language: Python, Bash, Powershell
● SQL skills
● Experience of work with Visual Studio, git, Jira, TeamCity
What we offer?