Curriculum vitae

I’m currently looking for a job working as a programmer in any of the platforms and languages that I know or even others. I’m interested in opportunities in Zurich, where I live now, or in London, where I want to live.

Curriculum vitae of J. Pablo Fernández: developer, programmer, coder

Email/IM: pupeno@pupeno.com

Web/blog: http://pupeno.com

Phone number: +41-79-469-7698

Current location: Zürich, Switzerland

I have 10 years of experience programming professionally in a lot of languages
and platforms and I’ve been coding since I was 7 years old. I’ve given
conferences and wrote articles on magazines about various programming languages,
libraries and frameworks. I love coding.

Work Experience

Google Software Engineer in Test 2007-05 → Present

  • Load, failure and latency testing; continuous integration, etc. of a cool new Gmail feature that wasn’t released yet.
  • Developed a JavaScript mock of the Gmail server to speed up and stabilize UI tests (team of two).
  • Developed of end-to-end and integration tests for various internal applications which I can’t talk or write about. Among other things:
    • Predicted dangerous bug which three months latter stopped the development of 53 projects.
    • Increased the realism of a set of tests unveiling at least 3 potentially harmful bugs.
  • Created web application to keep track of quality metrics of other products (team of two).
  • Tech talks: “Python testing tools”, “Coding in Erlang”, “Introduction to Testing”, “Esperanto”.
  • Technologies used: JavaScript, Java, TestNG, JUnit, Python, PyUnit, Django, MySQL.

Reliable Services S.R.L. Software Developer 2005-08 → 2007-04

  • Developed Asterisk module to manage users and tasks. Working without a flew since day 1 due to heavy testing.
  • Developed gateway between an XML protocol and Asterisk’s Manager Interface.
  • Maintained around 10 complex Asterisk deployments with more than 300 phone terminals.
  • Stress and performance testing of Asterisk IVRs installations. SIPp.
  • Added real-time support for agents to Asterisk. Bug: 5143.
  • Packaged Asterisk and related tools and libraries for Debian GNU/Linux for our own servers, speeding up deployments.
  • Wrote extensive documentation of procedures, installation, maintenance, administration, etc.
  • Performed general system and network Administration.
  • Technologies used: C, Python, Objective-C, SAX, Twisted, Asterisk’s internals, GNUstep, GCC, multi-threading, IPv6, 4to6, DHCP, DNS, DDNS, Debian, FreeBSD, Linux, GNU, Asterisk, Bind, Bacula, ISC DHCP, radvd, iptables, ip6tables, OpenBSD’s PF, software RAID.

Freelancing Software Developer 2005-02 → 2005-08

  • Hosting Map, web application for searching hosting plans.
  • Random Text, web component to show random texts from a database.
  • Getter, web application to automatically download, parse and archival of files.
  • Sentences, random periodic delivery of sentences from database to a text file.
  • Redirector, web component for managing automatic redirection.
  • PicoURL, generate shorter URLs that redirect with accounting.
  • Sustainability/viability study of free instant messaging solutions.
  • Technologies used: PHP, MySQL, jabberd2, ejabberd.

ifPeople Software Developer 2004-09 → 2005-01

  • Design, set up and deployment of a Plone web site with more than 40 editors requiring custom products.
  • Developed Plone products for:
    • Displaying documents stored in other locations (like a symlink)
    • Speeding up the addition of keywords to documents.
    • Embedding external web sites in a Plone web site.
    • Handling quotes including a portlet for displaying.
  • Helped with deployment of other Plone sites.
  • Technologies used: Python, Zope 2, Plone

Andi GmbH Software Developer 2003-03 → 2003-11

  • Developed of a video editor for set top box using C++, GCC, Qt/KDE, transcode, mplayer and Xine.

Freelancing Software Developer 2002-03 → 2003-03

  • Developed web sites for a painter, a marble and granite shop and an elitist party organizer in PHP and MySQL. The first one still running today only with some additions.

TecSis Software Developer, System Administrator 1999-06 → 2002-03

  • Deployed various GNU/Linux and OpenBSD servers.
  • Developed GUI file usage monitoring application, called KSamStat, for Samba to be able to replace a Novell Netware server.
  • Developed a web app to administrate a library of CD-ROMs including a big medical collection with the goal of also handling magazines, books, web sites and other educational material.
  • Technologies used C++, GCC, Qt, KDE, PHP, MySQL.

ITPA S.A. Software Developer , System Administrator 1998-03 → 1999-06

  • Installed a GNU/Linux firewall using ipchains.
  • Developed web administration tool for it in C using CGI in Apache.

