C++ Developer

Employer: BullGuard
  • IT Software
  • Job type: full-time
    Job level: 1 - 5 years of experience
  • Updated at: 27.09.2020
    Short company description

    BullGuard is a pioneer in the Internet of Things (IoT) and connected device security for consumers. It released the world’s first IoT vulnerability checker and following the acquisition of Dojo Labs is leading the consumer cyber-security industry in providing the highest level of protection to consumers across all of their internet-connected devices and smart homes.


    We are looking for someone who...

    - Has good knowledge in C++ programming language;
    - Has good knowledge of object-oriented programming concepts and design patterns;
    - Is highly knowledgeable about multi-threading concepts;
    - Is highly knowledgeable about Windows API;
    - Is familiar with current versions Visual Studio and Git
    - Has good knowledge in scripting programming like Python, JavaScript or PowerShell
    - Is perseverant and put effort into achieving objectives.


    - Develop and maintain software programs, according to the agreed specifications.
    - Build and create unit test for all software programs developed, according to the quality standards agreed at the project or department level.
    - Perform analysis and debugging for code (including crash dumps).
    - Understand the functional requirements and provide technical solutions to encountered problems.
    - Be actively involved in research and innovation (try multiple methods/techniques in searching for a solution).
    - Investigate, analyze, document and coordinate solving software defects of their developed products or of those developed by the team or found in maintenance projects.
    - Validate what s/he develops in terms of code security and potential security problems that could be introduced.
    - Identify areas of code or architecture that need improvement and inform the team, actively participating in implementing the agreed improvements.
    - Develop the technical documentation for products/projects in which they are involved (ie business rules design, process design, service design, security and control design, database model, etc.).
    - Estimate the necessary effort and the delivery date of a component/assignments and make all the necessary efforts to respect it.
    - Elaborate installation and configuration scripts/software solutions, developed for the target hardware platforms.
    - Request whenever necessary the team leader's feedback/support about a task, to ensure that the task will be implemented properly.