Łukasz Langa Curriculum Vitae 8 listopada 2012 15:19:08 Email: [email protected] Tel. kom.: +48 791 080 144 Skype: lukaszlanga Doświadczenie zawodowe Kwi 2011 (aktualne) Senior Systems Architecture Engineer w Grupie Allegro Rozwój jednolitej warstwy zarządzającej heterogeniczną infrastrukturą, która wspomaga pracę w dużych serwerowniach. Oprogramowanie Ralph zostało wydane i jest utrzymywane jako projekt open-source na licencji Apache. Integruje się z zewnętrznymi systemami jak Puppet, Zabbix, PowerDNS, OpenStack oraz System Center Configuration Manager. Wykorzystane technologie: głównie Python 2.7 (w tym Django, Celery, SQLAlchemy), Puppet (storeconfigs z własnymi faktami), Redis jako dostawca PubSub, wersjonowanie kodu przez git. Maj 2009 (aktualne) Właściciel i główny programista w LangaCore Wielu klientów, w tym oprogramowanie dla logistyki (PSI AG), bankowości (STX Next Sp. z o.o.), instytucji państwowych (Lasy Państwowe) czy instytucji akademickich (Uniwersytet Adama Mickiewicza w Poznaniu, Uniwersytet Ekonomiczny w Poznaniu). Wykorzystane technologie: głównie Python 2.5+ (w tym Django, Pylons, Plone), ANSI C do interakcji z bibliotekami zewnętrznymi i optymalizacji wydajności, Perl 5.6 w wycofywanych komponentach, ciągła integracja przy użyciu Jenkinsa (dawny Hudson) i buildbota, wersjonowanie kodu przez gita, Mercuriala i SVN. Kwi 2012 - Wrz 2012 Mentor dla Python Software Foundation podczas Google Summer of Code Mentor dla studenta pracującego nad integracją oficjalnego systemu śledzenia zgłoszeń projektu Python z narzędziem Rietveld umożliwiającym przegląd kodu źródłowego. Bugtracker jest dostępny pod adresem bugs.python.org. Wykorzystane technologie: głównie Python 2.7 (w tym Django, Google App Engine, Roundup), wersjonowanie kodu przez Mercuriala. Sie 2007 – Maj 2009 Architekt/Główny Programista J2EE w EduMedia s.c. Twórca autorskiego rozwiązania digital signage (głównie Java, części w .NET 3.0 i Pythonie), obsługującego ponad 11000 wyświetlaczy na świecie, głównie na uczelniach wyższych w Polsce, a także w szpitalach, lotniskach, dworcach kolejowych i autobusowych. Wykorzystane technologie: głównie Java 1.5 (Tomcat, Spring, Hibernate, JMS, Eclipse, JUnit, Ant, JMX), oprogramowanie wyświetlaczy w Pythonie 2.5 (wxPython), szerokie użycie XMLa (dedykowana obiektowa baza danych z interfejsem XML), wersjonowanie kodu przez git (a wcześniej SVN). Lis 2006 – Sie 2008 Architekt/Programista projektów w ramach Polskiej Platformy Bezpieczeństwa Wewnętrznego Szczegóły projektów rozwijanych w ramach PPBW są niejawne. Wykorzystane technologie: Python 1.6, niskopoziomowe C do interakcji z urządzeniami GSM, GPS, radiowymi oraz sprzętowymi kontrolerami szyfrowania. Sty 2006 – Sie 2007 Senior Developer/Administrator w XML-INTL Ltd. Członek zespołu programistów silnika flagowego systemu firmy, wspomagającego pracę tłumaczy i zarządzałem bezpieczeństwem serwerów (3 serwery, w tym DocZone.com). Wykorzystane technologie: Java 1.5 (Tomcat, Struts, JAAS, Ant, JUnit, Eclipse), różne bazy danych (Oracle, MySQL, PostgreSQL, X-Hive DB), szerokie użycie XMLa (DOM, StAX, a także wydajny wewnątrzfirmowy parser XML), wersjonowanie kodu przez SVN (a wcześniej CVS). Kwi 2005 – Sty 2006 Administrator i Programista w GamesNET.pl Sp. z o.o. Sieciowy Twórca systemu umożliwiającego scentralizowane zarządzanie usługami rozproszonymi po wielu serwerach. Umożliwiał automatyzację typowych zadań oraz monitoring, zdalną konfigurację i zarządzanie aplikacjami. Głównie rozwijany z myślą o serwerach gier multi-player. W tamtym czasie zasilający ponad 30 serwerów. ANSI C (POSIX IPC, gniazda BSD, SSL), różne bazy danych (MySQL, SQLite, BSD DB), komponenty jądra Linuksa. Open Source Python Programista w projekcie, rozwijający interpreter i bibliotekę standardową, aktualny opiekun biblioteki configparser. Ralph Autor i programista w projekcie, rozwijający narzędzie do zarządzania infrastrukturą serwerowni. unittest2 Programista plug-inów dla oficjalnej biblioteki do testów jednostkowych dla Pythona 2.3 – 3.3. PsyBNC Twórca łatki dodającej wsparcie dla Unicode w oprogramowaniu tunelującym IRC. Prelekcje 2012 “Ralph - narzędzie do zarządzania infrastrukturą data center” Konferencja PLNOG9 (Kraków, Polska) “Let Them Configure!” Konferencja PyCon Ukraine (Kijów, Ukraina) “Kompozycja poprzez wielokrotne dziedziczenie” Konferencja PyCon PL (Kielce, Polska) 2011 “How To Get Commit Privileges in 8 Weeks” Konferencja RuPy (Poznań, Polska) “Dlaczego Unikod jest trudny” Konferencja PyCon PL (Kielce, Polska) “Python w Grupie Allegro” HackFest Coding Marathon (Poznań, Polska) 2010 “Testing HTTP Applications with Python 3” Konferencja EuroPython (Birmingham, Anglia) 2009 “Compiled Websites with Plone, Django and SSI” Konferencja RuPy (Poznań, Polska) 2007 “Python Usage in Embedded Environments” Konferencja RuPy (Poznań, Polska) Publikacje “Kurs Pythona” (6 części), Software Developers’ Journal 5/2010 – 10/2010 (edycja polska) “Django: Doświadczenia z pracy z frameworkiem”, Software Developers’ Journal 5/2010 (edycja polska) “Python 3: Wprowadzenie”, Linux+ Magazine 5/2010 (edycja polska) “Serwery gier multi-player”, Linux+ Magazine 12/2005 (edycja polska) Nagrody i wyróżnienia Wyróżnienie na światowych finałach IEEE CSIDC 2006 w Waszyngtonie DC za projekt IntelliForest IntelliForest był złożonym, rozproszonym, sieciocentrycznym systemem opartym o sieci sensorowe. Jego podstawowym celem było monitorowanie lasu, automatyczne przekazywanie pomiarów do trwałego magazynu, złożoną analizę zebranych danych oraz ich prezentację. Ten projekt był rozwijany przez czteroosobową grupę studentów z Politechniki Poznańskiej. Byłem odpowiedzialny za magazynowanie i analizę danych. Wykorzystane technologie: szerokie wykorzystanie .NET (C#, IronPython, Compact Framework), MS SQL Server 2005 with Analysis Services, Keil C. Umiejętności i fajne skróty Języki programowania: Python, C, Java Systemy operacyjne: Linux (zsh, Bash, narzędzia i API POSIX, wirtualizacja z Proxmox, KVM i VMware), Mac OS X, Solaris (podstawy) Bazy danych: XML, PostgreSQL, MySQL, Oracle (w tym PL/SQL) Technologie internetowe: HTTP, HTML 5, XHTML, CSS 3, WSGI, JSP, serwlety, JavaScript Języki: polski (język ojczysty), angielski (płynny), niemiecki (podstawowy) Prawo jazdy: prawo jazdy klasy B Wykształcenie Mar 2007 - Paź 2009 mgr inż. informatyki Engineering) (specjalność: Software Wydział Informatyki i Zarządzania, Politechnika Poznańska, Polska Paź 2003 - Lut 2007 inżynier informatyki (z wyróżnieniem) Wydział Informatyki i Zarządzania, Politechnika Poznańska, Polska Wrz 1999 - Cze 2003 liceum, profil matematyczno-informatyczny VII Liceum Ogólnokształcące im. Jarosława Dąbrowskiego, Zielona Góra, Polska Wrz 1994 - Cze 1999 szkoła muzyczna I st., klasa fortepianu Szkoła Muzyczna I st. im. Stanisława Moniuszki, Zbąszyń, Polska Informacje osobiste Urodzony: 7 marca 1985 roku, Zielona Góra, Polska Narodowość: polska Stan cywilny: żonaty, jedno dziecko Zamieszkanie: Poznań, Polska Wykonywany zawód: programista Zainteresowania Muzyka: gra na fortepianie, słuchanie, reżyseria dźwięku Sport: jazda na rowerze, taniec Informatyka: aplikacje rozproszone i sieciowe, bezpieczeństwo systemów informatycznych