Position: Senior C++ Developer
Company: Grid Dynamics
Experience required: 3y
English level: upper

**Project description**
Making the smartcard available for different applications and platforms, desktop and mobile platforms. 
Product: Wireless smartcard reader (different form factors) for desktop and mobile platforms; product-specific and customized projects
The main development goals are Drivers development, Platforms development (making everything  work according to the changes in recent OS updates), and software development (for macOS and Windows only as of now)

**Client description**
CERTGATE is one of the leading German developers and manufacturers in the area of "mobile security". CERTGATE is a member of the most important IT security associations and has been established in the nationwide initiative "IT Security Made in Germany" for years. For years internationally leading companies and the largest German federal authority benefited from optimized mobile security through the use of patented CERTGATE products. Thanks to global partners, the CERTGATE technology is already being used worldwide and thus secures international communication links and mobile databases on all five continents.

**Details on tech stack**
Windows: C++14/17, Visual Studio, Qt, user mode driver framework

**Min requirements**
- Windows Developer
- Academic degree in computer science, information technology, etc.
- Advanced knowledge of functional and object-oriented programming with C++14/17 and Qt
- Knowledge of test-driven development
- Experience with Xtext and/or Domain Specific Languages, as well as CMake,
Continuous Integration or Windows Driver Framework (WDF) is beneficial
- Extensive practical experience in the field of agile software development and project management, and ideally knowledge of Atlassian tools (JIRA/Confluence)
- Knowledge of information security, cryptography, smart cards, and Bluetooth are beneficial
- Other languages like (Java or Swift) would be ideal
- Understanding of clean, maintainable, and reusable code
- We require an independent and structured way of working, as well as analytical and conceptual thinking and the ability to recognize complex relationships

**Tasks:**
- Cross-platform conception in a team and independent implementation of platform-independent C++ libraries and software for the Windows platform
- Requirements analysis for the development of new software components for the protection of confidential data
- Independent control of projects and scheduling in a team
- Conception, design, implementation, and testing of software components and
- Development for our Bluetooth/NFC smart card readers
- Creation of requirements and functional specifications in coordination with customers
- Working in an agile and international environment according to the SCRUM methodology with JIRA