Umiejętności
Boost
Telewizja Cyfrowa
DVB
Embedded Linux
Git
Java
Linux
OpenCV
OpenSSL
Analiza wydajności
Profiling Tools
Python
Qt
RESTful architecture
STL
Technical Project Leadership
Valgrind
WebKit
X.509
C++11
LXC - Linux Containers
C (język programowania)
DBus
Systemy wbudowane
Bash scripting
Raspberry Pi
Usprawnianie wydajności
xmlsec
Libvirt
docker
Jenkins CI
C++14
XML Digital Signature
Kryptografia
Kubernetes
Języki
angielski
biegły
hiszpański
podstawowy
niemiecki
podstawowy
Doświadczenie zawodowe
Technical Lead
- Przygotowanie architektury software'u oraz bezpieczeństwa aplikacji uruchamianych w przeglądarce opartej na QtWebKit
- Optymalizacja szybkości uruchamiania przeglądarki
- Opieka techniczna nad kilkuosobowym zespołem programistów
- Pomysł, implementacja i wdrożenie narzędzi które radykalnie skracają czas tracony przez developerów w oczekiwaniu na buildy.
- Usprawnienia procesowe.
- Optymalizacja szybkości uruchamiania przeglądarki
- Opieka techniczna nad kilkuosobowym zespołem programistów
- Pomysł, implementacja i wdrożenie narzędzi które radykalnie skracają czas tracony przez developerów w oczekiwaniu na buildy.
- Usprawnienia procesowe.
Application Framework Engineer
British Sky Broadcasting
Rozwoj następcy platformy telewizji cyfrowej Sky obecnie używanej przez ponad 10 milionow abonentów w Wielkiej Brytanii.
Moje zadania oraz osiągniecia:
- rozwój komponentow na set top boxie ("dekoderze TV") pozwalajacych na instalację, weryfikację i izolację aplikacji napisanych przez developerów zewnętrznych
- implementacja komponentu podpisujacego cyfrowo aplikacje i drugiego ktory je weryfikuje
- implementacja protokołu DIAL (używanego m.in. przez Google chromecast) do uruchamiania aplikacji
- implementacja interfejsu REST dla komponentów instalujących oraz zarządzających aplikacjami
- przygotowanie propozycji architektury i projektów rozwiazań konkretnych zadan, konsultacje z innymi inzynierami, a potem implementacja i unit i smoke testy
- wdrożenie w zespole C++11
- wdrozenie frameworka do testowania: gtest oraz gmock, stworzenie w zespole kultury pisania testow jednostkowych do każdej wiekszej zmiany oraz błędu w kodzie znalezionego poza zespołem
- pomaganie innym czlonkom zespolu w tworzeniu intuicyjnych API
- opieka nad jakością oprogramowania produkowana przez zespół
- edukacja i wsparcie zespołu w temacie narzedzi wspomagających debugowanie
- przygotowanie wersji gdb oraz valgrind ktore działa na naszej platformie
Moje zadania oraz osiągniecia:
- rozwój komponentow na set top boxie ("dekoderze TV") pozwalajacych na instalację, weryfikację i izolację aplikacji napisanych przez developerów zewnętrznych
- implementacja komponentu podpisujacego cyfrowo aplikacje i drugiego ktory je weryfikuje
- implementacja protokołu DIAL (używanego m.in. przez Google chromecast) do uruchamiania aplikacji
- implementacja interfejsu REST dla komponentów instalujących oraz zarządzających aplikacjami
- przygotowanie propozycji architektury i projektów rozwiazań konkretnych zadan, konsultacje z innymi inzynierami, a potem implementacja i unit i smoke testy
- wdrożenie w zespole C++11
- wdrozenie frameworka do testowania: gtest oraz gmock, stworzenie w zespole kultury pisania testow jednostkowych do każdej wiekszej zmiany oraz błędu w kodzie znalezionego poza zespołem
- pomaganie innym czlonkom zespolu w tworzeniu intuicyjnych API
- opieka nad jakością oprogramowania produkowana przez zespół
- edukacja i wsparcie zespołu w temacie narzedzi wspomagających debugowanie
- przygotowanie wersji gdb oraz valgrind ktore działa na naszej platformie
C++ Software Engineer
Youview/BBC (British Broadcasting Corporation)
Rozwój hybrydowej platformy telewizji cyfrowej - DVB-S/DVB-C + IP.
Docelowo z użyciem naszej platformy, producenci set top boxów będą mogli stworzyć urządzenia które poza odbiorem sygnału z nadajników naziemnych lub satelitarnych będą też mogły pobierać nagrania przez internet.
Przykładowo - jeżeli zacząłeś oglądać jakiś serial od trzeciego odcinka, a poprzednie nie będą nadane ponownie, zamiast szukać po youtube możesz poprosić boxa żeby ściągnął dwa pozostałe bezpośrednio z serwera Twojej stacji telewizyjnej.
Więcej na stronie Youview - http://youview.com/.
Technologie/narzędzia z których korzystam - C++, STL, boost, STL, Linux, CPPUnit, Action Script (Flash Lite/Stagecraft), SQLite, DBus i trochę Javy.
Moje zadania to przede wszystkim odpowiedzialność za EPG, czyli część software'u na boxie która wyświetla informację o tym co będzie nadawane w telewizji za jakis czas.
W czasie mojej pracy dla youview kompletnie przeprojektowałem i przepisałem software odpowiedzialny za dostarczanie danych do wyświetlania w EPG. Dzięki mojej analizie problemów z istniejącym API w C++ oraz AS3, zaprojektowaniu i zaimplementowaniu nowego lepszego API oraz współpracy z klientem, tj. zespołem który pisze interfejs użytkownika we flashu, powstało API, które jest łatwe w użyciu.
Klienci uwielbiają nasze nowe API, które przy tym jest w najgorszym(!) przypadku kilkadziesiąt razy szybsze od tego które mieliśmy wcześniej.
Jakiś czas temu mieliśmy wizytację jakichś konsultantów od Flasha na systemach embedded i goście nie mogli wyjść z podziwu że EPG może tak szybko działać we Flashu.
W trakcie mojej pracy w YV wielokrotnie przechodziłem przez cykl problem-projekt-implementacja-testy jednostkowe-testy integracyjne przez zewnętrzny zespół i testy akceptacyjne klienta.
Wkrótce będziemy wchodzić na rynek z naszym boxem więc będzie to druga okazja dla mnie na to żeby mój software został wdrożony na masowa skalę. Do tej pory software który napisałem u poprzedniego pracodawcy, tj. w NDS, jest używany na ok 10 milionach set top boxów British Sky Broadcasting oraz Sky Deutschland.
Docelowo z użyciem naszej platformy, producenci set top boxów będą mogli stworzyć urządzenia które poza odbiorem sygnału z nadajników naziemnych lub satelitarnych będą też mogły pobierać nagrania przez internet.
Przykładowo - jeżeli zacząłeś oglądać jakiś serial od trzeciego odcinka, a poprzednie nie będą nadane ponownie, zamiast szukać po youtube możesz poprosić boxa żeby ściągnął dwa pozostałe bezpośrednio z serwera Twojej stacji telewizyjnej.
Więcej na stronie Youview - http://youview.com/.
Technologie/narzędzia z których korzystam - C++, STL, boost, STL, Linux, CPPUnit, Action Script (Flash Lite/Stagecraft), SQLite, DBus i trochę Javy.
Moje zadania to przede wszystkim odpowiedzialność za EPG, czyli część software'u na boxie która wyświetla informację o tym co będzie nadawane w telewizji za jakis czas.
W czasie mojej pracy dla youview kompletnie przeprojektowałem i przepisałem software odpowiedzialny za dostarczanie danych do wyświetlania w EPG. Dzięki mojej analizie problemów z istniejącym API w C++ oraz AS3, zaprojektowaniu i zaimplementowaniu nowego lepszego API oraz współpracy z klientem, tj. zespołem który pisze interfejs użytkownika we flashu, powstało API, które jest łatwe w użyciu.
Klienci uwielbiają nasze nowe API, które przy tym jest w najgorszym(!) przypadku kilkadziesiąt razy szybsze od tego które mieliśmy wcześniej.
Jakiś czas temu mieliśmy wizytację jakichś konsultantów od Flasha na systemach embedded i goście nie mogli wyjść z podziwu że EPG może tak szybko działać we Flashu.
W trakcie mojej pracy w YV wielokrotnie przechodziłem przez cykl problem-projekt-implementacja-testy jednostkowe-testy integracyjne przez zewnętrzny zespół i testy akceptacyjne klienta.
Wkrótce będziemy wchodzić na rynek z naszym boxem więc będzie to druga okazja dla mnie na to żeby mój software został wdrożony na masowa skalę. Do tej pory software który napisałem u poprzedniego pracodawcy, tj. w NDS, jest używany na ok 10 milionach set top boxów British Sky Broadcasting oraz Sky Deutschland.
Senior Software Engineer
NDS UK - Staines
Tworzenie oprogramowania na set top boxy - urządzenia dekodujące sygnał satelitarny na potrzeby telewizji cyfrowej HD.
Podczas mojej pracy w NDS zaimplementowałem większą część Sky Plannera dla programów nadawanych "z anteny" jak i dla PDLa, tj. ściąganych na boxa z internetu.
Poza tym napisałem software który automatycznie skanuje pasmo częstotliwości radiowych w poszukiwaniu dostępnych kanałów telewizyjnych i radiowych w systemie DVB-S.
Podczas mojej pracy w NDS zaimplementowałem większą część Sky Plannera dla programów nadawanych "z anteny" jak i dla PDLa, tj. ściąganych na boxa z internetu.
Poza tym napisałem software który automatycznie skanuje pasmo częstotliwości radiowych w poszukiwaniu dostępnych kanałów telewizyjnych i radiowych w systemie DVB-S.
Edukacja
Specjalizacje
IT - Rozwój oprogramowania
Architektura
IT - Rozwój oprogramowania
Programista C++
Grupy
Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie
Akademia Górniczo-Hutnicza to jedna z najlepszych i najbardziej renomowanych polskich uczelni, od lat zajmująca czołowe miejsca w rankingach szkół wyższych. Przoduje w dziedzinie nowocze
Fotografia cyfrowa
Grupa o fascynującym świecie fotografii cyfrowej, makrofotografii i komputerowej obróbce obrazów.
Systemy embedded
Grupa ludzi interesujących się zagadnieniami programowania systemów embedded (także zwanych systemami wbudowanymi).
Zarządzanie Projektami
Celem grupy jest upowszechnienie idei zarządzania poprzez projekty oraz wzajemna wymiana doświadczeń.