Hire me
Hi! I’m Radek Pietruszewski, a software engineer with 20 years of experience.
I’m looking for new work opportunities, particularly in:
- systems programming of all sorts
- distributed systems
- performance engineering
- next-generation tooling and infrastructure more broadly
Remote positions only.
Interested? Read more about me and my work:
A wide range of experiences
Over the past 20 years, I have, among other things:
- built user-facing products (for desktop, mobile, web)
- built backend systems (Node.js, Python/Flask, Ruby on Rails, others)
- open-sourced many projects, some quite popular
- done performance work (architecture, optimization, tooling)
- wrote RISC-V assemblers, bare-metal firmware, and more
- designed and developed an ORM library to hit technical goals not achievable with off the shelf solutions
- implemented a custom two-way synchronization protocol
- executed large-scale refactoring projects with custom AST-transforming codemods
- built custom tooling: linters, CI/CD systems, VSCode extensions
- written parsers (in Go, Swift, assembly)
- developed code sharing techniques and cross-platform libraries to enable a tiny team to ship a product for 5 platforms with acceptable UX and performance
- wrote countless ffi bridges, for instance Java/C/C++/JS(Flow) and Swift/Objective-C++/JS
- built high-availability clusters (Kubernetes, Ceph, CockroachDB), both bare-metal and on public cloud
- built and maintained infra, managed declaratively (Nix, jsonnet)
- spoke on many conferences, and represented my companies at industry events
- worked mostly in startups and small companies
- held leadership roles
As a hobby, I also do electronics, CAD, embedded programming, and volunteer at a local hackerspace.
In a past role, I often worked on performance in highly uncooperative environments (such as web-based frameworks). Notable examples:
Highlight: RISC-V
I read the RISC-V ISA Manual from cover to cover.
I wrote two RV32I assemblers, as part of an experimental full-source-bootstrap firmware. It consists of a 130B (23 unique instruction) binary seed, the rest executes from source code. The binary seed implements a hex monitor, which executes an 80-instruction RV assembler, which iteratively self-modifies into a macro assembler. I’m currently working on a minimal C compiler, written in assembly, with the aim of building TCC.
I’m building an RV32I processor of custom design, implemented using only 7400-series chips. The instruction decoder and ALU designs are complete, the memory subsystem and sequencing are unfinished.
Let’s work together
In the past, much of my commercial work revolved around end-user application tooling. At this point in my career, I wish to focus on lower levels of the stack. Whether it’s building a distributed system in Go, an embedded RTOS in Rust, or tooling for hardware synthesis — if it fits within “next-generation tooling and infrastructure”, I’m likely interested.
I’m a quick study. A new language or niche does not scare me; it’s part of the job. I don’t hide behind “AI”. If you want reliable software that lasts, I’m your guy.
I’m an excellent fit in a startup (or a small team). Give me high-level goals, and I can take care of architecture, implementation, and deployment. I’m also happy to use all of my skills and do the odd jobs that don’t warrant a full-time position in an early-stage startup.
I only consider fully remote roles (but I can travel occasionally if you’re EU-based).
If you work at (or know of) a company that could be a good fit, please introduce me to the decision-maker if you can, or let me know. I will owe you.
If you are a decision-maker and I sound like a good fit for your company, email me. Please note: I’m not often available for hire. In the past, I have worked with companies for an average of 4.7 years, with the record holder at 11 years.
Sincerely,
— Radek
(Written by me, without LLMs. Em-dashes are mine.)