Описание вакансии
Условия работы
Responsibilities:
- Development of core system based on open standard
- Extending the open standard to add more features
- Development of additional modules to enrich the core system
- Development of REST API to expose core system functionality
- Building reusable code and libraries for future use
- Produce well-designed, well-organized, testable, optimized, and documented source code
- Writing design, technical and operational documentation
- Optimization of the application for maximum speed and scalability
- Implementation of security and data protection (OWASP security principles)
- Involvement in (SDLC) Software Development Life Cycle with Agile methodology
- Practicing TDD (Test Driven Development)
- Comply with project plans and industry standards
- Collaborate with other programmers to design and implement features
- Working closely with other staff, such as Project managers, Systems analysts, Operation support and Business development team
- Work independently when required
- Continuously learn and improve skills
- Attention to detail is essential and all tasks must be carried out to the highest standard
- Benchmark and profile system performance
Requirements:
- Strong proficiency in C++, with fair knowledge of the language specification
- Strong knowledge in C++ design patterns
- Thorough knowledge of the standard library, STL containers, and algorithms
- Good understanding of memory management in non-garbage collected environments
- Familiarity with templating in C++
- Knowledge of the latest C++11 and C++14 standard is appreciated
- Knowledge of low-level threading primitives and real-time environments
- Knowledge and experience with boost C++ library
- Familiarity with creating C API
- Implementation of automated testing platforms and unit tests (TDD)
- Proficient understanding of git
- Familiarity with continuous integration
- Experience working with XML base standard (XSD) is appreciated
- Willingness to learn and use new technologies
- Experience of working in a agile team with scrum methodology
- Ability to work with high level specification
- Knowledge of event based C++ programming
- Experience with Golang, RabbitMQ, Couchbase and Docker is appreciated
Languages:
- English - Can read and write technical documents. Intermediate level of speaking.
