Zlatko Karakas, Developer in Belgrade, Serbia
Zlatko is available for hire
Hire Zlatko

Zlatko Karakas

Verified Expert  in Engineering

C++ Developer

Location
Belgrade, Serbia
Toptal Member Since
January 19, 2021

Zlatko is a senior C++ developer with experience in writing cross-platform desktop applications and 2D games, as well as occasional excursions in web development, which come in handy for integrating client/server software. His work often included dealing with various issues ranging from concurrency and multi-threading to UI/UX. Projects requiring reverse engineering and code optimization skills pique his interest.

Portfolio

Undisclosed
C++, DirectX, Qt, Chromium Embedded Framework (CEF), React, Inno Setup
Autodesk
C++, Qt, Python, Autodesk Maya
Toptal
Ruby on Rails (RoR), Cross-platform, Inno Setup, Qt, C++

Experience

Availability

Part-time

Preferred Environment

Visual Studio Code (VS Code), Visual Studio, Windows

The most amazing...

...thing I wrote was the unofficial Windows/Android port of Sensible World of Soccer (popular Amiga game in the 90s) using C++/SDL and no original source code.

Work Experience

C++ Software Engineer

2022 - PRESENT
Undisclosed
  • Worked on the C++ part of a high-rendering performance trading analysis app. It was written in JavaScript, and parts had to be rewritten in C++ for performance.
  • Tracked latency issues and suggested improvements. Wrote performance tests and laid out resulting graphs.
  • Dug deep into CEF OSR and DirectX synchronization APIs (AcquireSync/ReleaseSync) to resolve issues with an upgrade from v75 to v95. The issues were due to our multithreaded architecture not being supported by the CEF OSR patch out of the box.
  • Implemented correct high DPI rendering and ensured the scale factor was properly synchronized between Qt and CEF.
  • Implemented a way for Cypress tests to work inside the native CEF application. This required setting up remote debugging and discovering and using undocumented framework switches.
  • Implemented an installer for the native app, tracked all required files and resources, and server connection configuration to correctly run the app on a user machine.
Technologies: C++, DirectX, Qt, Chromium Embedded Framework (CEF), React, Inno Setup

C++ Software Engineer

2021 - 2022
Autodesk
  • Completed a large number of Maya 3D features and bug fixes, mostly in the UI. Fixed some long-standing UI bugs and high-DPI rendering issues.
  • Fixed one especially stubborn UI issue, whose investigation led deep into the Qt code. It turned out to be a bug in the cursor-handling code. Communicated the details with Autodesk's Qt liaison to have it eventually fixed in the Qt.
  • Discovered and fixed, unrelated to main tasks, a couple of program crashes.
  • Worked in parallel as a lead developer of Maya Creative installer—legacy in-house technology based on Python. It involved a lot of searching/asking for the right information. Saw it through even if the documentation and process were not optimal.
Technologies: C++, Qt, Python, Autodesk Maya

C++ Software Engineer and Technical Lead

2016 - 2021
Toptal
  • Worked on the architecture and development of Toptal's multiplatform desktop products (Collabshot and TopTracker) as a lead C++/Qt developer.
  • Improved and modernized Windows Installer by rewriting it in Inno Setup.
  • Lowered TopTracker crash rates for all platforms from 2–5% down to 0.12% (to 0% for Windows, 0 crashes out of 4,769 launches).
  • Prepared and conducted technical interviews with candidates for the C++ developer position.
  • Contributed to Toptal's core platform and TopTeam platform as a back-end developer.
Technologies: Ruby on Rails (RoR), Cross-platform, Inno Setup, Qt, C++

C++ Software Engineer

2015 - 2016
Rovicom Solutions
  • Worked on the development of low-level C++ Windows applications and installers using installer technologies such as Inno Setup, WiX, and NSIS.
  • Mastered Python and implemented an automated build system using it.
  • Devised a binary protection layer for our software, significantly reducing the number of anti-virus false positives and increasing sales.
  • Held responsibility for the client-side BI data layer.
  • Introduced a number of small technical improvements in existing installers.
