An experienced engineer with strong programming skills and a hungry brain. I’ve been a generalist most of my career, but my current area of interest is distributed systems, database internals, concurrency, performance, functional programming and visualization. I care about what I do and want to do it right. I want to work with similar minded people. But life is not just work! Teammates who enjoy a beer and a little fun after a hard day at work make it all better.
Erlang, C/C++, Java, Databases, Distributed systems, Big Data technologies.
Game programming with Unity3D; 3D modeling and animation with Blender3D; classical guitar, piano and ukulele; chess, Math, French and Portuguese.
Nov 2012 - Present: Senior Software Engineer Lead @ Basho Technologies
I help improve Riak, a highly scalable NoSQL distributed database. The work requires knowledge of distributed systems theory, database internals, networking, low level concurrency and performance optimizations. We use a combination of Erlang and C/C++. I have worked in the testing infrastructure, core key/value engine, secondary indexing, multi-datacenter replication, Bitcask and LevelDB storage engines. I regularly help troubleshoot and performance tune customer clusters. I have been the team lead for the multi data-center replication team, and currently the storage backends team. Work is all remote in my pajamas.
Aug 2012 - Nov 2012: Senior Software Engineer @ HubSpot
Java Jersey web services, Django and Backbone.js web apps, analytics with Hadoop, Hive and HBase.
April 2012 - Aug 2012 : Game Developer @ Home
Worked on a video game for children inspired by my daughter’s favorite game and character designs using Unity3D and Blender. Made a mobile optimized 4-inline two player game using jQuery Mobile, WebSockets, and Erlang. Worked on a video game for the Dept. of Transportation in Puerto Rico.
September 2011 – March 2012 : Senior Software Engineer at Crimson Hexagon
Worked on their massive search and analytics product. Crimson Hexagon stores more than 100 billion social media posts from a variety of sources. The work involved improvements to the web application and the data collection and indexing infrastructure. A bit of DevOps action when things went wrong in the middle of the night, performance tuning heavily used Postgres databases to handle Twitter data and more. Java, Hibernate, Spring MVC, Lucene.
Nov 2009 - Sept 2011: Software Mercenary @ Pellion Technologies
I was the software monkey for a group of MIT materials scientists in search of the next generation of batteries. Streamlined and automated data processing in their HPC cluster. Implemented and optimized material properties computation algorithms to run incrementally, concurrently and efficiently. Improved performance of the Postgresql database by up to 2 orders of magnitude. Built automated daily reports to monitor progress of simulations. Optimized their Java Swing analysis and visualization app, and added material design and job submission features. Spend long hours studying Chemistry, Math and Physics to survive in a world of PhDs. And I did it all in my pajamas, working from home.
When the simulation project ended successfully, the group started a lab to follow up with experimental work. I built custom laboratory software system comprising an electronic notebook system, task and project management, tools to streamline the collection, analysis and visualization of experimental synthesis and electrochemical data. Everything was fully integrated with the material simulation results coming from our cluster. Work was done in Java, Postgres, ASP.NET, SQL Server, jQuery and C#.
2009 July – October : Senior Implementation Consultant at ChoiceStream (contract)
Helped out my old employer with some challenging data processing projects for big customers, tuning a 40h data crunching process to run in under 5h. This was a short term, part-time, remote position..
2009 March - July : Game Developer @ Home
Worked on a Ogre3D C++ based game:
Contributed to the indie game
Feb 2001 – March 2009 : Principal Software Engineer at ChoiceStream, Cambridge MA
As one of the first developers to join the company, I worked on many projects and demos involving complex and ever-changing customized recommendation algorithms for big name customers on extremely tight schedules. Our architecture included a core C++ multi-threaded recommendation engine back end, Java web applications and offline user data processing. I left my mark in every area of the system. Close collaboration with scientists and content experts was always required to deliver our solutions. I did a lot of early Java UI apps for demos. Worked on high traffic java web applications running in some of the web's busiest portals. Developed complex, concurrent algorithms in C++ for our recommendations engine. Built a Java MVC web framework. Designed and implemented the Pipeline infrastructure for the C++ service. Designed and implemented a Java/SQL framework for large scale data processing. I was mainly responsible for improving offline data processing time from 80 hours to under 3.
July 1998 – Feb 2001 Software Engineer at Raytheon, Marlborough MA
Worked on the display component of the STARS Air Traffic Control system fixing bugs and implementing the main toolbar UI. Coding was done in C, X11 and Motif. Also worked on a Java Swing based UI for a Navy terminal project.
B.A. Computer Engineering, 1998,
University of Puerto Rico, Mayagüez Campus
Undergrad research projects on: Visualization and computation using Matlab, parallel algorithms in C for a fingerprint matching parallel embedded system, scanline rendering re-implementation of part of the OpenGL API. Also wrote a constructive geometry language that compiled to java for a distributed ray-tracing rendering system for the compilers and OS classes. Fried enough VGA cards programming graphic demos in 386 assembly, C and Pascal.
Winner of the Dominican Math Olympiad on 1991 and 1992. Silver medal at the Iberoamerican Math Olympiad in Caracas, Venezuela, 1992