Ștefan Drăgan, Developer in Bucharest, Romania
Ștefan is available for hire
Hire Ștefan

Ștefan Drăgan

Verified Expert  in Engineering

Software Developer

Location
Bucharest, Romania
Toptal Member Since
June 26, 2019

Ștefan's been developing cross-platform antivirus engines over the last 13 years. For the past few years, he’s focused on projects that involve maintaining stability, speed optimization, low-memory consumption, and fault prevention. His current objective is to explore new opportunities and advance his general knowledge level.

Portfolio

Mode Software Inc.
C++17, C++, Qt 5, Qt, QML, Cross-platform, UI Programming...
Avira
Windows, Unit Testing, Test-driven Development (TDD), Cross-platform...
Bitdefender
Windows, Test-driven Development (TDD), Protocol Buffers, Data Structures...

Experience

Availability

Full-time

Preferred Environment

Visual Studio, Windows 10

The most amazing...

...projects I've worked on are a process explorer, a 3D functions renderer, a solid material physics simulator, a diagnosis expert system, and an AV scan engine.

Work Experience

Qt, C++, and QML Developer | via Toptal

2021 - 2023
Mode Software Inc.
  • Extended the functionality for the desktop version of the Ciphr/Mode app using Qt, C++17, QML, and JavaScript.
  • Tracked and fixed bugs using Jira as a reporting tool.
  • Worked on implementing the UI and core functionalities, leveraging QML, C++, and JavaScript.
  • Improved the recruitment tests used during technical interviews.
  • Enhanced and extended the build-system generator code (CMake).
  • Wrote and ran automated unit testing for developed components (GTest).
  • Discussed and implemented product requirements in software and UX designs.
  • Maintained technical documentation up to date (Confluence).
  • Participated in and conducted scrum meetings as a temporary scrum master.
  • Extended the functionality of shared libraries (Rust).
Technologies: C++17, C++, Qt 5, Qt, QML, Cross-platform, UI Programming, Concurrent Programming, Recruitment, Recruiting, CMake, Debugging, Algorithms, Design Principles, Design Patterns, Qt Quick, Cryptography, Visual Studio, Conan, Software Design Patterns, Best Practices, Optimization, APIs, API Architecture, Rust, SQL, Jira, Confluence, Win32 API, Desktop App Development, Windows UI, Qmake, WinAPI, Automated Testing, REST APIs

Specialist Software Developer

2020 - 2020
Avira
  • Researched, developed, and tested the Avira OEM Antivirus SDK's new functionality.
  • Adhered to and enforced the C++ core guidelines throughout the development process.
  • Improved the CMake build-system generator code, the build and test scripts with Python, and the CI/CD process using Bamboo.
  • Reviewed the code using Bitbucket and developed cross-platform software utilizing the Windows Subsystem for Linux (WSL).
  • Wrote and executed automated unit tests for the developed components using GoogleTest (gtest).
  • Monitored, detected, and solved performance and stability issues.
  • Analyzed the architecture and implementation, providing suggestions for improvements in certain areas that were partially adopted.
  • Improved the onboarding technical documentation to speed up productivity.
  • Created step-by-step documentation for recurring internal technical impediments.
Technologies: Windows, Unit Testing, Test-driven Development (TDD), Cross-platform, Continuous Delivery (CD), Continuous Integration (CI), Visual Studio 2019, Data Structures, Profiling, Design Principles, Windows 10, Confluence, Class-based OOP, Multithreading, Shell Scripting, OOP Designs, Cross-platform App Development, Runtime Debugging, Debugging, Programming, Visual Studio, Design Patterns, Git, Automation, Microsoft Visual C++, Microsoft Visual Studio, Windows API, Algorithms, Object-oriented Programming (OOP), APIs, SDKs, Antivirus Software, Code Review, Refactoring, Testing, SOLID Principles, Software Development, Google Test, Standard Template Library (STL), Scrum, Agile, Windows Subsystem for Linux (WSL), Bitbucket, Bamboo, Jira, Python 3, Python, CMake, C++11, C++, WinAPI, DLL, Automated Testing

AV Engine Development Engineer

2007 - 2020
Bitdefender
  • Researched, developed, and tested new malware detection technologies.
  • Developed unpackers, the Unarchiver, scanning engines, interpreters, and exploit detection heuristics.
  • Built tools for automated malware analysis and signature generation.
  • Reverse-engineered, analyzed, detected, and cleaned up various types of malware.
  • Reviewed code and developed cross-platform software.
  • Performed automated and manual testing of the developed components.
  • Monitored, detected, and solved performance and stability issues.
  • Implemented most of the generic detection for exploits for more than a decade.
  • Applied AI algorithms in the process of signing malware.
  • Developed a proprietary function and template class libraries and created tools for crash analysis.
Technologies: Windows, Test-driven Development (TDD), Protocol Buffers, Data Structures, Design Principles, Windows 10, Assembly Language, Public Speaking, Interactive Disassembler (IDA) Pro, Interactive Disassembler (IDA), Confluence, Assembler x86, Class-based OOP, Shell Scripting, OOP Designs, Cross-platform App Development, Runtime Debugging, Debugging, Computer Security, Programming, Visual Studio, Subversion (SVN), Git, JavaScript, Visual Studio 2017, Python 3, .NET, Jira, Automation, Microsoft Visual C++, Microsoft Visual Studio, Windows API, Algorithms, Object-oriented Programming (OOP), C#, Profiling, APIs, SDKs, Assembler, Refactoring, Software Analysis, Kanban, Agile, Code Review, Continuous Integration (CI), Continuous Delivery (CD), Testing, Cross-platform, Malware Analysis, C++98, Reverse Engineering, Antivirus Software, Software Development, Python, C, C++, Win32 API, Makefile, WinAPI, DLL, Automated Testing

Team Lead

2018 - 2019
Bitdefender
  • Provided technical guidance to new junior team members.
  • Created video tutorials for solving urgent issues like debugging freezes.
  • Built step-by-step documentation for major internal technical procedures.
  • Improved the recruitment tests used during technical interviews.
Technologies: Continuous Integration (CI), Continuous Delivery (CD), Training & Training Content Development, Training, Jira, SDKs, Agile, Kanban, Team Mentoring, Coaching, Recruiting, Recruitment

Programmer Analyst

2005 - 2007
Softwin
  • Developed antivirus scanning engines for Bitdefender AV.
  • Created antivirus testing and general-purpose tools.
  • Coded an analysis and unpacking support extension for Armadillo and MoleBox packers.
  • Performed code reviews and code refactoring and improved coding standards.
Technologies: Windows, Test-driven Development (TDD), Protocol Buffers, Malware Analysis, Cross-platform, Continuous Delivery (CD), Continuous Integration (CI), Data Structures, Assembly Language, Interactive Disassembler (IDA) Pro, Interactive Disassembler (IDA), Class-based OOP, Reverse Engineering, Shell Scripting, OOP Designs, Cross-platform App Development, Runtime Debugging, Debugging, Computer Security, Programming, Visual Studio, .NET, Automation, Microsoft Visual C++, Microsoft Visual Studio, Windows API, Algorithms, Object-oriented Programming (OOP), C#, APIs, SDKs, Software Development, Refactoring, Code Review, Antivirus Software, Assembler x86, Assembler, C++98, C++, C, Armadillo, Win32 API, Makefile, WinAPI, DLL, Automated Testing

Secure Communication Platform | Post-Quantum Encrypted

https://www.mode.io/
The project team developed a secure communication platform that included desktop, iOS, and Android applications, a communication server, and a customer portal.

My responsibilities included developing the desktop front-end user interface supporting Windows, macOS, and Linux and the communication, encryption, and storage modules. The desktop app was developed in C++ using Qt 5 and QML. I worked closely with the mobile and server teams, creating cross-platform features and communication protocols. Furthermore, I participated in the UI/UX design and system architecture development.

Bitdefender AV File Scanning Engine

https://www.bitdefender.com/
This project targets the development of the core file-scanning engine behind the Bitdefender AV. I was one of the developers in a small lean team responsible for building the solution.

MAIN RESPONSIBILITIES
• R&D and test new malware detection technologies
• Develop unpackers, unarchivers, scanning engines, and interpreters, and exploit detection heuristics modules
• Develop tools for automated malware analysis and signature generation
• Develop testing and general-purpose tools
• Perform reverse engineering, analyze, detect, and clean various types of malware
• Perform code review, code refactoring, and cross-platform software development
• Build automated and manual testing of the developed components
• Monitor, detect, and solve performance and stability issues

MAIN ACHIEVEMENTS
• Implemented most of the generic detection for exploits for more than ten years
• Applied clusterization algorithms in the process of signing malware
• Developed proprietary function and template class libraries
• Developed tools for crash analysis

Avira OEM Antivirus SDK

http://www.avira.com
This project aimed at building an OEM Antivirus SDK to unify multiple scanning engines under one single interface. I was one of the back-end developers integrating the agile scrum team working on this project.

RESPONSIBILITIES
• Research, develop, and test the Avira OEM Antivirus SDK's new functionality
• Follow and enforce C++ core guidelines
• Improve the build-system generator code with CMake
• Improve the build and test scripts using Python
• Improve the CI/CD process with Bamboo
• Review code using Bitbucket
• Develop cross-platform software
• Write and run automated unit-testing of developed components with GoogleTest
• Monitor, detect, and solve performance and stability issues

ACHIEVEMENTS
• Reviewed the architecture and implementation and proposed better solutions
• Improved the onboarding technical documentattor to speed up productivity
• Created step-by-step documentation for recurring internal technical impediments

RenMD5 | Rename-file-to-MD5 Tool

https://archive.codeplex.com/?p=renmd5
This project focused on an open-source C# command line tool that renames files to their corresponding MD5 checksum. The tool is capable of recursively renaming files within directories and eliminating duplicates.
2008 - 2010

Master's Degree in eBusiness Online

Bucharest Academy of Economic Studies - Bucharest, Romania

2003 - 2008

Bachelor's Degree in Systems and Computer Engineering

University Politehnica of Bucharest - Bucharest, Romania

1999 - 2003

Assistant Programmer's Degree in Information Technology

Tudor Vianu IT College - Bucharest, Romania

JANUARY 2023 - PRESENT

Learn Rust by Building Real Applications

Udemy

DECEMBER 2022 - PRESENT

Agile Certified Practitioner (PMI-ACP)

Simplilearn

SEPTEMBER 2022 - PRESENT

Professional Scrum Master I (PSM I)

Scrum.org

AUGUST 2022 - PRESENT

Agile Scrum Master (ASM)

Simplilearn SkillUp

OCTOBER 2020 - PRESENT

2020 Complete Python Bootcamp: From Zero to Hero in Python

Udemy

SEPTEMBER 2020 - PRESENT

Gamification & Behavioral Design: The Octalysis Framework

Udemy

SEPTEMBER 2020 - PRESENT

Java Design Patterns and SOLID Design Principles

Udemy

JANUARY 2019 - PRESENT

Agile with Atlassian Jira

Coursera

JUNE 2016 - PRESENT

Fluency in English Language: Intermediate (Estimated)

Duolingo

Libraries/APIs

Windows API, WinAPI, OpenGL, Microsoft Foundation Class (MFC) Library, Standard Template Library (STL), Sockets, Armadillo, Microsoft Foundation Classes (MFC), Win32 API, REST APIs

Tools

Microsoft Visual C++, Visual Studio, CMake, Turbo Pascal, LaTeX, Flash, Adobe Flash, Bamboo, Bitbucket, Visual Studio 2019, Jira, Confluence, Microsoft Visual Studio, Subversion (SVN), Git, Interactive Disassembler (IDA), Interactive Disassembler (IDA) Pro, Conan, GitHub, Qmake, Makefile

Languages

C++, C, C++98, C++11, Assembler, Pascal, Visual FoxPro, Python 2, Visual Basic, Visual Basic 6 (VB6), Python 3, C#, Java, Python, Assembly Language, JavaScript, Assembler x86, SQL, Lisp, C++17, QML, Rust

Paradigms

Refactoring, Test-driven Development (TDD), Object-oriented Programming (OOP), Cross-platform, Testing, Continuous Delivery (CD), Continuous Integration (CI), Kanban, Scrum, Agile, Gamification, Behavioral Design, Unit Testing, Automation, Design Patterns, Class-based OOP, Object-oriented Design (OOD), Concurrent Programming, Best Practices, API Architecture, Desktop App Development, Automated Testing

Industry Expertise

Marketing

Platforms

Windows, Visual Studio 2017, Software Design Patterns, Windows UI

Frameworks

Google Test, .NET, Qt 5, Qt, Qt Quick

Other

Protocol Buffers, Software Development, Programming, Computer Science, APIs, SDKs, Antivirus Software, Code Review, English-Romanian Translation, Data Structures, Computer Security, Algorithms, Windows 10, Design Principles, Profiling, Malware Analysis, Recruiting, Team Mentoring, Networking, Software Analysis, Embedded Software, Business, SOLID Principles, Windows Subsystem for Linux (WSL), Training & Training Content Development, Machine Learning, OOP Designs, Multithreading, Debugging, Runtime Debugging, Shell Scripting, Training, Public Speaking, Coaching, Cross-platform App Development, Reverse Engineering, UI Programming, Scrum Master, Startups, PSM-1, IT Project Management, Recruitment, Cryptography, Optimization, Autotesting, HTTPS, DLL

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring