Kamil Skalski, Developer in Gdańsk, Poland
Kamil is available for hire
Hire Kamil

Kamil Skalski

Verified Expert  in Engineering

Software Developer

Location
Gdańsk, Poland
Toptal Member Since
March 8, 2022

Kamil is a software engineer with experience in large distributed systems (tech lead of a web search infrastructure team in Google) and E2E development of user-facing apps (company founder with a product spanning physical mobile devices, desktop apps, and web endpoints). He led a team that scaled the web search index for the largest repository of web documents on the planet, co-developed and patented a novel data structure, and created a voting system used by governments.

Portfolio

Elector
.NET, Nemerle, Electron, gRPC, Vue, AES, C++, Embedded C, ASP.NET Core, C#...
Shareablee
Java, Druid.io, gRPC, Git
DataX
Java, Spark, Druid.io, Kubernetes, Python, Git

Experience

Availability

Part-time

Preferred Environment

C#.NET, C++, Distributed Systems, Big Data, Performance

The most amazing...

...system I've developed and scaled was the search index back end for the largest repository of web documents on Earth, handling thousands of queries per second.

Work Experience

Founder | Architect | Full-stack Software Engineer

2003 - PRESENT
Elector
  • Built the entire technology stack for managing data and voting on our custom-built mobile devices, transferring encrypted information from them to the central database, and displaying results on a desktop application.
  • Worked with a designer and front-end developers to transition the UI from WinForms to web-based technologies, designing and implementing APIs and a data structure and more complex functionalities on the front end.
  • Added a web server and web interface to the system allowing hybrid workflow for users to use a mix of physical devices in a meeting room and web portal to issue votes and observe data in the system.
  • Set up and managed private Kubernetes cluster with a distributed file (Longhorn) and database (HA PostgreSQL) storage.
  • Developed an early version of an Android app that communicates with the system through WiFi and allows participation in the voting process for users not using our physical devices.
Technologies: .NET, Nemerle, Electron, gRPC, Vue, AES, C++, Embedded C, ASP.NET Core, C#, Google Protocol Buffer, .NET Core, Kubernetes, Helm, TypeScript, PostgreSQL, JavaScript

Software Engineering Consultant

2018 - 2019
Shareablee
  • Designed the initial pipeline version for storing social media mention data points in a time-series database (Druid).
  • Implemented an indexing pipeline controller (Java) for importing data points into a Druid-based time-series indexing system.
  • Evaluated performance of the created serving system backed by Druid for queries required in the company's business analysis service.
Technologies: Java, Druid.io, gRPC, Git

Senior Software Engineer

2016 - 2018
DataX
  • Developed a big-data pipeline using Spark and Cassandra running in containers on a small Kubernetes cluster.
  • Designed parts of the schema and optimized queries run on a time-series serving system (Druid) to process telecommunication equipment metrics data.
  • Ported a Python query preparation and execution engine to Java optimizing performance 10x.
Technologies: Java, Spark, Druid.io, Kubernetes, Python, Git

Staff Software Engineer | Tech Lead

2007 - 2015
Google
  • Scaled, as the tech lead of a nine-member team, the web search index serving system to handle a repository of x00B documents and thousands of QPS by adjusting data sharding and cluster layout, load testing, and overseeing production launch.
  • Contributed several data structure and performance optimizations to allow more data and QPS on a system with fixed resource allocation of highly specialized servers.
  • Rebuilt and maintained a pipeline accommodating timely updates of the index and its sharding correction data, including a novel data structure that I designed and developed with a coworker (US Patent US8700583B1).
  • Implemented and launched an alternate way to shard keys across an index serving cluster, allowing more flexible selection of sharding between data push and serving, which removed bottlenecks from push infrastructure and ensured reliable index updates.
  • Implemented a schema of index shard replicas exchange between servers during data refresh build, cutting time and resources used for index updates on a serving cluster by around 50%.
  • Improved reliability, transparency, and automation of the release process of a web search back end across tens of global data centers. Oversaw multiple rollouts, completing comparative load tests and debugging regressions and system behavior changes.
  • Built a cluster management platform module for orchestrating service assignments to data centers to maintain their global capacity during rollouts and traffic changes. Designed and implemented UI components for the platform (Java, GWT).
  • Improved, automated, and oversaw the cleanup of dead code from the company-wide codebase.
Technologies: C++11, Large Data Sets, Large Scale Distributed Systems, Sharding/Cell Infrastructure, Python, Site Reliability Engineering (SRE), Scaling, Information Retrieval, Technical Leadership

Software Engineer

2005 - 2007
Axit
  • Expanded on features and bug fixes in order fulfillment and a shipment document processing web platform, designing and implementing technological solutions to customers' business needs.
  • Managed a configuration team that automated and applied custom configuration changes requested by customer support and designed special reports (SQL queries).
  • Built a Ruby on Rails internal website used for the automated execution of batch and on-demand parametrized database queries to smooth out workload on the configuration team.
Technologies: Java, SQL, Oracle SQL

Hybrid Wireless and Web Voting System

https://elector.pro
The voting system used by local governments, public institutions, and companies running shareholder meetings. I am a founder and creator of the entire technology stack, including the desktop app, code for custom-produced mobile devices, and the web endpoint server.

Nemerle .NET Programming Language

http://nemerle.org/About
Nemerle is a general-purpose, multi-paradigm programming language for the .NET platform. It is as easy to learn and use as C# and employs a range of cool features enabling metaprogramming and functional programming. The metaprogramming is based on macros bearing some similarity to Lisp.

I'm a co-creator of the language, designer of the metaprogramming facilities, and implemented significant parts of the compiler. The project received a Microsoft research grant, and over the years, many of its features were incorporated into the core C# language.

Languages

C#.NET, Nemerle, C#, C++, C++11, Java, TypeScript, JavaScript, Python, Embedded C, SQL

Frameworks

.NET, Google Protocol Buffer, gRPC, ASP.NET Core, .NET Core, Entity Framework Core, Electron, Spark

Other

Programming Language Design, Sharding/Cell Infrastructure, Distributed Systems, Big Data, Performance, Algorithms, Data Structures, Large Data Sets, Large Scale Distributed Systems, Scaling, Formal Methods, Site Reliability Engineering (SRE), Information Retrieval, Technical Leadership

Libraries/APIs

Vue, AES

Tools

Helm, Git

Paradigms

Agent-based Modeling, Compiler Design

Platforms

Kubernetes

Storage

Oracle SQL, Druid.io, PostgreSQL

2000 - 2005

Master's Degree in Computer Science

University of Wrocław - Wrocław, Poland

2003 - 2003

Master's Degree in Computer Science

University of Paderborn - Paderborn, Germany

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring