avatar

Òscar Vilaplana

Software Engineer

About Me

Senior Software Engineer specialized in analysis and development of high performance web applications, and improving development through the use of agile methodologies and best practices.

Experience designing and building distributed e-commerce and payment processing systems.

Interested in designing, building and leading technologically attractive projects.

Experience

SpotMe
2014-2016
Lausanne, Switzerland,
Portland, Maine, US (Remote)
Senior Software Engineer
Responsible for SpotMe's server infrastructure and backend software, which serves tens of thousands of users per month in hundreds of high-profile business events.

Evolved the backend architecture to remove single points of failure, allow clustering, provide high availability and off-load heavy tasks to a Redis-based task queue, which eliminated the causes of most of the system's downtime and slowness.

Developed a database redundancy daemon to provide fault torelance on top of our custom, non-clustered CouchDB database servers.

Automated the build and deployment of SpotMe's software, using Ansible, Docker and Jenkins, which reduced the build and deployment time by 70% and allows for Countinuous Deployment.

Developed several NodeJS APIs to easily maintain, replicate and archive SpotMe's event databases.

Developed monitoring tools to track and respond to anomalies in SpotMe's database, backend software or infrastructure, using Python, Datadog and Logentries.
Designed a communication tool for conferences running on a limited infrastructure capable of serving tens of thousands of simultaneous users, and built the backend integrated into SpotMe’s systems.
Trained a new development team on SpotMe’s systems and operations architecture.
Paylogic
2009-2014
Groningen,
The Netherlands
Software Architect (2011-2014)
Senior Software Engineer (2009-2011)
Designed and lead the development of Paylogic's distributed, de-centralized, high available, fault tolerant virtual queue system, which has been used successfully for several years queuing hundreds of thousands of users simultaneously.

Designed and lead the development of the Paylogic Ticketing API, a discoverable, self-documenting REST API.

Assisted the development teams on writing technical designs and evaluating them.

Designed and worked on Paylogic's Django ticketing application.

Introduced Agile, Scrum and development best practices.
Helpdesk
2008-2009
Barcelona, Catalonia
Co-Founder and Software Engineer
Began a startup dedicated to offering a helpdesk ticketing system targeted at small and medium-size businesses.

Built a Django payment processing library to process payments on Wirecard and Paypal.

Built an e-mail indexing system using Django and Solr, and SimpleParse for data parsing.

Built a simple HTTPS broadcast server for a sales monitoring application using Twisted on Python.
LocalBilling, Ltd.
2007-2009
Barcelona, Catalonia
Senior Software Engineer
Built a PHP payment gateway integrated with several banks and payment providers and capable of handling thousands of simultaneous payments.

Built a subscription manager and fraud control software.

Built a credit card encryption daemon to store credit card numbers securely in accordance with the requirements of the PCI certification.
Desertic
2006-2007
Vilanova i la Geltrú, Catalonia
Software Engineer
Developed and maintained a J2EE web application for business management using Tomcat and Oracle.

Maintained a J2EE application for the detection and prevention of money laundry.
Netfocus
2002-2006
Barcelona, Catalonia
Software Engineer
Designed and developed a responsive web application for the management of the firm’s customer data using J2EE/JBoss.

Worked on building Linkat, a SuSE-based GNU/Linux distribution, by customizing and packaging open source applications, using RPM.

Worked in the design and development of application to import, manage, detect errors and do the reconciliation of EDI electronic invoices.

Built a Java library to interface with Lotus Notes over HTTP.

Managed a SeeBurger EDI station.

Built various ad-hoc Perl tools for data analysis and report generation.

Education

  • 2007

    Bachelor's Degree in Computer Science

    Open University of Catalonia

Talks

  • 2017

    GraphQL   (PyGrunn)

    GraphQL: benefits and caveats, and getting started with it in Python.

  • 2015

    RethinkDB   (Javascript Romandie)

    Introduction to RethinkDB.

  • Orchestrating Python with CoreOS   (PyGrunn)

    Using to CoreOS and Kubernetes to develop, deploy, scale and upgrade a simple Python/RethinkDB application.

  • 2014

    Validated Learning   (Paylogic)

    Lean principles and how to apply them to our daily work.

  • Scaling   (Paylogic)

    A look at how to scale an existing monolythic system, and how companies such as Disqus and Eventbrite have done it.

  • Software Architecture - How much design?   (Paylogic)

    What Agile has to say about how to decide when design is needed, and how much

  • 2013

    Continuous Deployment   (DjangoCon EU, Paylogic)

    Continuous Deployment: principles, motivation, and how to apply it in our real work.

  • Handling massive traffic with Python   (PyGrunn)

    The non-secret details on how we built Paylogic's virtual queue system.

  • User Stories   (Paylogic)

    How User Stories work in Agile.

  • 2012

    Celery   (Monthly PyGrunn, Paylogic)

    How to set up and use Celery with RabbitMQ.

  • Agile Estimation   (Paylogic)

    How to approach estimation in Agile projects.

  • Tornado in Depth   (EuroPython, Paylogic)

    A dive into how Tornado is designed and implemented.

  • 2011

    Scrum   (Paylogic)

    How Scrum works. Kickstarted the introduction of Scrum in Paylogic.

  • ZeroMQ   (PyGrunn, Paylogic)

    How ZeroMQ works.

Programming

Python
NodeJS, ES6
Go
PHP
Perl
Django
SQLAlchemy
ReactJS, React Native
AngularJS

Databases

MySQL
PostgreSQL
Redis
DynamoDB
Google Datastore
Firebase
ElasticSearch
RethinkDB
CouchDB

Infrastructure

Ansible
Docker
AWS
Kubernetes

Methodology

Lean
Agile
Scrum
PRINCE2

Languages

English
Dutch
Catalan
Spanish
Galician
Italian
French
Japanese

Hobbies

Writing short fiction
Music: Piano, EWI
Improv theater
Bike tourism