Curriculum Vitae

29 Jul 2016, 7:29 p.m.

Work Experience

Jan 2016 (on-going)

Production Engineer at Facebook

Supporting Python developer efficiency and platform performance.
Technologies used: Python 3.5, Python 2.7, asyncio, Thrift, Mercurial, git.

 

Sep 2013 - Jan 2016

Production Engineer at Facebook

Supporting cache systems.
Technologies used: memcached, MySQL, Python 2.7, Thrift, Mercurial, git.

 

Apr 2011 - Aug 2013

Senior Systems Architecture Engineer at Allegro Group

Developing a common management layer over heterogenous infrastructure that improves managing large datacenters. The main software component known as Ralph has been open-sourced under Apache license. Interfaces with external systems like Puppet, Zabbix, PowerDNS, OpenStack and System Center Configuration Manager.
Technologies used: mostly Python 2.7 (including Django, Celery, SQLAlchemy), Puppet (storeconfigs with custom facts), Redis as a PubSub provider, source versioning through git.

 

May 2009 - Sep 2013

Owner and Lead Developer at LangaCore

Multiple customers including software for logistics vendor (PSI AG), a banking sector software vendor (STX Next Sp. z o.o.), government institutions (i.e. The State Forests National Forest Holding), academic institutions (Adam Mickiewicz University Foundation, Poznan University of Economics).
Technologies used: mostly Python 2.5+ (including Django, Pylons, Plone), ANSI C used for external library interaction and performance optimisation, Perl 5.6 in legacy components, continuous integration using Jenkins (formerly known as Hudson) and buildbot, source versioning through git, Mercurial and SVN.

 

Apr 2012 - Sep 2012

Mentor for Python Software Foundation at Google Summer of Code

Mentoring a student working to improve the Roundup Python bug tracker at bugs.python.org and its integration with Rietveld, a Google code review tool.
Technologies used: mostly Python 2.7 (including Django, Google App Engine, Roundup), source versioning through Mercurial.

 

Aug 2007 – May 2009

Architect/Lead J2EE Developer at EduMedia Ltd.

I was the original author of a full digital signage solution with content management, distributed data delivery, remote plasma display hardware controlling and monitoring. Currently powering deployments on universities, hospitals, airports, railway and bus stations. Over 11000 screens worldwide.
Technologies used: mostly Java 1.5 (Tomcat, Spring, Hibernate, JMS, Eclipse, JUnit, Ant, JMX), multimedia display in Python 2.5 (wxPython), extensive XML usage (dedicated object database with an XML interface), source versioning through git (and previously SVN).

 

Nov 2006 – Aug 2008

Architect/Developer for Polish Internal Security Platform

Details of the projects developed for the PISP are classified.
Technologies used: Python 1.6, embedded C for low-level GSM, GPS, radio and hardware encryption controllers.

 

Jan 2006 – Aug 2007

Senior Developer/Administrator at XTM International Ltd.

I was one of the developers of the back-end of the company’s flagship product: a suite of tools supporting professional translator workflows. It includes sophisticated translation memory management, document concordance, quality assurance, terminology and spellcheck automation.
Technologies used: Java 1.5 (Tomcat, Struts, JAAS, Ant, JUnit, Eclipse), various databases (Oracle, MySQL, PostgreSQL, X-Hive DB), extensive XML usage (DOM, StAX, performant in-house XML parser), source versioning through SVN (and previously CVS).

 

Apr 2005 – Jan 2006

Linux server admin & network programmer at GamesNET.pl Ltd.

I am the original author of a suite of applications enabling centralised services management. It enables automation of typical tasks and monitoring, remote configuration and control of the managed applications. Particularly well suited for multi-player game servers. Powering over 30 machines at the time.
ANSI C (POSIX IPC, BSD sockets, SSL), various databases (MySQL, SQLite, BSD DB), Linux kernel components.

 

Open Source

Python Core developer of the interpreter and standard library, current maintainer of configparser, author of PEP 443 and co-author of PEP 484.

 

Ralph Original author and core developer of the data center management system.

 

unittest2 Plug-in developer for the built-in testing framework for Python 2.3 – 3.3.

 

Invited Talks

2016 “Thinking In Coroutines”
PyCon Ukraine (Lviv, Ukraine)

 

“Thinking In Coroutines”
PyCon US Conference (Portland, Oregon)

 

2015 “Call Me Later”
PyWaw Summit (Warsaw, Poland)

 

2014 “Porting to Python 3 Workshop”
PyCon PL Conference (Szczyrk, Poland)

 

“Type Hinting in Python”
PyCon PL Conference (Szczyrk, Poland)

 

2013 “Let Them Configure!”
PyCon US Conference (Santa Clara, California)

 

“Composability Through Multiple Inheritance”
PyCon US Conference (Santa Clara, California)

 

2012 “Ralph - a data center asset management tool”
PLNOG9 Conference (Cracow, Poland)

 

“Let Them Configure!”
PyCon Ukraine Conference (Kyiv, Ukraine)

 

“Composability Through Multiple Inheritance”
PyCon PL Conference (Kielce, Poland)

 

2011 “How To Get Commit Privileges in 8 Weeks”
RuPy Conference (Poznan, Poland)

 

“Why Unicode Is Hard”
PyCon PL Conference (Kielce, Poland)

 

“Python at Allegro Group”
HackFest Coding Marathon (Poznan, Poland)

 

2010 “Testing HTTP Applications with Python 3”
EuroPython Conference (Birmingham, England)

 

2009 “Compiled Websites with Plone, Django and SSI”
RuPy Conference (Poznan, Poland)

 

2007 “Python Usage in Embedded Environments”
RuPy Conference (Poznan, Poland)

Publications

  • “Python 3 Crash Course” (6 parts), Software Developers’ Journal 5/2010 – 10/2010 (Polish Edition)
  • “Django: Things I Wish I Knew When I Started”, Software Developers’ Journal 5/2010 (Polish Edition)
  • “Python 3: A Mild Introduction”, Linux+ Magazine 5/2010 (Polish Edition)
  • “Multi-player Game Server Systems”, Linux+ Magazine 12/2005 (Polish Edition)

Awards and Recognition

  • Honourable Mention at IEEE CSIDC 2006 World Finals in Washington, DC for IntelliForest

    IntelliForest was a complex distributed network-centric system built on sensor networks used for forest monitoring, measurement acquisition, storage, analysis and presentation. A team of four Poznan University of Technology students developed the system. My responsibility was the development of the data storage and analysis back-end.
    Technologies used: extensive usage of .NET (C#, IronPython, Compact Framework), MS SQL Server 2005 with Analysis Services, Keil C.

Skills and Buzzwords

  • Programming languages: Python, C, Java
  • Operating systems: Linux (zsh, Bash, POSIX utils and APIs, virtualization with Proxmox, KVM and VMware), Mac OS X, Solaris (basic)
  • Database programming: XML, PostgreSQL, MySQL, Oracle (incl. PL/SQL)
  • Internet technologies: HTTP, HTML 5, XHTML, CSS 3, WSGI, JSP, servlets, JavaScript
  • Spoken languages: Polish (native), English (fluent), German (basic)
  • Driving licence: full clean Polish Class B (valid for personal cars)

Education

Mar 2007 - Oct 2009

MSc in Computing Science (discipline: Software Engineering)

Faculty of Computing and Management, Poznan University of Technology, Poland

 

Oct 2003 - Feb 2007

BScE (Hons) in Computing Science

Faculty of Computing and Management, Poznan University of Technology, Poland

 

Sep 1999 - Jun 2003

High School, math-computing profile

VII Liceum Ogólnokształcące im. Jarosława Dąbrowskiego, Zielona Góra, Poland

 

Sep 1994 - Jun 1999

First Degree Musical School, piano class

Szkoła Muzyczna I st. im. Stanisława Moniuszki, Zbąszyń, Poland

 

Personal info

  • Born: March 7th 1985 in Zielona Góra, Poland
  • Nationality: Polish
  • Status: Married, one child
  • Residence: Vancouver, British Columbia, Canada
  • Education: MSc in Computing Science
  • School: Poznan University of Technology, Faculty of Computing and Management
  • Occupation: Software Developer

Areas of Interest

  • Music: playing the piano, listening, sound engineering
  • Sports: cycling, dancing
  • Computers: distributed and network applications, computing systems security