İDRAK Technology Transfer
C++ Developer (Middle/Senior)
Son tarix 01 dek 2023 - [email protected]
Report to: Head of department
Experience: Software engineering
Job Description:
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. Your expertise in C++ and frameworks suc (Qt, wxWidget, GTK, Boost and others) will be instrumental in creating high-quality software that meets the demanding requirements of the automotive industry.
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.