J. Pablo Fernandez
Total Page:16
File Type:pdf, Size:1020Kb
J. PABLO FERNÁNDEZ PROFILE I’m a polyglot programmer with experience in more than 17 programming languages and many platforms, frameworks including but not limited to Ruby, Ruby on Rails, Python, Django, Clojure, ClojureScript, React, Erlang, etc. I have more than 18 years of professional experience programming and I've been coding since I was 7 years old, creating and contributing to various open source projects. I have more than 5 years leading small teams, in the role of CTO/CEO of small startups. Updated version: https://pupeno.com/cv GitHub: https://github.com/pupeno GitHub Awards: http://github-awards.com/users/search?login=pupeno LinkedIn: https://www.linkedin.com/in/pupeno Stack Overflow: http://stackoverflow.com/users/6068/pablo RubyGems: https://rubygems.org/profiles/pupeno Clojars: https://clojars.org/users/pupeno EXPERIENCE FLEXPOINT TECH FOUNDER 2016-09 → PRESENT • Consulting for Credit Suisse building a Clojure and ClojureScript application for risk management in EMEA and US. QREDO CTO 2016-04 → 2016-08 • Presented the business to 150 people at the Techhub demo only after three days of joining. • Launched the product within two months of joining, hosted in AWS EC2 instances with RDS and S3. • Trimmed the company to the most valuable employees and contractors, reducing cost and extending runway. • Established processes and policies for handling tasks, documentation, leads, documents, etc. • Improved culture and morale across the board. • Developed the web front end for customers to sign up, pay and manage their account in Ruby on Rails. CAROUSEL APPS CO-FOUNDER, CTO, CEO, DIRECTOR 2011-11 → 2016-03 • Co-founded Carousel Apps as its CTO and took the CEO position later on. • Managed up to 4 people, including hiring and training: 2 developers and 2 support/marketing people. • Set up processes for smooth operations of every aspect of the company, from handling support to handling bank accounts. • Doubled revenue while acting as CEO serving hundreds of customers and hundreds of thousands of users. • Product market validation (Lean Startup style) for various new products including Screensaver Ninja. • Research of Single Page Application development for future projects; evaluating EmberJS, Clojure and ClojureScript developing: • Prerenderer: a library to pre-render single page applications on the server for performance and indexing. • Free-form: a super flexible library for generating forms in single page applications. • jar-copier: essential tool to properly integrate New Relic in Clojure applications. • conman: a database connection manager designed for Luminus and YeSQL. • to-jdbc-uri: library for simplifying database connection, specially on Heroku. • Screensaver Ninja: • Lay the foundation and design of the product, acting as product manager. • Started the codebase for both Mac OS X and Microsoft Windows, for the initial proof of concept prototypes. • Figured out how to have a separate cookie jar using Apple’s WebKit, something that Apple engineers deemed impossible. • Watu, our first product, a multi-tenant application for temporary staffing companies: • Developed it from scratch with Rails, Ruby on Rails, PostgreSQL, Solr. A total of 43k lines of code. • Took care of DevOps with scalable web servers on virtual machines with rapid provisioning with Puppet, a GlusterFS powered redundant distributed file system hosting 12.8 million files (mostly images) and a custom Solr/ElasticSearch setup for search. • Developed custom backup solutions as none supported our needs. • Served more than 100 customers with 1000s of managers for hundreds of thousands of staff members. HEAR A BLOG CO-FOUNDER, CEO 2010-04 → 2011-01 • Came up with the idea, co-founded it as a part-time side-project startup. • Wrote half the codebase; in C# with ASP.NET MVC. • Startup selected as finalist for Seedcamp Paris. • Reached millions of users by narrating: Mark Suster's Both Side of the Table, Peldi's Balsamiq's blog, Jason Cohen's A Smart Bear, Patrick McKenzie's MicroISV on a Shoestring and the biggest one, The Daily WTF. • All of this on a $2000 budget (total). Location London, United Kingdom email [email protected] web https://pupeno.com Page '1 SIMPLIFICATOR SOFTWARE DEVELOPER 2010-03 → 2011-09 " Developed complex application for data acquisition for environment metrics in Rails 3.! " Merged several Rails web applications into a single parametrizable one. Currently serving tutor24.ch, homeservice24.ch, etc.! " Started maintaining, improving and documenting the SimpleBillboard paying system (Rails 2.3).! " Migrated Berufsbildner’s internal tool from Rails 1.2 to Rails 2.3 and started maintaining it.! " Developed part of the subscription system for the next version of Evita.ch.! " Tracked and fixed many nasty memory leaks for http://compass.prohelvetia.ch, a project I never worked on before.! " Hackdays: Rails app to organize fussball matches, contributions to the Clojure app Clojars.! " Internal tech talk: Why I love Smalltalk and Lisp! G O O G L E SOFTWARE ENGINEER IN TEST 2007-05 → 2010-01 " Gmail testing:! " JavaScript mock of the Gmail server to test the UI independently.! " Machine learning evaluation tool for Gmail Priority Inbox.! " Re-wrote the development-mode Gmail starting program, from a 2000-long Bash script into a properly modular Python application. Gmail is a collection of tens of servers of which some are essential and some are optional and di$erent developers run di$erent sets! " Continuous integration setup.! " Developed of end-to-end and integration tests for various internal secret applications. 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 data-loss bugs.! " Created web application to keep track of quality metrics of other products.! " Set up various continuous integration monitoring dashboards.! " Tech talks: “Python testing tools”, “Coding in Erlang”, “Introduction to Testing”, “Esperanto”.! RELIABLE SERVICES SOFTWARE DEVELOPER 2005-08 → 2007-04 " Developed Asterisk module to manage users and tasks. Working without a flaw 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 in Asterisk (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. ! 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.! 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.! ANDI SOFTWARE DEVELOPER 2003-03 → 2003-11 " Developed of a video editor for set top box using C++, 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 run for more than 10 years without an issue.! TECSIS INTERN SOFTWARE DEVELOPER & SYSADMIN 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.! ITPA S.A. INTERN SOFTWARE DEVELOPER & SYSADMIN 1998-03 → 1999-06 " Installed a Linux firewall using ipchains.! " Developed web administration tool for it in C using CGI in Apache (yes, a web app in C, crazy days!).! Loc London, United Kingdom email [email protected] web https://pupeno.com Page '2 PROJECTS, OPEN SOURCE LIBRARIES AND CONTRIBUTIONS " Free Form: a library to generate forms for ClojureScript.! " Prerenderer: a library to pre-render ClojureScript Single Page Applications on the server.! " assert_di$erence: a gem that improves Rails’ assert_di$erence method in various ways. 44854 downloads.! " validation_auditor: a gem to track when validations are not passed in a Rails project. 5668 downloads.! " random_unique_id: a gem for generating small random ids for records in Rails. 5662 downloads.! " action_texter: a gem to send SMS messages with pluggable backends, with Twilio and Nexmo implementations. 8482 downloads.! " ubiquitous_user: a gem to generate users on the fly in a Rails project without requiring log in. 16196