EN | PL
Paul Peregud

Paweł Peregud

Ekspert w Erlangu, mistrz konsoli, entuzjasta systemów rozproszonych

O mnie

Pierwsze kroki jako software developer stawiałem w wieku 13 lat. Następnie szlifowałem umiejętności na Politechnice Warszawskiej, na wydziale Computer Science. Programowaniem zajmuję się zawodowo od 15 lat. Mam duże doświadczenie w budowaniu, utrzymywaniu i rozwijaniu systemów, poparte praktyczną wiedzą na temat sieci, nowoczesnej architektury komputera i systemów operacyjnych, jak również systemów rozproszonych i odporności na błędy. Lubię poznawać nowe oprogramowanie, jednocześnie wyznając zasadę, że na produkcji najważniejsza jest niezawodność.

Technologie

Erlang
|
Python
|
JavaScript
|
Haskell
|
Linux
|
Bash
|
PostgreSQL
|
html/CSS

Co oferuję?

building for scale

Skalowanie serwisów

Sprawię, że Twój serwis będzie się poprawnie skalował, obsługując rosnącą liczbę użytkowników, przy jednocześnie zabezpieczonej niezawodności i efektywności.

clustered solutions

Systemy rozproszone

Zmaksymalizuję dostępność Twojego serwisu, za pomocą bazy danych w klastrze. Gwarantuję bezawaryjność i wydajność.

development

Programowanie full-stack

Dostarczam wysokiej jakości kod, stosując najlepsze praktyki: inspekcję kodu, małe rewizje, development oparty na testach, ciągłą integrację. Pracuję w oparciu o Agile i Kanban.

dev-ops

DevOps

Odpowiednio zarządzając konfiguracją systemów i automatyzacją wdrożeń pomogę Ci okiełznać proces Continuous Delivery i skrócić cykl produkcyjny.

Portfolio

Duży skalowalny system wydawniczy

Wyzwanie: Stworzenie systemu odświeżającego publikacje internetowe w czasie prawie-rzeczywistym, obsługującego dużą liczbę użytkowników jednocześnie.

Szczegóły: Ponad 700 tys. jednoczesnych użytkowników na 1 serwer, ponad 500 tys. wiadomości na 1 serwer na sekundę, obecnie skalowalny do ok. 12 serwerów o dostępności rzędu 99,997% od momentu uruchomienia, o opóźnieniu poniżej 1 sekundy dla 95-go percentyla. System był używany do translacji takich wydarzeń, jak: Euro 2012, Olimpiady w Londynie i Soczi czy expose premiera w Sejmie.

Klient: Onet.pl, Polska

Moja rola: Lead Developer

Termin: 2012-04 – 2012-09

Serwer gier

Wyzwanie: Stworzenie serwera gier, protokołu komunikacji i bota dla tureckich gier: tavla i okey.

Szczegóły: Moja praca obejmowała: programowanie w Erlangu, opracowanie projektu, implementację reguł gry w postaci automatu skończonego, implementację protokołu komunikacyjnego.

Klient: Kakaranet.com, Turcja

Moja rola: Lead Developer (backend) - praca zdalna

Termin: 2011-01 – 2011-07

Rozproszona platforma do blogowania w czasie rzeczywistym

Wyzwanie: Budowa systemu Oortle – dużej, skalowalnej platformy blogowej zintegrowanej z Wordpressem.

Szczegóły: Programowanie w Erlangu, testowanie rozproszonych algorytmów oparte na właściwościach, przetwarzanie „fire-hose” strumienia tweetów z Twittera.

Klient: Livepress Inc., USA

Moja rola: Software Developer - praca zdalna

Termin: 2010-02 – 2013-03

Analiza logów

Wyzwanie: Przetwarzanie logów i analiza oprogramowania, wykrywanie błędów proxy.

Szczegóły: Programowanie w Pythonie – przetwarzanie logów, programowanie w Erlangu - rozwijanie rozproszonego systemu “Crawlera” do pobierania danych ze stron internetowych.

Klient: Scrapinghub.com, Urugwaj

Moja rola: Software Developer – praca zdalna

Termin: 2014-03 – 2014-08

Tunelowanie TCP-via-UDP

Wyzwanie: Opracowanie systemu tunelującego połączenia TCP w sieciach mobilnych i satelitarnych.

Klient: Rock Technologies, Niemcy

Moja rola: Erlang Developer

Termin: 2011-08 – 2012-06

Zaawansowane geokodowanie – prototyp

Wyzwanie: Stworzenie prototypu ogólnego systemu geokodującego, zdolnego do obsługiwania nieuporządkowanych zapytań, klastrowego i rozproszonego. Development w oparciu o pracę naukową Microsoft Research (Google “TEXSPACE Microsoft”).

Klient: Poly9 Group (później przejęta przez Apple Inc.), Kanada

Moja rola: GIS / Erlang Developer - praca zdalna

Termin: 2009-03 – 2010-01

Sieć społecznościowa nastawiona na monetyzację contentu generowanego przez użytkowników

Wyzwanie: Rozwijanie backendu sieci społecznościowej, z naciskiem na bezpieczeństwo i niezawodność.

Szczegóły: Programowanie w Erlangu, system rozproszony oparty o Riak (riak_core).

Klient: Redgage LLC, USA

Moja rola: Erlang Developer

Termin: 2013-04 - 2014-02

Projekt migracji danych w skali dużego miasta

Wyzwanie: Zintegrowany system informatyczny do geodezyjnego i kartograficznego wsparcia Miasta Stołecznego Warszawy.
Migracja danych z 18 jednostek organizacyjnych – użytkowników 3 różnych platform technologicznych: Oracle Spatial, MS SQL Server, Microstation.

Szczegóły: Moje obowiązki obejmowały: projektowanie frameworku do automatyzacji testów akceptacyjnych, planowanie, ocenę ryzyka.

Klient: Urząd Miasta Stołecznego Warszawy, Polska

Moja rola: Consultant, Software Testing Lead

Termin: 2013-04 - do chwili obecnej

Mapy webowe

Wyzwanie: Stworzenie i utrzymanie internetowych map sieci stacji paliwowych.

Szczegóły: Programowanie w JavaScript, wdrożenie map z płynnym zoomem i możliwością przesuwania.

Klient: PKN Orlen S.A., Polska

Moja rola: Lead Developer

Termin: 2008 - 2010

Edytowalne mapy webowe

Wyzwanie: Implementacja map webowych z możliwością edycji, do zarządzania nieruchomościami i ich sprzedażą.

Szczegóły: Programowanie w JavaScript, tworzenie mapy w stylu przed-google'owym.

Klient: Colliers International Poland

Moja rola: Lead Developer

Termin: 2006 - 2007

Wystąpienia publiczne

conference video

Kilka słów o skalowaniu

Było mi niezmiernie miło podzielić się ze społecznością developerów moimi doświadczeniami z pracy nad projektem dla Onet.pl. Brałem udział w dwóch konferencjach: pierwsza organizowana była przez Onet.pl w ramach cyklu Barcamp, druga była częścią cyklu Erlang Factory Lite realizowanego przez Erlang Solutions.


wideo z Erlang Factory Lite

Współpraca

Mieszkam i pracuję w Polsce, w Warszawie. Jestem zainteresowany zarówno pracą na miejscu, jak i pracą zdalną. W razie jakichkolwiek pytań, zapraszam do kontaktu.

Kontakt

telephone

+48 602 112 091