We are looking for a C++ developer responsible for building applications that may range from desktop applications to native mobile applications and embedded systems. Your primary responsibility will be to design and develop these applications, and to coordinate with the rest of the team working on different layers of the infrastructure.
Responsibilities
Design, build, and maintain efficient, reusable, and reliable C++ code
Implement performance and quality modules
Identify bottlenecks and bugs, and devise solutions to these problems
Help maintain code quality, organization, and automatization
(Add other responsibilities here that are relevant)
Requirements
Skills
Strong proficiency in C++, with fair knowledge of the language specification
Thorough knowledge of the standard library, STL containers, and algorithms
(Specify any platform(s) that you want the developer to have a strong grasp of)
Good understanding of memory management in non-garbage collected environments
Understanding of dynamic polymorphism and C++ specific notions, such as friend classes
Familiarity with templating in C++
Knowledge of the latest C++11 standard is appreciated (depending on project specifications)
Familiarity with embedded systems design, low-level hardware interactions (if required)
Knowledge of low-level threading primitives and real-time environments (depending on project requirements)
Familiarity with system call wrapper library functions
Knowledge of writing native modules for high-level languages such as Node.js, Python, Go, etc. (if required)
Familiarity with language tools, such as Valgrind (if required)
Knowledge of component data sheets and specifications
Implementation of automated testing platforms and unit tests
Proficient understanding of code versioning tools (such as Git, SVN, and Mercurial)
Familiarity with continuous integration
(Make sure to mention other frameworks, libraries, or any other technology relevant to your project)
(List education level or certification you require)