Independent Projects

  • Sano: health tracker developed over a weekend as an experiment on productivity in Ruby on Rails.
  • Is it Science Fiction?: web site to vote and comment on whether specific movies and books are or aren’t science fiction. First wrote in C# and ASP.NET MVC, then re-written in Ruby on Rails.
  • Hear a Blog: start-up like project developed in a team of two in C# and ASP.NET MVC.
  • Dice: dice simulator for Android developed in my free time leading a team of two, developed in Java of course.
  • Fanterlastic Four: Example of how to use Serlvers to write some extremely basic IP servers.
  • Serlvers: Erlang module to write IP (TCP/IP) servers.
  • SCons Erlang: Extension for SCons to be able to build Erlang projects.
  • Chicken-xlib: Bindings for the library Xlib (in C) for Chicken Scheme.
  • SCons-chicken: Extension for SCons to be able to build Chicken Scheme projects.
  • Mr-MySQL: Bindings for the MySQL client libraries (in C) for PLT Scheme programs.
  • SCons-gambit: Extension for SCons to be able to build Gambit Scheme projects.
  • File Activity Viewer: Monitors files and shows the new lines almost real-time (visual tail -f).
  • Score Reading Trainer: Improve reading speed of musical scores.
  • KTTSD: A DCOP plug in based Text To Speech service.
  • ASAPlate: A class for templating.
  • Technologies used: Erlang, Python, Scheme, C, C++, Qt, KDE, FAM, DCOP, Festival, PHP, MySQL.

Publications

  • “Programming in Python part 1” and “… part 2”, Linux Journal, issue 158 and 159, June and July 2007.
  • “An XML Approach to Templating with PHPTAL”, and “… continuation” php|architect, volume IV, issue 3 and issue 4 on March and April 2005.
  • “KIO: Input and Output with KDE”, Mundo Linux, issue 71, October 2004.
  • “DCOP: Interprocess Communication”, Mundo Linux, issue 70, September 2004.

Conferences

  • “Programming Languages and what they can teach us”, 2006-11-11, CaFeLUG’s CaFeConf 2006. Buenos Aires, Argentina. C, Smalltalk, Haskell.
  • “Lisp, a different Language”, 2005-11-20, 5º Jornadas Regionales de Software Libre. Rosario, Santa Fe, Argentina. Lisp, Scheme, DrScheme
  • “Lisp, a different Language”, 2005-10-13, CaFeLUG’s CaFeConf 2005. Buenos Aires, Argentina. Lisp, Scheme, DrScheme
  • “Multi-platform toolkits for graphical interfaces”, 2005-06-06, Usuaria’s Second National Congress of Free Software. Buenos Aires, Argentina. C++, Qt
  • “Architecture of KDE, building an integrated desktop”, 2004-07-15, II Linux Gathering of Litoral, Entre Rios National University. Concordia, Entre Rios, Argentina. C++, Qt, Designer, KDE, KDevelop
  • “Programming Qt/KDE, the 1, 2, 3 of GUI programming”, 2004-07-15, II Linux Gathering of Litoral, Entre Rios National University. Concordia, Entre Rios, Argentina. C++, Qt, Designer, KDE, KDevelop
  • “Develop faster using KDevelop”, 2004-05-28, Usuaria’s First National Congress of Free Software. Buenos Aires, Argentina. C++, Qt, KDE, KDevelop
  • “KDE”, 2004-05-22, CaFeLUG’s First Demo Day. Buenos Aires, Argentina. KDE
  • “Rapid Application Development with Qt/KDE and KDevelop”, 2004-03-20, CaFeLUG’s Charla Técnica Trimestral. Buenos Aires, Argentina. C++, Qt, Designer, KDE, KDevelop

Buzzwords

  • Programming concepts: Functional, object oriented, multiple dispatch, testing, meta-programming.
  • Programming Languages: C, C++, Java, JavaScript, Python, Lisp, Objective-C, Erlang, Haskell, Smalltalk, Ruby, C#, Clojure.
  • Libraries and frameworks: Qt, KDE, Gtk+, Gnome, Cairo, libFFI, PyGtk, Twisted, GNUstep, Django, Rails, Android.
  • XML: DTDs, XHTML with CSS, DOM, DocBook, TAL.
  • Databases: SQL, MySQL, SQLite, PostgreSQL, OpenLDAP.
  • Operating systems: Linux (Debian, (K)Ubuntu, Gentoo), OpenBSD, FreeBSD, Mac OS X.
  • Version control: Git, Mercurial, Darcs, Subversion, Perforce, CVS.
  • Administration: Apache, Asterisk, Bacula, BIND, Courier MTA, ejabberd, OpenSSH, radvd, Zope.
  • Networking: IPv4 (TCP/IP), IPv6, TCP, UDP, DNS, SMTP, POP3, RTP, SIP.

Education

  • 1982 → Eternity Self-learning of computer science by books, papers, magazines, videos, etc.
  • 2004 → 2007 Attended some university courses as a visitor.
  • 1996 → 2001 Electronics & Electromechanics, Technology Institute Philips Argentina.

Languages

  • Spanish: Native.
  • English: Read, written and conversational.
  • Esperanto: Basic.

Some achievements

  • 1995 Won mathematics olympics, which gave me a scholarship.
  • 1995 Got a first degree Taekwon-do black belt. This required my instructor to get a special exception because at 8 lessons a week I was advancing faster than was allowed. Note: after years of sitting in front of a computer, I became mostly harmless.