On my own October 2014 - Currently
MetaDDS/SimpleDDS
Skeleton and canon implementation of a Data Delivery Service (publisher/subscriber) framework and
it full ROS and Pharo smalltalk specific implementation. Based on ROS standard and OMG-DDS
standard.
Using for development Pharo 3.0
On my own Feburary 2014 - Currently
TaskIT
Maintaining and enhancing TaskIT with Guillermo Polito
TaskIT had born and grow during the development of PhaROS during my job at Ecole des mines,
and it was mean to be object oriented, easy to use, and with powerful, well tested, simple and reliable
processing abstractions, in order to serve in a real-time processing environment.
As well it provides some experimental functionalities for process understanding as the plan definition.
We are currently working on Task-IT 2.0, which will have a great new suit of concept for process
management
INDUSTRY AND RESEARCH EXPERIENCE
Ericsson May 2014 - September 2014
Senior Java and C++ consultant developer Malaga, Spain
ERA (Ericsson ran analyzer) Project. C++ and Java based high-performance client
TPS (Trace processor server) Project. Java high-performance server for trace processing (system that
faces problems of teras of data) with some IronPython for processing text files, with part of processing
over hadoop and hive.
ODG (OSS Data gateway) Project. Project that analyze data from OSS servers. Also Java high-
performance server.
All of these project are highly Multithreaded and based on distributed processing.
The data containers of these project are based on Hadoop File system.
Most of the data processed is reduced and stored into the client mapping data from several servers with
work ow processing. (Based in ETL pattern)
TDD and Continuous delivery evangalizer.
Working under Agile with Scrum methodology
Ecole des mines de Douai September 2012 - February 2014
Software Research Engineer, Robotics Douai, Nord-Pas-de-Calais
I am in charge of the development of the project RoboShop, a robotic system for aiding persons to navigate into unknown spaces. I do organize the work also of two persons more, an intership and a post-doc.
My responsibilities are planning, engineering, development and technologic report writing for the
projects RoboShop and PhaROS.
PhaROS is a framework for developing robot solutions for Pharo Smalltalk on the robotic middleware
ROS. It implements a real time distributed architecture.
The project RoboShop was presented in Picom and Vad Conext 2013
The project PhaROS is going to be presented in FOSDEM 2014, as PhaROS
Towards Live Environments in Robotics in the Smalltalk devroom.
From this position i also contribute with the project TaskIT, which is a project for managing parallelism and concurrence in a Pharo smalltalk envi-
ronment.
The used technologies for the robot side are: Pharo, ROS, Python and C++. For the graphical interface:
Pharo, Seaside, Bootstrap, Javascript, html+css3
Fanwards November 2011 - August 2012
Software engineer, gamification Ciudad de Buenos Aires, Argentine
I am in charge of design and implementation of the web application Fanwards, front and backend.
working with the CTO.
Using for front end heavy weight clients based on javascript technologies such as Backbone.js, jquery,
underscore.js , mustache and for the view HTML5 and CSS3.
Using for the backend a Google App Engine (GAE) Server with Scala & Java, Objectify for the mapping
between objects and google's BigTable, Spring MVC and RestFul frameworks for routing and dispatch-
ing of exposed and scheduled behaviours.Finally twitter4j and facebookRest for interacting with social
networks.
From this position i have developed: a full intelligent single-page client based on javascript, a small
functional library for javascript implementing some of the common haskell features (partial application,
curryfication and function compositions), really useful abstractions for AJAX request processing, also
developed a social network crawler for analysing users comments for branding (with heuristics to analyse
the meaning of each comment).
From this position i also participate not just in software design, planning and architecture but also in
the gamification process of the application.
During all the development of the application we used Scala BDD and TDD techniques with great
success.
Crossing data for brand reports with Map reduce.
Aufiero Informatica March 2011 - November 2011
Software architect, designer & developer Ciudad de Buenos Aires, Argentine
This company is a small software factory and AVG antivirus reseller for latino america. I worked two
times in this enterprise, look down in previous experiences to look my progress. In this case i was also
in charge of a 5 person team.
Reseller/Partner management system based on Groovy on Grails technology and communicating to
software legacy done in PHP.
Mail campaign web system for internal usage (For AVG campaigns). Done in Groovy and Grails /
Jasper reports
Email send system multi-engine, auto-deployable with load balance and mail tracking. Done in Groovy
and Java, using Apache Email.
Single sign on system for our different platforms - Done in Groove and grails.
Buscouniversidad .com January 2011 - March - 2011
Developer & system designer Ciudad de Buenos Aires, Argentine
In this work i'am in charge of designing of Data base structure, SQL queries. In the design of the
directory system (such as OLX, Craiglists, etc, but specific for universities) based on PHP with Zend
framework, sphinx and Javascript with JQuery. And in the development of processing tools
From this position i had developed mail processing based on patterns for recognising rejects and angry
people (python); an easy code generator for Zend framework; the administration application of the site.
Aufiero Informatica March 2007 - December 2010
Software designer & developer - Project manager Ciudad de Buenos Aires, Argentine
In this company i had being in several projects, always as software designer and developer, and in the
last year also as architect.
The followings are the project i did and my role
Accountant management system - Designer and developer - Java, Flex 3.1 JBoss
Editorial integral management system (stock, accounting, finances, sells, shopping, etc) - Maintainer,
developer and DBA - visual basic 6.0 / sql server / Crystal reports. Implementation of ETL pattern
for making up a small datawarehouse for sales analysis.
Intranet tool for client management Pharo/Squeak - PostgreSQL - Seaside.
Classiffed ads management system - Maintainer, developer - Net Framework 3.0 C# Nhibernate Win-
dows form
Billing online system - Software designer, developer - PHP, CakePHP, Javascript jquery. In this project
we were contracted for offshoring by Ixole, a company from Barcelona. I worked in this case also as
face of our team, dealing about deadlines and requirements. This project lasted one year.
Electronic Invoice system (Based on the local taxes system) - Software designer, developer - Java,
Groovy and Grails / jasper reports.
MSA 2006
DBA Oracle 9i & Postgres SQL Ciudad de Buenos Aires, Argentine
In this company i had in charge the administration of three productive databases related with ticket
system (kind of ticketek but with less stress)
My tasks were Data base monitoring, Backup, SQL Security, Database and query tuning for the pro-
ductive systems (Oracle 9i) and making up configurations for eventual projects (Usually Postgres SQL)
Parallely i had some small responsibilities in eventual projects
Research for decision 2003 - 2005
Developer Ciudad de Buenos Aires, Argentine
In this company my main responsibility was the development of polls in eole/saxophone (language and
poll system).
Also i was in charge of maintaining servers, machines and network.
Freelance 2002 - 2009
Developer, Designer, Architect, DBA & Client management Ciudad de Buenos Aires, Argentine
This are the projects i have developed as independent, several of them still in usage, and i maintained
almost them for one to two years.
November 2002 to July 2003 - Nutritional preparations management system for a Parenteral Laboratory
(UNANUT) - Visual Basic & Microsoft Access ( Supported until 2005)
June 2003 to August 2003 - Stock management system for a box factory - Visual Basic & Microsoft
Access ( Supported until 2004)
July 2009 to March 2010 - Certification and courses management system SFAP - PHP
(Supported until 2011)
EXPERIENCE IN OPEN SOURCE - COMMUNITY PROJECTS
On my own Mars - May 2014
Making work Scala + Play + MongoDB Malaga
Putting together some existant technology for a project on my own
Fully developed with Scala and Play. It has some java dependancies (Jackson for JSon marshalling)
On my own June - August 2014
Social secure plugin for Play running on top of MongoDB Malaga
Social secure backend implementation for running on mongoDB
Fully developed with Scala and Play.
On my own Mars - August 2014
Android Malaga
Android application for knowing where to go to play football.
Google summer of code May 2012 - September 2012
Type inference on dynamic languages Ciudad de Buenos Aires, Argentine
I am in charge of design, planning, research, engineering
From this project i have implemented a concrete type inference system for Pharo Smalltalk 1.4, a
graph of methods to be executed as response of the analysis of a given expression, and an object
oriented logger, which is now being used in several Pharo projects. I also took the work of blogging
all the work progress in a blog. This project was presented in the conference ESUG 2012 - Gent
Concrete type inferencer and the call graph analyser (Kwisatz Haderach)
Paule le poulpe; Object oriented Logger
ESUG financed Project May 2011 - September 2011
Developer in DBXTalk Ciudad de Buenos Aires, Argentine
In this project i am in charge of design and implementation of the scafiolding for DBXTalk (DBXTools)
and the bridging with Glorp framework.
DBXTalk is a bridge that gives support for the database systems to mainstream Squeak and Pharo smalltalk.
This project with the porting of Glorp to Pharo were presented in ESUG 2011 - Edimburgh
FACPCE financed Project - Used for SFAP 2009
Developer in Cornucopia framework Ciudad de Buenos Aires, Argentine
PHP Cornucopia. Is an already obsolete full stack framework. It provides:
Collections
Simple ORM configurable by metadata
Simple dependency injector
HTML reification for composing and HTML generation
Javascript generation by metadata (Requirements, etc)
Request reification as object
Session reification as object
On my own for an university topic 2007
Developer in C Objects framework Ciudad de Buenos Aires, Argentine
C Objects. Is a framework to provide several object oriented programming features to C. It provides:
Collections (Dictionary, List)
Strings
Server, with node objects for managing requests
Automatons for simple language interpretation
Threads reification
Mutex and Conditional reifications
Error management (managed by signals, giving the change to register error handlers and to raise
errors)
Memory management.
TEACHING EXPERIENCE
Universidad Tecnologica Nacional (UTN) March 2007 - July 2012
Adhonorem teaching assistant at Advanced programming techniques Ciudad de Buenos Aires,
Argentine
Teaching the next concepts, techniques and tools
Object oriented programming
{ Patterns
{ Methodologies TDD/BDD, DDD, Agile
{ Re-factors
{ Meta-programming
Basic architectures
Technologies
{ Maven
{ IDEs - Eclipse, Idea, Netbeans
{ JUnit, ScalaTest
{ SVN & GIT
Dynamic languages
{ Scala
{ Python
{ Smalltalk
{ Self
Modern applied concepts
{ Traits and Mixins
{ Lambdas / anonymous functions
Universidad Tecnologica Nacional (UTN) March 2007 - December 2011
Adhonorem teaching assistant at Programming paradigms Ciudad de Buenos Aires, Argentine
Teaching the next concepts, techniques and tools
Object oriented paradigm
{ Pharo Smalltalk
Functional oriented paradigm
{ GHC
{ WinHugs
Logical oriented paradigm
{ Swi prolog
Fundacion Proydesa March 2006 - November 2007
Oracle DBA Instructor Ciudad de Buenos Aires, Argentine
In this foundation i worked as instructor of three of the four basic modules of Oracle for Database
administration
SQL (Module 1)
Engine Architecture (Module 2)
Tuning (Module 4)
I also participate as instructor in the instruction of new instructors for modules 1 and 2.
EDUCATION
Universidad Tecnologica Nacional (UTN) - Ciudad de Buenos Aires - Argentine January
2004 - Aborted on 2011 because family problems, having papers to proof 7 semesters of career of 10
Software Engineer
Ing. Otto Krause - Ciudad de Buenos Aires - Argentina December 2001
Technic in computation
EXPERIENCE BRIEF
Software Industry experience 11 years
Research experience (Robotics) 2 years
Effective engineering study 3.5 years
Teaching programming on university 5 years
TECHNICAL STRENGTHS
Paradigms Object Oriented, Functional
Languages Smalltalk (Pharo/Squeak), Java, C/C++, Javascript
Application Middleware Tomcat, JBoss, Google App Engine
MVC Frameworks Seaside, SpringMVC, Grails, Play2
Web Client Frameworks Backbone.js, Underscore.js, JQuery
SQL Databases MySQL, PostgreSQL, Oracle, SQLServer
NO-SQL Databases MongoDB, BigTable, Db4o
Tools Metacello, Monticello, Make, Maven, SVN, GIT, Eclipse
Processing Architectures Multithreading, Multiprocesses, Real time
Software Architectures REST, Service, Client & Server, Data Processing (ETL), Actors
Quality/Testing SUnit, JUnit, Jenkins
IDEs Pharo, Squeak, Dolphin, Eclipse, Netbeans, Visual studio
Operative system Ubuntu/Debian Linux, CentOS Linux / Redhat enterprise
METHODOLOGY STRENGTHS
Working methodologies Agile, KanBan, XP, Pair programming
Software design Domain Driven Design
Quality assurance Continuous Integration, Continuous Delivery
Development Test driven development, Behaviour driven development, Lean development
LANGUAGES
Spanish Native
English Written and spoken
French Written and spoken medium competence