Marcin Sterkowiec
Verified Expert in Engineering
Software Developer
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
Experience
- C++ - 15 years
- Object-oriented Design (OOD) - 15 years
- Object-oriented Programming (OOP) - 15 years
- Visual Studio - 13 years
- Derivatives - 3 years
- C++17 - 2 years
- Low Latency - 1 year
- Assembler x86 - 1 year
Availability
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
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.
Quantitative Developer
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.
Software Developer
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.
Software Developer
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.
Software Developer
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.
Software Developer
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.
Main Specialist
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.
Software Developer
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.
Software Developer
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.
Experience
Assertive Multithreading Library
https://github.com/msterkowiec/AMTL/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.
Education
Master's Degree in Economics
Warsaw University - Warsaw, Poland
Master's Degree in Information Technology
Bialystok University of Technology - Bialystok, Poland
Skills
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
Paradigms
Object-oriented Programming (OOP), Object-oriented Design (OOD)
Platforms
Windows, Visual Studio Code (VS Code), AS/400, Linux
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
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring