Skip to main content

Hi. I'm Ricardo Kirkner.

And this is my résumé.

Learn more about me

About me

Software Engineer, Machine Learning Enthusiast, Human.

Pragmatic, experienced developer who gets things done. Responsible, trustworthy and reliable professional. Skills in programming (Python, JS), data storage (SQL, NoSQL), web (layout, design, UI). Believer in the 'Unix Way' and the 'Open Source Movement'. Eager to contribute towards a better world based on a collaborative and community-driven spirit. Successful remote worker. Open to contracts, telecommute, full-time positions.

Experience

  • Online Services - Technical Leader.
  • Canonical Ltd.
  • 2014...
  • Lead effort to provide APIs to allow submitting applications to the Ubuntu App Store (https://myapps.developer.ubuntu.com).
  • Lead effort to provide automation around application submission to the Ubuntu App Store.
  • Lead effort to digitally sign applications submitted the the Ubuntu App Store.
  • Lead effort to automate deployments via Juju for the Ubuntu App Store.
  • Redesigned the application upload process to improve the user experience and reduce network round trips.
  • Online Services - Accounts & Payments Technical Leader.
  • Canonical Ltd.
  • 2013---2014
  • Lead developer and architect for Ubuntu Pay (https://pay.ubuntu.com).
  • Lead developer and architect for Ubuntu Single Sign On (https://login.ubuntu.com).
  • Release Manager for Ubuntu SSO and Ubuntu Pay.
  • Designed and helped implementing new APIs for Ubuntu SSO based on REST principles. APIs are fully compliant with RMM Level 2 and partially with RMM Level 3.
  • Designed and helped implementing UX improvements for simplifying sign in / sign up flows in Ubuntu SSO.
  • Designed and implemented feature to detect accounts vulnerable due to Adobe password database leak.
  • Account Services Team Manager.
  • Canonical Ltd.
  • 2011---2013
  • Lead developer and architect for Ubuntu Pay (https://pay.ubuntu.com).
  • Lead developer and architect for Ubuntu Single Sign On (https://login.ubuntu.com).
  • Release Manager for Ubuntu SSO and Ubuntu Pay.
  • Lead and helped implementing PayPal support into Ubuntu Pay.
  • Lead and helped implementing two-factor authentication support into Ubuntu SSO (based on HOTP).
  • Lead effort to automate development environments for increased consistency and reproducibility.
  • Software Engineer.
  • Canonical Ltd.
  • 2010---2011
  • Lead developer and architect for Ubuntu Pay (https://pay.ubuntu.com), a payment gateway for processing payments on behalf of several Ubuntu-related services.
  • Designed and implemented first publicly released version of Ubuntu Pay.
  • Developed configuration library (https://launchpad.net/configglue) for managing multi-environment configurations (used in production by Ubuntu Pay and Ubuntu SSO).
  • Lead effort to implement continuous delivery pipeline.
  • Lead effort to improve testing practices.
  • Technical Leader.
  • Globant.
  • 2009---2010
  • Worked as a contractor for Active Broadband Networks.
  • Lead team of people developing a system for collecting large volumes of data from cablemodem devices in order to gather usage statistics.
  • Implementation deployed in the Comcast network, handling around 17 million cablemodem devices.
  • Due to the sheer amount of data involved, several ad-hoc solutions had to be developed in order to manage this data while still complying to performance and hardware requirements and being able to provide a rich dataset for performing deeper analysis (ETL transformations for delayed consumption).
  • Senior Software Engineer.
  • Globant.
  • 2009
  • Worked as a contractor for Yahoo!.
  • Designed and developed the UI for an internal application for the Sponsored Search Management System.
  • Integrated the application and Yahoo!'s internal bug management system.
  • Senior Software Engineer.
  • Globant.
  • 2008---2009
  • Worked as a contractor for Google.
  • Designed and developed the UI for a VoIP application intended to serve as a high-performance and scalable PBX.
  • Application required to handle up to 10K simultaneous SIP connections with a foreseen demand for up to 100K.
  • System designed to be used worldwide across several locations in a distributed fashion.
  • Project Manager.
  • EasyTech.
  • 2007---2008
  • Designed and lead the development of a system for taking the Buenos Aires city's Driver's License exam.
  • System was used by roughly 1500 people each day.
  • Designed and lead the development of an application for creating and editing print-media products while offline.
  • Python Web Developer (Plone).
  • EuskoSare.
  • 2005---2006
  • Designed and developed a four-language multilingual web portal on top of the Plone CMS.
  • Designed novel interface to allow presenting content to the user in several languages simultaneously, according to each user's personal preferences.
  • Designed and implemented a news gathering system that would screen-scrape several news sites and then integrate the gathered content into the portal, so that it could be searched like any other user generated content.
  • System and Network Administrator.
  • Facultad de Ciencias Exactas y Naturales, Universidad de Buenos Aires.
  • 2001---2005
  • In charge of managing the whole network infrastructure for the university
  • Installed and administered web-, mail-, ldap- and file-servers, as well as routers, both hardware devices (Cisco routers) and custom built GNU/Linux boxes.
  • Dealt with monitoring and ensuring availability of services.
  • Set up an anti-spam mail filtering system that filtered 40000 spam emails daily.
  • Set up a single sign on infrastructure using OpenLDAP and Kerberos for simplifying granting access to the different servers to faculty members.

Education

  • Facultad de Ciencias Exactas y Naturales, Universidad de Buenos Aires. Buenos Aires, Argentina.
  • 1998---2006
  • Goethe Schule Buenos Aires. Buenos Aires, Argentina.
  • 1991---1997
  • Degree: Deutsches Abitur (awarded 12/1997)
  • Degree: Bachillerato Nacional Bilingüe en Ciencias y Humanidades con Orientación Científica (awarded 12/1996)

Languages

  • Spanish
  • Proficiency: native
  • Born and raised in Buenos Aires, Argentina
  • German
  • Proficiency: native
  • Degree: Deutsches Sprachdiplom Zweite Stufe (awarded 1996)
  • Degree awarded by Kultusministerkonferenz
  • English
  • Proficiency: advanced
  • Degree: Certificate of Proficiency in English (awarded 1995)
  • Degree awarded by The University of Michigan

Skills

  • Python
  • Django, Flask, OpenID, OAuth, Nose
  • Javascript
  • jQuery, YUI
  • Source control systems
  • Bazaar, Git, Subversion, Mercurial
  • Containers
  • LXC, Docker, Flocker
  • Web development
  • HTML, CSS, JavaScript, REST APIs
  • Databases
  • PostgreSQL, OpenLDAP
  • Operations
  • Juju, Ansible, Puppet, Graphite, StatsD, Debian packaging, Nagios, Apache, Bind, Sendmail/Postfix/Exim
  • Methodologies
  • Continuous delivery, Agile, TDD/BDD, Complexity analysis, Functional Programming, Object Oriented Design

Community / Events

  • Member: Python Argentina - PyAr (www.python.org.ar)
  • Member since 2005, shortly after it's inception.
  • Co-organized several PUG events, like PyCamps and PyCon Argentina 2009
  • Speaker: PyCon US 2012
  • configglue - lightning talk
  • Keywords: configuration, command line, environment variables, optparse, ConfigParser, glue
  • Speaker: PyCon Argentina 2011
  • Usando fabric para estandarizar el proceso de desarrollo
  • Keywords: automation, fabric, development, deployment
  • Speaker: PyCon Argentina 2009
  • Entrenando a tu reptil favorito: aprendizaje por refuerzo en Python
  • Keywords: reinforcement learning, python, machine learning, open source
  • Team Entry: PyWeek #8, 04/2009
  • Game: aiamsori
    • Team Entry: PyWeek #6, 03/2008
    • Game: Robo-T2

    Open Source

    • django-12factor-docker. Sample django project demonstrating the 12-factor architecture using docker.
    • collection-json.python. Simple python library to work with Collection+JSON documents.
    • configglue. Library that glues together python's OptionParser and ConfigParser.
    • django-configglue. Django app for using configglue to manage settings.
    • beehive. Behaviour library for games.
    • reply. A Reinforcement Learning Library in Python.
    • mrsim. M-TRAN Robot Simulator.

    Research

    • Research: "On the possibilities of using previous knowledge in the form of Behaviour Trees in order to speed up Q-learning". 2008
    • Master Thesis: "Reinforcement Learning on Self-reconfigurable Modular Robots", Departamento de Computación, FCEyN, UBA. 03/2007.
    • Survey: "State of the Art in the field of Self-reconfigurable Modular Robots". 2005

    Have me make stuff for you.

    Want do discuss a project with me? Have a question? Just send me a message!