Job Description
RESPONSIBILITIES
- Software design and architecture
- Integrate software modules into products
- Manage software availability, latency, scalability and efficiency
- Develop product functionality that will be used daily by millions of users around the world
- Build unit tests to lock down algorithm behaviour and guarantee success
- Participate in all phases of development (specification, design, development and bug fixing)
Requirements
- Extensive experience in C / C++ development
- Work experience in Cross-platform C/C++ library development
- Knowledge about developing multi-threading highly scalable components
- Know-how on writing applications using the STL and/or BOOST
- Technical or computer science degree or a similar qualification
- Strong skills in deadline management and ability to work in a team environment
- Strong background in object-oriented design
- Problem-solving abilities (analytical and creative thinking, adaptability and flexibility)
- Enjoys fast-paced environments with a focus on rapid delivery
- Excellent English communication skills
ADDITIONAL SKILLS THAT ARE CONSIDERED A PLUS:
- Experience in working with complex algorithms and mathematical equations
- Experience with graphs and related algorithms
- Familiar with OpenGL, or other 2D/3D graphics API
- Design pattern knowledge
- Agile software development experience
- Jedi of debugging, memory profiling and performance testing
- C++ 11 knowledge
- Experience in XCode, QT, Visual Studio and other IDEs
- Experience in working with Android, iOS and/or other mobile devices
- Experience in working with Linux and cloud applications (e.g. Docker)
- Map technologies