Services

I'm an independent software engineer that offers consultations related to software development and optimizations, writing new code, and updating an existing code to be faster. In addition, I can be hired to be part of a larger development team when it comes to developing either new or existing project (long-term). I also offer commercial support for AsmJit and Blend2D libraries and consultations in this area.

I prefer to work on projects where performance matters and where C++ language is used for its efficiency and not for legacy reasons. I can use other programming languages too, like Python, JS/Node.js, and Golang, but I'm not actively looking for opportunities that would involve writing code in these languages without focus on high-performance.

Contracted Work

I'm offering a contracted work in the area of software development, architecture design, and consulting. I'm expert in the following areas:

Cross-Platform C++

  • Knowledge of the C++ language up to C++23 and a daily user of C++20
  • Knowledge of operating system APIs including Windows, Linux, BSD variants, and Apple platforms.
  • Build systems and package managers including cmake, conan, and vcpkg
  • Writing a production-grade code in C & C++ that is robust and properly handles corner cases and error conditions
  • Experienced and a daily user of tools like ASAN, UBSAN, MSAN, TSAN, perf, and valgrind

High-Performance C++

  • CPU specific optimizations targeting AVX2, AVX-512 (all possible variations), and AArch64/NEON CPU extensions
  • JIT compilation targeting X86, X86_64, and AArch64 CPU architectures using AsmJit or other tools
  • Using multi-threading and atomic operations to implement lock-free solutions in multi-threaded data processing pipelines

Other C++ Skills

  • Designing easy to use and clean interfaces (APIs) of libraries so the API can be easily consumed by users
  • Supporting everything I write with tests and benchmarks so the safety and performance of the code is validated

2D Rendering

  • Design of 2D rendering engines, mostly CPU renderers that use SIMD instructions and multi-threading
  • Experience with 2D rasterization and composition pipelines (advanced implementation in Blend2D)
  • Pixel effects (adjustments, color matrix, ...) and convolutions such as blur, erosion, dilation, ...
  • Text processing and rendering including advanced use of OpenType technology
  • Decoding and encoding raster and vector image formats (PNG, SVG, ...)

Data-Processing Pipelines

  • Implementing SQL or custom query engines for processing big data, possibly unstructured
  • Acceleration of binary format decoding & encoding by using SIMD instructions
  • Acceleration of date-time processing, geo-hashing, vector operations, and other common functions used in query engines

General Skills

  • Experienced with common software development methodologies so I can work reliably with others
  • Flexibility - A passion for exploring areas I haven't worked on in the past

Availability

My availability at the moment is limited. Please get in touch of you are considering my services to get more details and availability options.

Contact

You can reach me over the email (click) or connect via LinkedIn. Business meeting is possible in Prague, Czech Republic (EU).

Business Entity Information

Please wait until the information is displayed.