Skip to content
View francescmaestre's full-sized avatar
:octocat:
Wololo!
:octocat:
Wololo!
  • Stockholm, Sweden

Block or report francescmaestre

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
francescmaestre/README.md

Hi! I'm Francesc Maestre :)

Typing SVG


Who am I?

As a Principal Engineer I architect and design SDKs, define and implement communication protocols and drivers, and create GUI. I speak C++20/23 fluently, Qt is like a second mother tongue for me, and I also touch Python and Java from time to time. Right now I'm building cross-platform SDKs for a living - the kind that quietly hold up everything else - that are are used by 600+ developers and hold up the games played by 200M+ players worldwide daily. No pressure ;)

I work with most of the mainstream platforms (like Windows, Linux — with Ubuntu, macOS, Android and iOS). I've developed and worked with a mix of REST/RPC implementations, custom protocols, plugin systems, and dependency graphs. I mostly gravitate between the big picture (API design, architectural direction, herding cross-team initiatives, and the occasional technical interview) and the depths of hands-on code migrations in the games and client-platform systems.

I'm known as Baron of Migrations, Lord of Refactors, and Slayer of SDKs. I wololo legacy code into the present: Qt4/5 turns into Qt6, C++11 becomes C++20/23, and the good old "don't touch it, it works" becomes code one can actually read and understand.

I've seen things in those codebases that you people wouldn't believe...

How I Code

  • I always try to make the code readable, as if it were natural language: no opaque nested instructions, but clear definitions instead.
  • When migrating legacy code, I always do it one safe step at a time, clearly differentiating between what is a refactor and what is a re-implementation. No heroic big-bangs.
  • I love a good performance win, but I measure first. Premature optimization is just guessing with extra steps.

Connect with Me

LinkedIn Email Website


Tech Stack

Languages & Frameworks

C++ Qt C CMake Python Bash

Platforms & Tools

Windows Linux macOS Android iOS Git GitHub VS Code


Personal Projects

In addition to keeping the C++ foundations at King, I also have some side quests going on:

Project Description Stars
GitQlient Multi-platform Git client written with Qt star
QLogger Multi-threaded logger written for Qt star
GitQlientPlugin Integration of GitQlient in QtCreator as a plugin star

Now in the making: Setting up my own home server... more to come!

Geek Area

Pinned Loading

  1. GitQlient GitQlient Public

    GitQlient: Multi-platform Git client written with Qt.

    C++ 886 86

  2. GitQlientPlugin GitQlientPlugin Public

    GitQlientPlugin provides you a plugin to integrate Git in QtCreator full UI oriented

    C++ 45 2

  3. QLogger QLogger Public

    Multi-threading logger for Qt applications

    C++ 62 24

  4. BenchmarkTool BenchmarkTool Public

    C++ library that tracks the time it takes a function to run. It creates a calling tree.

    C++ 5 2

  5. QPinnableTabWidget QPinnableTabWidget Public

    QPinableTabWidget is a normal QTabWidget that allows you to pin and unpin tabs.

    C++ 12 5

  6. git git Public

    Git Qt helper classes

    C++ 2 2