Piotr Sarnacki

Piotr Sarnacki

Mentor
Rising Codementor
US$25.00
For every 15 mins
ABOUT ME
Staff Engineer with 17 years of experience
Staff Engineer with 17 years of experience

I have almost two decades of professional experience mainly in relation to web technologies. I've been using multiple languages throughout my career: Ruby, Javascript/Typescript, Elixir, Rust, Go, Java and C. I am Ruby on Rails contributor (almost 600 commits committed to Ruby on Rails core). Additionally I have experience with the following:

  • distributed systems/microservices
  • event driven architectures
  • PostgreSQL
  • AWS
  • SRE/Devops
  • Kubernetes
  • Ansible
Berlin (+01:00)
Joined June 2019
EXPERTISE
11 years experience
11 years experience
8 years experience

REVIEWS FROM CLIENTS

Piotr's profile has been carefully vetted and approved as a Codementor. Connect with Piotr now, and leave a review for them once you're done!
SOCIAL PRESENCE
GitHub
jquery-upload-progress
Upload progress bar working with apache, nginx and lighttpd upload progress modules
JavaScript
247
67
bulk_api
Ruby
154
7
EMPLOYMENTS
Staff SRE/Engineer
Clockwork Labs
2023-02-01-Present

● I developed a TypeScript based SDK for interfacing with the SpacetimeDB database.
● I developed and maintained a tool for deploy...

● I developed a TypeScript based SDK for interfacing with the SpacetimeDB database.
● I developed and maintained a tool for deploying and doing basic ops tasks through our company Discord that
made it much easier for people without Kubernetes or Ansible knowledge to perform these ops tasks.
● I planned and led the effort to prepare a Kubernetes based setup for handling all of the company’s observability
needs, which allowed us to experiment with what metrics, logs, and traces are most valuable, without incurring
the heavy costs of a hosted solution. The monitoring setup is provisioned with Terraform and uses Kubernetes,
ArgoCD, Grafana, Prometheus, Thanos, ElasticSearch, and Grafana Tempo.
● I planned and led the effort to set up our PaaS offering that is provider-agnostic, and can be set up on dedicated
servers, allowing us to keep server costs down compared to a cloud-based setup. The setup is based on Ansible.
● I planned and led the effort to modify the PaaS setup in order to allow us adding custom enterprise clusters
easily, which enables the company to sell an Enterprise offering to customers that need an isolated environment.
● I worked on introducing SRE best practices into the company, and I trained employees for an on-call rotation.

Elasticsearch
TypeScript
Ansible
View more
Elasticsearch
TypeScript
Ansible
Kubernetes
Terraform
Grafana
Prometheus
Marvel
Argo CD
View more
Contractor
Mara
2022-10-01-2023-01-01

● I rewrote data migration scripts from Ruby to SQL in order to speed them up from execution time measured in
days to execution ti...

● I rewrote data migration scripts from Ruby to SQL in order to speed them up from execution time measured in
days to execution time measured in hours, so we could lower the customer impact of the data migration to a
minimum. I also created a set of automated checks to ensure the migration scripts are correct.
● I improved observability of the system by adding event tracing and improving metrics coverage, which let us
identify and fix issues more quickly.
● By leveraging the distributed tracing setup, I optimized the system by reducing complexity in communication
between services, which resulted in decreasing the infrastructure costs by an order of magnitude.

Ruby
SQL
DTrace
View more
Ruby
SQL
DTrace
View more
Staff Backend Engineer/Staff SRE
Hopin
2020-03-01-2022-07-01

● I worked on optimizing Ruby on Rails/PostgreSQL backend during massive traffic growth, which helped the
company grow further and...

● I worked on optimizing Ruby on Rails/PostgreSQL backend during massive traffic growth, which helped the
company grow further and secure contracts from bigger clients.
● I have worked on planning and extracting chat functionality into a separate microservice, which made it easier to
scale it separately as it was a high RPS part of the system.
● I designed and led the team that wrote a real-time WebSocket-based service in Rust. Thanks to the design we
were able to deliver a first version of the service in just 3 weeks and without much modification the service was
able to handle a million WebSocket connections per server, thus requiring few changes to support the company's
continued growth.
● I helped to introduce SRE practices in the company, like post mortems and on-call practices, which allowed the
company to handle incidents more efficiently and learn from them.
● As part of the Developer Experience team I led an effort to create company-wide tools for instrumenting new
microservices written in Ruby or Node.js. The tools allowed standardization of instrumentation across multiple
applications and microservices, enabled seamless integration with our distributed tracing setup, and let teams
easily add custom metrics and traces for application-specific instrumentation.
● As part of the performance team I have set up production profiling for Ruby based applications that allowed
developers identify performance issues quicker.

Ruby on Rails
PostgreSQL
WebSocket
View more
Ruby on Rails
PostgreSQL
WebSocket
Rust
DTrace
Sre principles
View more
PROJECTS
Ruby on Rails contributor
2013
I’ve committed close to 600 commits to Ruby on Rails core
I’ve committed close to 600 commits to Ruby on Rails core
Ruby on Rails
Ruby on Rails
Crows
2025
A distributed load and stress testing tool running WebAssembly based scenarios
A distributed load and stress testing tool running WebAssembly based scenarios
Rust
WebAssembly
Rust
WebAssembly