C - C++ - Developer - Job Description
C - C++ - Developer - Job Description
1. Objectives of the position: The C / C++ Developer performs research, analysis, and evaluation of
existing or new software applications and operating system needs, and deals with the design,
development, testing, and maintenance of software solutions that meet these needs.
2. Tasks:
research, analysis and evaluation of software applications and operating system needs; and
capturing of that research in Gitlab repository
logging of all work in NXLog work tracker
research, design and development of NXLog EE and CE code.
daily committing of code into Gitlab repository
evaluation of interface between hardware and software in consultation with other developers and
lead developer;
code review of other developer’s software according to NXLog EE and CE coding standards and
style, using Gitlab
daily estimation and update of development activities via Gitlab
daily communication of activities planned and achieved to the project manager and their
teammates via e-mail.
estimation and collaboration in planning session via digital video conference facilities.
testing both manual and unit tests of software developed by yourself and your teammates.
modifying existing software to fix bugs, adjust to new hardware, or improve performance
management of software programming and documentation development; where required
discussion with technical writers to explain work that has been completed.
discussion with product manager and project manager regarding the development and
maintenance of software systems.
4. Requirements:
Experience:
C and C++ development experience under Windows/Linux/Unix yes
familiar with open source developer tools such as gcc, autoconf, automake, cmake, gnu make,
valgrind, git, svn, etc.
previously worked with various libary APIs (libc, openssl, apache apr, expat, boost, pcre, etc.)
good knowledge of data structures and algorithms yes
experience with log management tools (SIEMs, Splunk, Snare, syslogd, SEC, Logstash, Scribe,
etc)
scripting languages: shell, perl or python, bash
multithreaded programming knowledge yes
crypto, SSL/TLS, PKI yes
knowledge of network protocols on user and programming level ICTP DCPIP yes
knowledge of version tracking system GIT ect.
secure coding practices
C++11, C++17 and STL
development experience with distributed systems
Qualification: Degree on Computer Science or similar
Competencies: quick learner, eager to understand new technologies
Competencies for remote work: self-governance, autonomy (motivation and proactiveness), strong
time management, intercultural communication, collaboration, adoption of remote communication
tools, discipline, reliability, self-motivation, self-advocacy and flexibility
Professional experience (years): minimum 3-5
Language: fluent English skills (oral and written)
PC knowledge: Developer experience with exposure to multiple operating systems, Windows and
Linux