Ekspert w Erlangu, mistrz konsoli, entuzjasta systemów rozproszonych
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ść.
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.
Zmaksymalizuję dostępność Twojego serwisu, za pomocą bazy danych w klastrze. Gwarantuję bezawaryjność i wydajność.
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.
Odpowiednio zarządzając konfiguracją systemów i automatyzacją wdrożeń pomogę Ci okiełznać proces Continuous Delivery i skrócić cykl produkcyjny.
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
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
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
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
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
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
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
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
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
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
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.
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.