C++ Developer (Middle/Senior)

İşin təsviri

Responsibilities:

  • Design, build, and maintain efficient, reusable, and reliable C++ code
  • Implement performance and quality modules
  • Develop and implement software systems from requirements to production and commercial deployment
  • Identify bottlenecks and bugs, and devise solutions to these problems
  • Help maintain code quality, organization, and automatization, testing and debuging
  • Analyze and enhance efficiency, stability and scalability of system resources
  • Integrate and validate new product designs
  • Support software QA and optimize I/O performance
  • Interface with computer hardware and development
  • Assess third party and open source software

Requirements:

  • Proven working experience in software engineering
  • Bachelor or master’s degree in Computer Science, Computer Engineering or equivalent degree
  • Proven experience in windows and unix-like operating systems
  • Familiarity with software configuration management tools, defect tracking tools, and peer review
  • Excellent knowledge of OS coding techniques, network protocols, interfaces and hardware subsystems
  • Strong documentation and writing skills
  • 2 or more years of professional experience

Skills and knowledge:

  • Strong proficiency in C++, with fair knowledge of the language specification
  • Thorough knowledge of the standard library, STL containers, and algorithms
  • Good understanding of memory management in non-garbage collected environments
  • Understanding of dynamic polymorphism and C++ specific notions, such as friend classes
  • Excelent knowledge in compiler and toolchain technologies such GNU Compiler Collection (GCC), Microsoft Visual C++, MinGW, LLVM and others
  • Familiarity with templating in C++
  • Knowledge of low-level threading primitives and real-time environments
  • Familiarity with system call wrapper library functions
  • Knowledge of writing native modules for high-level languages such as Node.js, Python, Go, etc.
  • 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 others)
  • Familiarity with continuous integration
  • Make sure to mention other frameworks, libraries, or any other technology relevant to your project
  • Strong proficiency in C++ UI Frameworks (Qt, wxWidget, GTK and others)
  • Experience with Linux or other POSIX compatible operating systems
  • Software Build Systems such as CMake, NMake
  • Windows and Linux OS lower-level API-s knowledge
  • Assembler or Java skills are a plus
  • Good source-level debugging skills
  • Strong problem-solving skills
  • Good knowledge in software development environments and tools including IDE (MS Visual Studio, MS Visual Code, Qt Creator, CLion and others), editors, compilers, linkers, emulators, debuggers, analysis and monitoring tools
  • Knowledge of minimum of C++11, Standard library knowledge, Boost C++ library knowledge, Multi-threaded programming using standard C++, ANSI C knowledge to be able to read and possibly extend some lower level modules, Unit-testing, Knowledge of concepts such as code coverage
  • Security, encryption libraries is a plus
  • Http(s) libraries knowledge is a plus
  • Specific knowledge of RDMS and NoSQL databases, SQL, Open Source, Shell Script, Perl is a plus

Salary Range: 2,500-4,500 AZN

Monthly salary will be negotiated during the interview, depending on the knowledge, skills, and experience of the candidate.

Working days/hours: Monday – Friday from 09:00 to 18:00. Saturday/Sunday – weekend.

Eligible candidates are asked to send their resume with the “C++ Developer” in the subject line.