Marcin Sterkowiec, Developer in Warsaw, Poland
Marcin is available for hire
Hire Marcin

Marcin Sterkowiec

Verified Expert  in Engineering

Software Developer

Location
Warsaw, Poland
Toptal Member Since
October 6, 2023

Marcin is an experienced software developer with over 15 years devoted to C++ programming—he started from C++98 and moved comfortably through C++11 up to C++17. He specializes in multithreaded data processing optimized for speed, including high-frequency trading (HFT) and robust multithreaded engines. In his free time, Marcin is devoted to creating a program to solve complex chess problems.

Portfolio

Euronext
C++, C++14, Visual Studio Code (VS Code), CMake, Google Test, Git, GCC
Credit Suisse
C++, C++17, C#, Visual Studio, CMake, Google Test, Git, Monte Carlo
Goldman Sachs
C++, C++17, CLion, CMake, Bazel, Google Test, CVS, Git, Python, Clang, GCC...

Experience

Availability

Part-time

Preferred Environment

Windows, Linux, Visual Studio, CLion, Visual Studio Code (VS Code), C++, C++17

The most amazing...

...program I've developed allows solving complex chess problems in an incredibly short time—currently freeware and, hopefully, commercial soon.

Work Experience

Software Developer

2022 - 2023
Euronext
  • Handled the creation of a large set of pre-trading risk checks.
  • Maintained low latency and guaranteed the robustness of the code.
  • Built a custom allocator and custom containers to ensure maximum speed.
Technologies: C++, C++14, Visual Studio Code (VS Code), CMake, Google Test, Git, GCC

Quantitative Developer

2021 - 2022
Credit Suisse
  • Sped up the Monte Carlo simulation by about 70% using various optimization techniques.
  • Added a fast, safe, and robust logging system in C++.
  • Handled building preparations with an assertive multithreading library.
Technologies: C++, C++17, C#, Visual Studio, CMake, Google Test, Git, Monte Carlo

Software Developer

2020 - 2021
Goldman Sachs
  • Developed a C++ application optimized for speed, including an object factory and a custom smart pointer.
  • Ported a large C++ application from a Make-based build system to Bazel. This included the creation of a test suite and resolving issues related to porting from GCC to Clang.
  • Worked on Conan packages for external modules and libraries.
Technologies: C++, C++17, CLion, CMake, Bazel, Google Test, CVS, Git, Python, Clang, GCC, Make, Conan

Software Developer

2019 - 2020
Dom Maklerski BOS
  • Implemented a strategic automated trading green field project on the Warsaw Stock Exchange using C++, Qt, Google Test, and QuickFIX.
  • Built a library for Python to provide real-time quotes and transactions.
  • Integrated the Forex application server with an external exchange, Interactive Brokers, to perform automated hedging transactions.
  • Developed and maintained a real-time data feed for Forex, leveraging C++, GUI in C#, Bloomberg, and Morningstar.
Technologies: C++, C++11, Qt, Google Test, QuickFIX, Subversion (SVN), MySQL, Forex, Data Feeds, Algorithmic Trading, Low Latency

Software Developer

2008 - 2019
Nielsen
  • Ported single-threaded calculation engines to multithreaded ones, including thread synchronization, speed optimization, and implementation of a fast compression and decompression algorithm.
  • Created new calculation statistics using a new variable within analytical software and time slot ranking.
  • Built an application server for collecting usage statistics.
  • Developed an application server to run as a 64-bit external process to serve memory allocations instead of the 32-bit main application composed of more than 300 DLLs.
  • Optimized the process for speed with the new engine mode, allowing alternative weighing in time-shifted views.
  • Implemented memory and resource leak tracing in large while dedicated commercial tools for detecting leaks could not deal with the required complexity.
  • Migrated from an STL port to a native STL and ported a 32-bit C++ application, including more than 300 projects, to a 64-bit process.
  • Introduced considerable performance enhancements of calculation engines using various optimization techniques.
Technologies: C++, C++98, C++11, COM, ATL, CVS, C#, SQL, JavaScript, PostgreSQL, Microsoft Foundation Classes (MFC), Microsoft Foundation Class (MFC) Library, Visual Studio

Software Developer

2007 - 2008
Accenture
  • Adapted the billing application using interfaces written in C.
  • Initialized a CVS repository for the billing application project.
  • Created Bash scripts with various test unit scenarios.
Technologies: C, CVS, Bash Script, Bash

Main Specialist

2003 - 2007
Warsaw City Hall
  • Handled the creation of an internet site for searching active tenders run by all units of Warsaw city.
  • Created a Java applet for running electronic auctions.
  • Prepared a report about types of abuse in the criteria for evaluating tender offers.
Technologies: PHP, JavaScript, SQL, MySQL, Java

Software Developer

1999 - 2000
Generali
  • Handled the adaptation of the insurance application using RPG and AS/400.
  • Implemented and designed a data compression algorithm in C++.
  • Designed a proof of concept and conducted several experiments on object-oriented databases.
Technologies: RPG, AS/400, C++

Software Developer

1997 - 1999
Krajowy Depozyt Papierów Wartociowych
  • Developed a guarantee fund for Polish brokerage houses.
  • Performed maintenance tasks related to the guarantee fund.
  • Built and maintained the main depository application.
Technologies: RPG, AS/400, 4GL

Assertive Multithreading Library

https://github.com/msterkowiec/AMTL/
A library aimed at enhancing and ensuring code robustness. The assertive multithreading library is intended to have no impact on actual release builds. Its primary purpose is to provide types for special builds—debugs or special releases—that can detect various errors in the code during runtime.

The idea to build this library sprang into my mind in the middle of April 2021, during bug fixing of a piece of software that solves chess problems. Currently, the library has the potential to make C++ code as robust as Rust programs are said to be without losing the freedom that C++ offers.
1997 - 2002

Master's Degree in Economics

Warsaw University - Warsaw, Poland

1992 - 1997

Master's Degree in Information Technology

Bialystok University of Technology - Bialystok, Poland

Libraries/APIs

ATL, Microsoft Foundation Class (MFC) Library, Microsoft Foundation Classes (MFC)

Tools

Visual Studio, Git, CMake, GCC, CLion, Bazel, CVS, Subversion (SVN), Make, Conan

Languages

C++, C++11, C++98, Assembler x86, SQL, C++17, C, Pascal, C++14, C#, Python, JavaScript, Bash Script, PHP, Java, RPG, 4GL, Bash

Platforms

Windows, Visual Studio Code (VS Code), AS/400, Linux

Paradigms

Object-oriented Programming (OOP), Object-oriented Design (OOD)

Storage

Databases, MySQL, PostgreSQL

Frameworks

Google Test, Qt

Other

Derivatives, Low Latency, Finance, Stock Market, Stock Price Analysis, Derivative Pricing, Futures, Futures & Options, Simulations, QuickFIX, Forex, Data Feeds, Algorithmic Trading, COM, Economics, Information Technology, Monte Carlo, Clang

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