Senior C++ Software Engineer
Afiniti
- İstanbul
- Sürekli
- Tam zamanlı
- The candidate will contribute to the creation of Afiniti's next generation of software systems.
- The software systems will be focused towards data analysis, machine learning, reporting, data visualization and monitoring.
- The candidate will be expected to develop high-performance, scalable microservices and software that handles large datasets and provides real time communication channels, using C++ and other languages.
- The candidate is familiar with clean architecture and will be expected to document architectural designs
- Bachelor of Engineering (or higher) in Computer Science or related disciplines
- 5+ years of professional experience in C++ Development on Linux for Senior Software Engineer position
- Demonstrable experience in modern C++ development, STL, design, implementation and maintenance of socket programming and multi-threaded programming in scalable and high-available microservices.
- Proficiency in Object-Oriented programming and design patterns
- Good command of English communication, writing, presentation, and interpersonal skills
- Adaptable, team player, pro-active and having hands-on approach
- Ability to multi-task, organize, and prioritize work
- Good knowledge of API development, Rest, WebSocket, GRPC
- The ability to quickly comprehend complex business processes and existing systems' architecture, and propose efficient solutions to tough problems
- A deep understanding of common data structures and algorithms
- An aptitude for debugging, mathematics, problem solving and mastering new languages and APIs in a short time span
- The ability to differentiate between barely working and quality code, and the talent to produce the latter
- Comfort in Agile development methodologies
- Demonstrable unit test development experience is required, and Google Test Framework experience is a plus
- Experience with at least one RDBMS, such as PostgreSQL
- Familiarity in using following tools: Git/Jenkins/Jira /SonarQube
- Docker/container usage experience is a plus
- Knowledge with the following technologies, though not essential, would be a big plus Clang tools, CMake build system, GDB, test driven and behavioral development experience, testing experience
- Telecommunication domain knowledge is a big plus
- The candidate is familiar with clean architecture and will be expected to document architectural designs