Marcin Kurczewski

Freelance Python/JS developer

If you're looking for an experienced Python/JS developer, knowledgeable in low-level topics, security and scalable web development, then drop me an e-mail at dash@wind.garden. Over the last 10 years I've built products from the ground-up, maintained them, did dev-ops, production monitoring, team management, mentoring for my colleagues and have led interviews with new candidates.

Career highlights

  • STX Next (4.3 years)
    • CI
    • Django
    • Django Rest Framework
    • Docker
    • GitHub
    • GraphQL
    • GraphQL Apollo
    • HTML
    • Postgres
    • Python
    • Python 3
    • git
    • Angular
    • Javascript
    • Jenkins
    • OAuth
    • OpenLDAP
    • React
    • Redis
    • C#
  • Motoinsight (3.9 years)
    • CI
    • Celery
    • Django
    • Django Rest Framework
    • Docker
    • GitHub
    • HTML
    • Javascript
    • LogDNA
    • Postgres
    • Python
    • Python 3
    • Sentry
    • Squash
    • Travis
    • VueJS
    • git
    • JQuery
    • Python 2
  • Toptal (1.2 years)
    • Aptible
    • Bootstrap
    • CI
    • Calendly
    • Celery
    • CheckR
    • Crispy Forms
    • DigitalOcean
    • Django
    • Django Rest Framework
    • Docker
    • GitHub
    • GitHub Actions
    • HelloSign
    • Postgres
    • Python
    • Python 3
    • React
    • Sentry
    • Stripe
    • git

Skills

  • CI
  • Django
  • Django Rest Framework
  • Docker
  • GitHub
  • GraphQL
  • GraphQL Apollo
  • HTML
  • Postgres
  • Python
  • Python 3
  • git
  • Celery
  • GitHub Actions
  • Google Cloud Platform
  • Aptible
  • Bootstrap
  • Calendly
  • CheckR
  • Crispy Forms
  • DigitalOcean
  • HelloSign
  • React
  • Sentry
  • Stripe
  • Okta
  • Python 2
  • Travis
  • Javascript
  • LogDNA
  • Squash
  • VueJS
  • GitLab
  • Graphene
  • MongoDB
  • What3Words
  • Angular
  • Jenkins
  • OAuth
  • OpenLDAP
  • Redis
  • Elasticsearch
  • Pyramid
  • SQL
  • SQLAlchemy
  • JQuery
  • C#
  • Gosu
  • Guidewire
  • Cassandra
  • Mercurial
  • NHibernate
  • Oracle
  • Spring.NET
  • TeamCity
  • WPF
  • CSS
  • Google APIs
  • PHP
  • Zend
  • svn
  • Amazon S3
  • Pillow
  • C
  • PyQT5
  • ATI3DCIF
  • DirectX
  • OpenGL
  • Reverse engineering
  • SDL
  • WinAPI
  • WinMM
  • ffmpeg
  • curses
  • urwid
  • FFMS2
  • FFTW
  • mpv
  • numpy
  • PyQT4
  • PySide
  • C++
  • Apache
  • SQLite

Location

Poznań, Poland

Employment

  • Senior freelance Python developer Toptal Feb. 1, 2022 Present
    • Developed from scratch a new product in the surrogacy space for matching geriatric donors and intended parents.
    • Integrated the platform with many third party screening platforms.
    • Created Stripe-based billing system.
    • After the intensive MVP development phase, focused on refactoring the system into an API and SPA.
    Technologies:
    • Aptible
    • Bootstrap
    • CI
    • Calendly
    • Celery
    • CheckR
    • Crispy Forms
    • DigitalOcean
    • Django
    • Django Rest Framework
    • Docker
    • GitHub
    • GitHub Actions
    • HelloSign
    • Postgres
    • Python
    • Python 3
    • React
    • Sentry
    • Stripe
    • git
  • Senior full-stack engineer Motoinsight Sept. 1, 2020 Present
    • Worked on a company-wide transformation to services.
    • Shaped code architecture.
    • Triaged production issues.
    • Held interviews for new candidates.
    Technologies:
    • CI
    • Celery
    • Django
    • Django Rest Framework
    • Docker
    • GitHub
    • HTML
    • Javascript
    • LogDNA
    • Postgres
    • Python
    • Python 3
    • Sentry
    • Squash
    • Travis
    • VueJS
    • git
  • Freelance software engineer Netguru April 1, 2022 July 31, 2022
    • Developed a greenfield project relating to technical budget analysis.
    Technologies:
    • CI
    • Celery
    • Django
    • Django Rest Framework
    • Docker
    • GitHub
    • GitHub Actions
    • Google Cloud Platform
    • Postgres
    • Python
    • Python 3
    • git
  • Senior+ freelance Python developer STX Next April 18, 2022 July 15, 2022
    • Worked under a team extension contract for a client in the healthcare segment.
    • Maintained and developed new features in one of the microservices.
    Technologies:
    • CI
    • Django
    • Django Rest Framework
    • Docker
    • GitHub
    • GraphQL
    • GraphQL Apollo
    • HTML
    • Postgres
    • Python
    • Python 3
    • git
  • Freelance software engineer Netguru Dec. 1, 2021 March 31, 2022
    • Migrated Google APIs from v7 to v9 in an elaborate inhouse product for a food delivery company working in over 30 countries.
    • Advocated good practices in each project (code reviews, linters etc.)
    • Led Dockerization efforts in three projects.
    Technologies:
    • CI
    • Docker
    • GitHub
    • Google Cloud Platform
    • Okta
    • Python
    • Python 2
    • Python 3
    • Travis
    • git
  • Freelance software engineer Netguru Oct. 1, 2021 Nov. 30, 2021
    • Launched a new service for coordinating inventory in a big Polish retail chain.
    Technologies:
    • CI
    • Django
    • GitHub
    • Python
    • Python 3
    • git
  • Senior+ software engineer STX Next Jan. 1, 2021 Aug. 31, 2021
    • Worked as a solo maintainer of numerous short-lived Python projects for various customers after the previous project had ended.
    • Held interviews for new candidates.
  • Full-stack engineer Bridgemaker Aug. 1, 2020 Feb. 14, 2021
    • Launched a new project for coordinating car fleets in Germany.
    • Worked on live tracking of fleet vehicles on a map widget (to the extent permissible by German law.)
    Technologies:
    • CI
    • Django
    • Docker
    • GitLab
    • GraphQL
    • Graphene
    • MongoDB
    • Postgres
    • Python
    • Python 3
    • Travis
    • What3Words
    • git
  • Senior+ technical team lead STX Next Nov. 1, 2019 Jan. 1, 2021
    • Maintained and held ownership of existing projects for one of the company's oldest clients in the food industry.
    • Led a team of 2 to 7 (the size was changing over time according to the client's budget).
    • Led discussions with the client.
    • Led a complex migration project from LDAP to a relational DB that involved the entire project landscape of the customer.
    Technologies:
    • Angular
    • CI
    • Django
    • Django Rest Framework
    • Docker
    • GitHub
    • HTML
    • Javascript
    • Jenkins
    • OAuth
    • OpenLDAP
    • Postgres
    • Python
    • Python 3
    • React
    • Redis
    • git
  • Team lead Motoinsight April 1, 2020 Sept. 1, 2020
    • Led a team of four people to continuously maintain a multitude of projects.
    • Coordinated work between Delivery, Product and Q&A teams.
    • Did code reviews for the team.
    • Worked with the code and developed tickets.
    • Solved architectural problems.
    • Kept track of the team OKRs.

    An experiment after our previous team lead has left to see if I would like a career in more of a managerial role. I found out that I prefer a role that's closer to the keyboard, and after the company has secured a stronger management layer, I decided to go back to coding.

  • Full-stack engineer Motoinsight May 1, 2019 March 31, 2020
    • Maintained five existing projects, delivered new features.
    • Held complete code ownership of one of the projects.
    • Achieved a bug-free backlog in another project.
    • Had best code review presence in the entire company based by the number of the comments and response speed.
    Technologies:
    • CI
    • Celery
    • Django
    • Docker
    • GitHub
    • HTML
    • JQuery
    • Javascript
    • LogDNA
    • Postgres
    • Python
    • Python 2
    • Python 3
    • Squash
    • Travis
    • VueJS
    • git
  • Full-stack engineer Qualio Oct. 1, 2019 March 27, 2020
    • Maintained an existing project.
    • Launched a new major product feature.
    • Improved software development process across the board – advocated code linters, code reviews and improvements to CI.
    • Introduced Docker.
    Technologies:
    • CI
    • Docker
    • Elasticsearch
    • GitLab
    • HTML
    • Javascript
    • Postgres
    • Pyramid
    • Python
    • Python 3
    • SQL
    • SQLAlchemy
    • git
  • Senior full-stack engineer STX Next April 1, 2019 Oct. 31, 2019
    • Maintained and held ownership of existing projects for one of the company's oldest clients in the food industry.
    • Led discussions with the client.
    Technologies:
    • CI
    • Django
    • Django Rest Framework
    • Docker
    • GitHub
    • HTML
    • Javascript
    • Jenkins
    • OAuth
    • OpenLDAP
    • Postgres
    • Python
    • Python 3
    • Redis
    • git
  • Regular+ full-stack engineer STX Next April 1, 2018 March 31, 2019
    • Maintained existing projects for one of the company's oldest clients in the food industry.
    • Ported the codebase from Python 2 to Python 3.
    • Introduced Docker.
    Technologies:
    • Angular
    • C#
    • Django
    • Django Rest Framework
    • Docker
    • GitHub
    • HTML
    • Javascript
    • Jenkins
    • OAuth
    • OpenLDAP
    • Postgres
    • Python
    • Python 3
    • React
    • Redis
    • git
  • Software engineer BAE Systems Applied Intelligence Feb. 1, 2018 March 15, 2018
    • Brief role as a C# software engineer on a network surveillance toolkit. Quick and mannerly termination because of misaligned expectations on both sides.
    Technologies:
    • C#
  • Software developer Capgemini Polska sp. z o.o. May 1, 2017 Jan. 31, 2018
    • Benched most of the time because of restructuring at the company.
    • Maintained the company's internal software written in C#.
    • Briefly worked as a Guidewire/Gosu developer for a large German insurance company.
    Technologies:
    • C#
    • Gosu
    • Guidewire
    • HTML
    • JQuery
    • Javascript
  • C#/.NET developer Forcom sp. z o.o. Jan. 1, 2013 April 30, 2017
    • Maintained and developed new features for back office desktop client.
    • Maintained and developed new features for a central system that communicated with back offices across the entire retail chain.
    Technologies:
    • C#
    • CI
    • Cassandra
    • Mercurial
    • NHibernate
    • Oracle
    • Postgres
    • Python
    • Python 2
    • Spring.NET
    • TeamCity
    • WPF
    • git
  • PHP developer Gammanet sp. z o.o. March 1, 2012 Feb. 28, 2013
    • Worked on various education themed web apps, including one application launch.
    Technologies:
    • CSS
    • Google APIs
    • HTML
    • Javascript
    • PHP
    • Zend
    • svn

Education

  • Master's Degree at University of Adam Mickiewicz Department of Mathematics and Computer Science Oct. 1, 2012 June 1, 2014

    Thesis: Attacks on cryptographic hash functions

  • Bachelor's Degree at University of Adam Mickiewicz Department of Mathematics and Computer Science Oct. 1, 2009 June 1, 2012

Open source

  • TRCustoms Oct. 1, 2022 March 30, 2022

    A community portal that hosts custom fan-made levels for the classic Tomb Raider games (there's over 3000 of them at the time of writing this!). Features tagging, a thoughtful review system, custom themes and more. The files are hosted in the cloud.

    Technologies:
    • Amazon S3
    • CI
    • Celery
    • Django
    • Django Rest Framework
    • Docker
    • GitHub
    • GitHub Actions
    • HTML
    • Javascript
    • Pillow
    • Postgres
    • Python
    • Python 3
    • React
    • git
  • CRC manipulator Jan. 28, 2021 Present

    A utility that lets you manipulate CRC32 (and few CRC16) checksums of your files by appending a few special bytes at the end. The motivation for this project is largely in the anime fansubbing scene – releases there often have checksums in their names, and this tool was created to let the groups change these checksums into any numbers they wish to.

    Technologies:
    • C
    • PyQT5
    • Python
    • Python 3
  • Tomb Raider I: Community Edition Jan. 1, 2021 Present

    An open source implementation of Tomb Raider I (1996). Made by complete reverse engineering the TombATI / GLRage variant of the original game and replacing all proprietary audio/video libraries with open source variants, all of which was solo work. It also adds a lot of new features to the game, such as enemy healthbars or fly cheat, and fixes many of the original game bugs. Nowadays maintained by a community of testers and programmers from all around the world.

    Technologies:
    • ATI3DCIF
    • C
    • DirectX
    • OpenGL
    • Reverse engineering
    • SDL
    • WinAPI
    • WinMM
    • ffmpeg
  • Progress Quest: the CLI edition Nov. 1, 2018 Dec. 20, 2021

    I've ported Progress Quest, a popular zero-player RPG, to run in a terminal. The gist of the game is that once the player has set up their artificial character, there is no user interaction at all; the game “plays” itself, with the human player as spectator. This has led me to think that rather than a web-browser, the ideal environment for such a game is a text console, so that the game can be easily run on servers and thus have very long uptimes.

    Technologies:
    • Python
    • Python 3
    • curses
    • urwid
  • docstring parser April 17, 2018 Present

    A library to parse various flavors of Python docstrings into strongly typed classes. Offers serialization back to a string form as well. PyPI deems it as critical to the Python ecosystem which I find flattering.

    Technologies:
    • Python
    • Python 3
  • bubblesub July 22, 2017 Dec. 31, 2021

    Since aegisub, “the” program for anime subtitles, didn't actually fit my needs, I ended up creating my own subtitle editor that works with ASS/SSA subtitles. It features video preview, spectrogram, video band, frame synchronization, playback tempo control with pitch correction and advanced plugin system.

    Technologies:
    • FFMS2
    • FFTW
    • GitHub
    • GitHub Actions
    • Pillow
    • PyQT5
    • Python
    • Python 3
    • git
    • mpv
    • numpy
  • szurubooru March 19, 2016 Feb. 10, 2018

    A web gallery with users and a robust permission system. Supports tagging, tag suggestions and implications, videos, sticky annotations, detecting visually similar images, rating, favoriting, rich search system, solid API and more. Although I don't use it myself anymore, I managed to build a strong enough community around this project that it now lives on, maintained by its community. At that time, I didn't use any particular framework and went with an inhouse solution for both the frontend and the backend, but from the perspective of time I would probably go with Django and react.

    Technologies:
    • Elasticsearch
    • Javascript
    • Pillow
    • Python
    • Python 3
  • DRM and TCT video frontends for mpv April 15, 2015 June 17, 2015

    At some point my notebook hard-drive was broken and I had to boot it from a USB stick. To save resources, I didn't use X and instead booted straight into Linux console. This notebook, however, was primarily used to play anime, and at the time the video player of my choice, mpv, required X or Wayland server to be running. So I coded two video outputs for it: DRM (that lets you play videos on Linux systems without having to run X server) and TCT (that lets you play media in your terminal with much better fidelity than libcaca).

    Technologies:
    • C
    • GitHub
    • OpenGL
    • git
    • mpv
  • IDA image preview plugin March 16, 2015 Nov. 7, 2020

    A plugin for the IDA disassembler that lets you view program memory as an uncompressed bitmap. Supports a few image modes, such as RGB-888, BGR-565 and so on.

    Technologies:
    • PyQT4
    • PyQT5
    • PySide
    • Python
    • Python 3
  • arc_unpacker Nov. 30, 2014 Nov. 6, 2017

    A huge data mining tool that extracts media from various Japanese games of the visual novel genre; supports over 450 games. Over time, the project became very popular, which was reflected in the ever-increasing demand from the community to support new games. At the same time, the high technical skills needed to analyze and reverse the algorithms used in these games meant that there was no one there to help. Eventually I ceased to enjoy working on it and decided to abandon it.

    Technologies:
    • C
    • C++
    • Reverse engineering
    • git
  • MALgraph July 5, 2013 May 2, 2015

    A statistics service for MyAnimeList users that let you show, among other things, the distribution of your ratings, what decades you like the most, anime recommendations and even achievements. Co-developed with this guy. Once very popular (many users posted a badge of their rating distribution on their profiles), abandoned after MyAnimeList shut down their APIs.

    Technologies:
    • Apache
    • CSS
    • HTML
    • JQuery
    • Javascript
    • PHP
    • SQLite