Kamil Skalski
Verified Expert in Engineering
Software Developer
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
Experience
Availability
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
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.
Software Engineering Consultant
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.
Senior Software Engineer
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.
Staff Software Engineer | Tech Lead
- 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.
Software Engineer
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.
Experience
Hybrid Wireless and Web Voting System
https://elector.proNemerle .NET Programming Language
http://nemerle.org/AboutI'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.
Skills
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
Education
Master's Degree in Computer Science
University of Wrocław - Wrocław, Poland
Master's Degree in Computer Science
University of Paderborn - Paderborn, Germany
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring