Goran Mitrovic, Developer in Zagreb, Croatia
Goran is available for hire
Hire Goran

Goran Mitrovic

Verified Expert  in Engineering

Optimization Developer

Location
Zagreb, Croatia
Toptal Member Since
September 18, 2017

Goran has 15+ years of experience developing various projects dealing with C++, C, ASM, and C#. He communicates extremely well, is enthusiastic about his work, and is very professional. He has about 5 years of experience doing freelance work and is looking for more exciting and challenging projects to join.

Availability

Full-time

Preferred Environment

Visual Studio, Windows

The most amazing...

...thing I've done was to optimize fingerprint reader routines and make them faster many times over.

Work Experience

Developer

2005 - PRESENT
Whole Tomato Software
  • Worked on a famous visual assist, a visual studio add-in.
  • Implemented new features such as a debug step filter.
  • Performed debugging/digging through a huge amount of legacy code.
  • Provided an IPC library and moved a symbols database out of the process.
  • Moved Clang Tidy out of the process and provided multiple instances' work in parallel.
Technologies: API Hooking, C#, C++

C++ and C# Developer

2023 - 2023
Evolve Labs Inc
  • Figured out how OmniSharp and Rosylin C# compilers work.
  • Made a proposal on how to integrate the client's project into the OmniSharp structure.
  • Made a proof of concept demo of such a system that might be expanded in the future.
Technologies: C#, C++, Language Server Protocol (LSP), Integrated Development Environments (IDE), Visual Studio, Visual Studio Extensibility, Layered Service Providers (LSP)

Assembler x86 Developer

2022 - 2023
Drake Software, LLC
  • Debugged a huge codebase full of legacy code written in PowerBasic.
  • Found a difficult issue where the calling convention while going from PowerBasic to C# was slightly different than expected.
  • Gave a detailed explanation and offered two solutions to the problem.
Technologies: Assembler x86, Win32, Windows, Debugging, C#.NET

C++ Developer

2018 - 2019
Berkeley Madonna, Inc.
  • Ported a differential equations solver from x86 to x64 bits.
  • Differential equations solver involved a code generator that needed to be rewritten.
  • Used LLVM as a new intermediary step to have access to its code generation and optimizations.
Technologies: C++, Microsoft Assembly x86 (MASM), x64 Assembly, Assembler x86, JNI

Developer | Consultant

2012 - 2017
Lumidigm, Inc.
  • Optimized fingerprint sensor routines on the Blackfin and RPI platforms.
  • Merged multiple processing steps together with eliminating unnecessary operations and lowering memory bandwidth usage.
  • Tuned C++ source code for a compiler to produce optimal code.
  • Wrote ASM code (BF) by hand to have inner loops as fast as possible.
  • Located loops suitable for multi-threaded parallel processing (RPI).
Technologies: Assembler, C++, Kernel

Senior C++ Programmer

2008 - 2017
Enghouse Interactive
  • Led the development of an MRCP and multi-process work balancing.
  • Wrote C++ algorithms for real-time processing of audio data.
  • Optimized, maintained, and detected leaks in the existing code.
  • Extended the support for VoiceXML as part of my role.
Technologies: Microsoft Foundation Class (MFC) Library, Microsoft Foundation Classes (MFC), C++

Developer

2005 - 2012
Freelance Work
  • Worked on various projects working with a third party matcher.
  • Was ranked 41st out of 388,162 programmers worldwide with an average rate 9.96/10 (http://tinyurl.com/k2mj4lq ).
Technologies: ASM, C, C++, Windows Driver Kit (WDK), Kernel

Senior Developer | Architect

2003 - 2008
Intesis | Sitek | Exor
  • Bootstrapped, debugged, maintained, expanded, reverse-engineered, and optimized custom hardware platforms.
  • Developed drivers for ethernet communication and video-input hardware.
  • Developed, ported, and optimized an SVG document rendering engine.
  • Developed a PLC simulator based on MFC and SVG.
  • Produced a complete SVG-based HMI system editor.
Technologies: ASM, C, C++, Kernel

Developer

2004 - 2004
T-Com
  • Developed an anti-dialer protection application.
Technologies: Reverse Engineering, C++

Enghouse Interactive Communications Portal 10

Worked for 10 years on one of the most powerful IVR systems.

Lumidigm Fingerprint Sensors

Performed speed optimizations on Lumidign professional fingerprint sensors.

Languages

Embedded C++, Embedded C, Assembler, C++14, C++, Assembler x86, C++11, C++17, C, C#, C#.NET, Microsoft Assembly x86 (MASM), x64 Assembly

Frameworks

Boost, .NET Core, .NET 4, ASM, .NET, Windows Presentation Foundation (WPF), OpenCL, JNI, Visual Studio Extensibility

Libraries/APIs

Win32 API, Standard Template Library (STL), Windows API, Microsoft Foundation Class (MFC) Library, Microsoft Foundation Classes (MFC), Windows Template Library (WTL), ATL, wxWidgets

Tools

Microsoft Visual Studio, Microsoft Visual C++, VTune, Visual Studio, Windows Driver Kit (WDK)

Paradigms

Parallel Programming, Windows App Development, Real-time Systems

Platforms

Win32, Windows, Kernel, Linux

Other

Blackfin Microprocessors, Debugging, Memory Leaks, Reverse Engineering, Optimization, Memory Profiling, Memory Management, Performance Tuning, APIs, Windows Internals, VDSP++, Embedded Development, Embedded Software, TCP/IP, API Hooking, C++20, Parsers, Cryptocurrency, COM, Device Drivers, Intel MCS-51 (8051), ARM, SIMD, BCG, Windows Services, Language Server Protocol (LSP), Integrated Development Environments (IDE), Layered Service Providers (LSP)

1996 - 2002

Master's Degree in Computer Science

University of Zagreb, Faculty of Electrical Engineering and Computing - Zagreb, Croatia

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