Software Developer2016 - PRESENTChic by Choice S.A.
Technologies: Vue.js, Ruby on Rails (RoR), Ruby
- Developed and maintained a Ruby-on-Rails application for renting out dresses; some pages use Vue.js.
- Worked on several integrations (e.g. DPD, DHL, Typeform).
Software Developer2013 - 2016The Hyve BV
Technologies: Docker, PostgreSQL, Oracle, Spring Batch, Grails, Groovy, Puppet
- Led the incremental redesign of an open source Grails application (tranSMART) with new/redesigned modules actually being modular and tested (with coverage of >85%). Participated in several contracted improvement projects.
- Built most of the tooling required to make the distributed development of the application practical.
- Led the development of new application using Spring Batch to load data into the application's database.
- Developed the vast majority of the company infrastructure; starting when it was practically nonexistent and the company had 3 full-time employees to around 60 very diverse servers, many of which were frequently repurposed, as the number of short-lived projects in the company was high.
- Configured the EC2 infrastructure through the Ruby AWS SDK.
- Created Bash scripts for the OS installation from a rented server's recovery OS (Hetzner) or /configuration of puppet for an EC2 instance.
- Managed the Puppet master.
- Developed dozens of Puppet modules.
- Set up Sensu for monitoring and metric collection (metrics sent to and visualized with Grafana) and an ELK (Elasticsearch, Logstash and Kibana) stack for centralized logging.
- Developed a Lita-based bot for ChatOps.
- Packaged many applications for Ubuntu and CentOS.
- Set up an Atlassian applications (JIRA, Confluence, Bamboo, Crowd) and configured a single sign-on through self-developed Puppet modules.
- Set up the Nexus OSS through a Puppet module; also integrated it with Crowd.
Software Developer2012 - 2013IceMobile Agency BV
Technologies: JMS, JAX-WS, Spring
- Developed Spring-based Java applications; implemented the interfacing with the databases (MySQL and Oracle) and JAX-WS web services to ultimately build JSON responses consumed by the mobile applications.
- Refactored the main in-house middleware application to modular, loosely coupled modules.
- Implemented a migration to Maven (with aggregation, POM inheritance and dependency management through a BOM).
- Made changes to a Spring-based infrastructure using Child application contexts and easily overridable default configuration, and many other more domain specific refactorings. Ultimately, this allowed a lot of reuse in the development of a subsequent application.
- Set up and wrote unit and integration tests with JUnit, Mockito, Hamcrest, and Arquillian—running as part of the Maven lifecycle.
- Set up Phabricator for code-auditing within the team.
Software Developer2012 - 2012SafeLinQ Development BV
Technologies: C, PHP
- Developed a PHP application for managing the patrols for security firms.
- Created an event loop daemon in C for handling event timeouts and other events.
- Maintained the back-end of a C application that handled the communication with devices.
- Maintained legacy PHP applications for XML and web interfaces that configured the devices. It helped with viewing and handling notifications sent from the devices, and the management of several categories of users from the device provider administrator to the device user.
Software Developer2011 - 2011Gatewit
Technologies: PHP, Java, CAS, Symfony 1, CDI, JAX-RS, Alfresco
- Created RESTful service for cryptography services (XML-DSig, XAdES, timestamping, and OCSP with BouncyCastle).
- Set up Alfresco and the development of non-trivial extensions for internal use.
- Set up JASIG CAS—developing an extension for authentication with the JESPA library (single sign-on with ActiveDirectory integration); CASificiation of the PHP applications and of Alfresco (including authentication of back-end applications with proxy tickets).
- Developed a procurement application which managed the catalogs, purchase requests (and their approval), supplier contracts and orders; also handled the integration with accounting solution. Used PHP and Symfony.
Software Developer2009 - 2009Media Capital Multimedia, S.A.
Technologies: Oracle, PHP, SOAP, Spring Integration, Spring MVC, Java, Solr
- Built Java services which provided data to the websites.
- Developed search service for news articles and multimedia (Java services backed by Solr).
- Rewrote the mashup application used in the generation of the websites (collection of data from several services and application of transformations).
- Built a Hudson plugin to improve the development process.
- Maintained legacy PHP applications.
Researcher2008 - 2008Instituto de Sistemas e Robótica, Instituto Superior Técnico
Technologies: MATLAB, C
- Built a MATLAB C extension which exposed the internal structure of the base-calling software to the MATLAB user space.
- Investigated the base-calling techniques in the context of DNA sequencing.