Teknavo development team is looking for an experienced Senior C++ Software Developer in St. Petersburg, Russia.
The project focuses on low-latency multi-threaded applications development. The applications are intended to aggregate financial data processing and provide API in C++, Java and .NET.
The successful candidate will have the opportunity to work on highly-optimized, scalable, redundant, and distributed software that facilitates normalization and delivery of data.
Long term business trips option is avaliable if desired.
- Bachelor’s or Master’s Degree in Computer Science, Computer Engineering or Related Field (or equivalent expertise)
- Minimum of 5 years of C++ development experience
- In depth knowledge of both C and C++, С++11/14
- Experience in low-level C programming
- Solid understanding of Data Structures, Algorithms (big O notation), and Object-Oriented Design
- Good knowledge of Multi-threading (race conditions, synchronization primitives, atomic operations, threading models)
- Solid understanding of principles of network programming (sockets, TCP/IP stack and socket options) and distributed architectures
- Working knowledge with optimization techniques, such as avoiding memory allocation and data copying
- Experience with High-Performance Unix Programming (preferred for RTHs)
- 64 bit programming/porting experience
- Experience in cross-platform applications development (mainly Windows and Linux), widely used compilers, build systems and tools for these OS (MSVC, GCC, Clang, cmake, gmake, gdb, Windows debuggers)
- Experience with standard and general purpose libraries (STL, Boost)
- Knowledge of Java/.NET/Python is a plus
- Understanding of XML/XSD and other schema driven data is a plus
- Financial and/or Market Data experience is a plus