BullGuard’s R&D capability consists of 25-30 staff and is responsible for delivering solutions, products and services to a worldwide consumer market on time, to specification and within budget. It ensures that BullGuard’s products are best of breed in every aspect, including how the products score in external industry testing.
The R&D technology extends from client-side applications running on desktops, tablets and phone devices on different operating systems to the definition of the back-end infrastructure which delivers services and support for the BullGuard website and the integrated MyAccount features.
Typical R&D functions are undertaken by the team including developing new products and services, maintaining existing ones and providing an incubator-style feed of new technologies into the product development process. It is a fun, entrepreneurial environment in which the right person can flourish, feel rewarded and progress their career.
- To develop and maintain software programs, according to the agreed specifications.
- To build and create unit tests for all software programs developed, according to the quality standards agreed at the project or department level.
- To do analysis and debugging for code (including crash dumps).
- To write high quality code, according to best practices in the industry.
- To understand the functional requirements and provide technical solutions to encountered problems.
- To be actively involved in research and innovation (try multiple methods / techniques in searching for a solution).
- To investigate, analyze, document and coordinate solving software defects of their developed products or of those developed by the team or found in a maintenance project.
- To validate what s/he develops in terms of code security and potential security problems that could be introduced.
- To identify areas of code or architecture that need improvement and inform the team, actively participating in implementing the agreed improvements.
- To develop a quality and performant code, in accordance with the best practices in his area of development.
- To 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.)
- To estimate the necessary effort and the delivery date of a component/assignments and make all the necessary efforts to respect it. If they are unsure of being able to reach the deadline, they should announce the team leader in time that they will not finish in due time, according to the current estimation.
- To 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.
- To inform their team leader one day before about their intention to work from home, provided that they have a task assigned, approved, and nothing vague related to its implementation, except when the task requires a prior research.
- To have good English skills, both written and verbal, for an efficient communication.
- To be an expert in programming languages like C and C++.
- To have good knowledge of object-oriented programming concepts and design patterns.
- To be highly knowledgeable about multi-threading concepts.
- To be highly knowledgeable about Win32 API, Platform SDK.
- To have experience working with file systems, databases, network programming, compilers.
- To be familiar with current versions Visual Studio and TFS.
Apply for this job
Submit your CV