Download PDF

Summary

I'm a Programmer and a Tech Lead. A Trainer and a Blogger, too. I'm an Open-Source and TDD advocate. I design, build and lead hight-quality software projects.
I'm passionate about what I do and I'm blessed to do what I love.

I started using computers when I was 9, programming when I was 10. Those days, I wrote many programs in Basic for Commodore, mostly small games.
When I was 18, I got my degree in Computer Technical. Back then, I wrote some real-life programs in Visual Basic, like an administrative software for taxi agencies.

My first real work was in a banking software company called G&F in February of 2000. I started working as a junior programmer and through the years I became senior developer, tester, project leader, tech leader and finally, software architect. Those systems had strong volume, performance and security requirements.

After eight years on G&F, I felt the need to grow up and embrace new technologies. Then I switched to Novamens, where I started developing Erlang systems for a VoIP company.

At the same time I was studying in the Buenos Aires University to became the computer scientist I am now. My final thesis project was a development platform built in Haskell, called λPage: http://haskell.hpage.com.

I spent two years working at Novamens, then I met Chad DePue when he was creating Inaka. I joined the company and I'm working there since its very beginnings, developing highly concurrent applications for this new social world we're living in. I'm now it's CTO and Inaka is now part of Erlang-Solutions, where I work as a Tech Lead and Trainer, too.

After several years working with Erlang, I feel very confident with it. I've been in a Tech Lead position for enough time to feel confident with it, too. Nevertheless, I keep learning new stuff about both worlds every day. And what I learn, I share through my blog :)

What I like most of my work are the challenges and the possibilities to use my creativity in a productive way.

Objective

I prefer jobs where I can learn, build or discover new things.  I like jobs that let me be creative.  In fact, I enjoy challenging jobs where I must be creative.

Work experience

July 2015

Tech Lead & Erlang Trainer

Erlang Solutions
Aug 2014Present

CTO

Inaka (an Erlang Solutions company)
2009Present

Software Designer & Hawk Oculyst

Mogosto Soft

Mogosto Soft is a free-lance company project created with Facundo Villanueva.  Our motto is: "Working for fun"

Jul 2004Dec 2005

Tech Leader / Project Leader

GyF Soluciones Informaticas S.A.
Jun 2002Jun 2004

Project Leader / Designer

GyF Soluciones Informaticas S.A.
Feb 2000May 2002

Developer

Gallero & Ferrari S.R.L.

Education

Jan 1994Dec 1999

Computer Technical

EET 7 - Jose Hernandez

Projects I was involved in

Gadget / Elvis:

Description: Free tools for open-source projects to ensure code quality

My Responsibilty: Creator

Languages: Erlang / Java

Solved Problems:

  • Integration with GitHub
  • Oauth2
  • Code analysis and recommendation generation

Whisper:

Description: The anti-social network

My Responsibilty: Lead Server Designer

Languages: Erlang

Solved Problems:

  • Massive scalability issues
  • Riak integration
  • Anonymity versus sociability

MTV WatchWith / VH1 CoStar:

Description: TV companion software that lets users see what others are saying on Twitter, Facebook, etc. while watching a TV show.

My Responsability: Lead Server Developer

Languages: Erlang

Solved Problems:

  • Dealing with massive scalability challenges in Erlang
  • Developing Twitter stream API consumption and curation algorithms
  • Developing general and personalized curation and distribution algorithms (not two system users get the same messages at the same time, each one gets those that fit best to his profile)

λPage:

Description: A scrapbook for Haskell developers

My Responsability: Designer, Tester, Developer

Languages: Haskell

Solved Problems:

  • Developing a cross-platform UI in Haskell
  • Dealing with GHC API through hint
  • Adding some kind of reflection abilities to Haskell
  • Handling all kinds of results
  • Dealing with Haskell lazy evaluation

erfb:

Description: Erlang RFB Library

My Responsability: Designer and Developer

Languages: Erlang

Solved Problems:

  • Implementing server and client side RFB protocol in Erlang
  • Designing and developing it in a way that's as open as the protocol itself
  • Developing clients and servers so that they can easily interact with each other and also with other clients/servers

Aptela 5:

Description: VoIP Provider Administrator

My Responsability: Developer

Languages: Erlang

Solved Problems:

  • Developing a distributed, scalable and highly reliable application
  • Working in a functional language for a non-academic purposes (i.e. in the "real world")
  • Using new technologies, like CouchDB and STOMP

AdintaR:

Description: Credit card administration system

My Responsability: Developer

Languages: Visual Basic, T-SQL, PL/SQL

Solved Problems:

  • Developing a highly customizable system
  • Importing and exporting massive data sets with dynamic structure
  • Dealing with massive data traffic

Warehouse:

Description: Graphical query building and masive process executing system

My Responsability: Designer, Developer

Languages: Visual Basic, T-SQL, PL/SQL

Solved Problems:

  • Command unification to deal with different database servers
  • Designing an easy to understand yet powerful interface for DBA and not-DBA users
  • Dealing with massive data sets

Siti:

Description: Bank cashier subsystem for special taxes

My Responsability: Designer and developer of the first version.  Architect, Project Leader and Tester of the next 4 versions.

Languages: C#, T-SQL

Solved Problems:

  • Designing and optimizing a web interface for bank cashiers
  • Developing a web system using SOA and web-services
  • Ajax implementation and optimization for bank cashier terminals
  • Ensuring interoperability on technologies and environments
  • Dealing with security exploits
  • Developing a web system for a highly distributed network

Minibase:

Description: Modification of the Java version of Minibase

My Responsability: Designer, Tester, Developer

Languages: Java

Solved Problems:

  • Extending some existing catalog functions
  • Implementing new catalog functions
  • Implementing some functions in the query-optimizer
  • Developing a graphical database manager

Other Courses & Seminars

10/2001 “JAVA Programming”, Computer Science Department, U.B.A.03/2002 “JAVA Programming II”, Computer Science Department, U.B.A.08/2006 “An Introduction to Distributed Algorithms", Computer Science Department, U.B.A. Keynote speaker: Lic. Linda Pagli from (Pisa University, Italy)08/2007 “Modern Trends in the Formal Language Theory", Computer Science Department, U.B.A. Keynote speaker: Lic. Alexander Meduna, Brno University of Technology, Czech Republic

Skills

Technical Leadership

I've been leading different teams of developers, local and remote, for the past 4 years.

Erlang
http://erlang.org/ 
XMPP
http://xmpp.org/
Smalltalk
Haskell
http://haskell.org/
T-SQL

Mostly MSSQL, but also MySQL and Postgres

NoSQL Databases

I have extensive experience working with Riak, DynamoDB and Redis

Java
Javascript
http://en.wikipedia.org/wiki/JavaScript
C#

I worked in C# for 8 years, but it was 10 years ago

ASP.NET

I built several ASP.NET websites, but it was 10 years ago

Certifications

Aug 2010Present

Erlang Intermediate Certificate ESL20100812/01

Erlang Solutions Ltd.