Megaport, Software Architect
March 2016 - Present, Brisbane, Queensland, AU
- Software architect. I've been in charge of major architectural changes in one of the two main systems: the Megaport API. The company grew fast but the system (a monolithic application) was behind the dynamics of the company and structure. It had to be broken up into several micro-services and evolve to a *service-based* architecture. I've developed three satellite applications (so far) that serve the main one using synchronous (ReST api) and asynchronous (message-based) communication. I've also been supporting, improving and maintain the system, adding new features and improvements. Finally, I also developed an email delivery system which keeps track of bounced emails and users statistics (emails opened, clicked links, etc).
- Training. I introduced functional programming in the team by preparing training sessions using Scala. The training lasted for many months. I also trained the whole company staff in Agile and Scrum. As a result, many good practices have been introduced in other teams unrelated to software development, and the development team embraced agile development as well.
Some of the technologies I've used are: Java (v8), Scala, Scalaz, Spring, Spring boot, JPA, Docker, Argonaut, Spray, Slick3, AWS (S3, SES), Rabbit MQ, Postgres, Swagger2, Mockito, Specs2, AngularJS, Git, Jenkins, Gitlab.
Ephox, Software Egineer
May 2015 - March 2016, Brisbane, Queensland, AU
I was part of the services team. I worked in two different projects: WebRadar and Textbox.io.
WebRadar (http://ephox.com/webradar) is a reporting application specially designed for the IBM Web Content Management (WCM). I was part of the team that modified the application in order to provide support for Virtual Portals and advance text search and replace using ElasticSearch as the core technology.
I also develop different services for Textbox.io (http://textbox.io/). The main technologies used in those services were Scala, Scalaz, Spray, Argonaut, Slick and PostgreSQL.
Dialog (for Flight Centre), Senior Java Developer
May 2013 - May 2014, Brisbane, Queensland, AU
External consultant at Flight Centre.
I developed ProfileGate, a system which is used as a common interface for accessing corporate profiles information. The system provides a centralized way to manage profiles from different existing applications through REST services and backend support.
Despegar.com, Senior Java Developer / Team leader
August 2012 - February 2013, La Plata, Buenos Aires, AR
- Project leadership:
Leader for 3 different projects related customers loyalty.
- Development of web applications using Java.
I have developed web applications using Java and related Java technologies for backoffice support and customer benefits.
- Software maintenance and support
As part of these tasks, I have been in charge of the maintenance of different legacy applications (landing pages generator).
- Software testing and bug fixing
As part of these development tasks, I have had to code different types of tests such as functional and unit tests. I also have developed a framework for automatizing functional tests using Selenium and JBehave.
As part of these tasks I have had to assist junior and semi-senior team members.
I have been part of the group of interviewers. I have also created exams for assessing candidates.