Technologies: Python, Inno Setup, C++

C++ Software Engineer

2014 - 2015
Endava
  • Took part in the development of the Plantronics Hub Client for Windows, using C++, HTML, and JavaScript.
  • Coordinated with the server team and QA department and wrote technical documentation to ensure we were all on the same page.
  • Identified and resolved problems during test phases.
  • Worked on escalation resolution and debugged complex problems. Regularly exceeded bugs resolved per week quota.
Technologies: C++

Back-end Developer

2010 - 2013
CRYSTALmedia
  • Worked mostly on the development of an information-heavy media1 news portal and made sure everything worked reliably and efficiently.
  • Achieved significant cost savings for the company by applying a set of optimizations and database redesigns that reduced media1 website load time from 12 seconds to 300ms on our benchmark machine.
  • Participated in technical interviews and mentored junior programmers.
Technologies: CodeIgniter, jQuery, MySQL, PHP

C++ Software Engineer

2004 - 2006
Runesoft
  • Participated in the development of a Windows version of a classic Apple Macintosh MMORPG using C++, a reliable game client that enjoyed recognition among players.
  • Implemented sound and music reproduction via QuickTime for Windows, including having to reverse-engineer its DLL (due to lack of documentation) in order to learn how to fix endianness issues.
  • Implemented software rendering, blending, night and light effects, and optimizations for low-end machines.
  • Implemented an auto-update procedure, remote and local (from pre-downloaded update files), incremental and full updates, diff algorithm, replacement of the running executable, and progress tracking UI.
  • Implemented inventory and player windows, including writing a high-quality icon scaling algorithm, which wxWidgets, unfortunately, lacked at the time.
  • Ported the macro engine, adapted it to work asynchronously, and ensured thread safety and performance.
  • Performed testing, wrote test scripts, and debugged various synchronization issues and deadlocks.
Technologies: Perl, C++

SWOS 2020

https://sensiblesoccer.de/swos-2020
I wrote a modernized version of PC DOS Sensible World of Soccer 96/97 that can run natively on Windows. It is based on reverse-engineering the original game and replacing system-specific code (keyboard/joypad input, VGA output, disk access, interrupt handlers, etc.) with C++/SDL routines. New code is written in C++ and SDL with Python for some internal tools and is highly portable. Currently it compiles for Windows 32-bit/64-bit and Android, with ports to other platforms being planned.

ESET Crack Me 2015

https://join.eset.com/en/challenges/crack-me
I analyzed the crackme.exe program and retrieved all the passwords hidden in its programming code. The program contained hidden files, texts, conditional tasks, protection against debuggers, and other pitfalls, which made arriving at the solution very challenging.

The paper is available per request.

SWOS++

https://github.com/zlatkok/swospp
I wrote an add-on for the PC DOS version of Sensible World of Soccer. It was very popular and used in practically every tournament. SWOS++ upgraded the game in many ways:

• Play games over the Internet
• Save and replay complete matches
• In-game control calibration and support for a second keyboard player
• DIY competition editor
• Expanded shirt range to 0–255
• Auto-save options, even on fast exit
• Some small original game bug fixes

It was all done without a single line of code from the original game. A custom hooking mechanism had to be developed since the game executable is in a LE32 format running in 32-bit protected mode.

Multiplayer mode was achieved using a very challenging lock-step simulation.
2000 - 2012

Dipl. Ing. (Master's Degree Equivalent) in Software Engineering

Faculty of Organizational Sciences - Belgrade, Serbia

Languages

C++, C, Python, Assembler x86, NASM, Perl

Frameworks

Qt, Ruby on Rails (RoR), Chromium Embedded Framework (CEF)

Other

Porting, Inno Setup, Reverse Engineering, Autodesk Maya

Libraries/APIs

DirectX, React, SDL

Tools

Git, Meson, Android NDK

Paradigms

Cross-platform

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