Enrique Rodriguez, Software Developer in Montevideo, Montevideo Department, Uruguay
Enrique Rodriguez

Software Developer in Montevideo, Montevideo Department, Uruguay

Member since August 13, 2020
Enrique is a passionate software engineer who has experience delivering quality back-end software for a variety of companies, from small startups to big corporations. He is an enthusiastic learner; he enjoys researching different technologies and architectures, finding the right tool for the job, and putting it into practice. Most recently, Enrique has been focusing on Scala with Akka technologies and ES and CQRS architectures.
Enrique is now available for hire

Portfolio

Experience

Location

Montevideo, Montevideo Department, Uruguay

Availability

Part-time

Preferred Environment

Git, Unix, Scala, IntelliJ IDEA

The most amazing...

...software I've developed is the back end for an enhanced blockchain-based wallet that allows users from all over the world to freely transact multiple assets.

Employment

  • Senior Scala Developer

    2016 - 2020
    Abra
    • Incorporated smoothly into a team from a startup located in Silicon Valley and learned blockchain concepts quickly.
    • Helped improve the development process by bringing functional programming experience and applying its best practices and design patterns.
    • Improved the scalability of the system by adding a key-value caching layer for critical app use cases.
    • Helped transition the app packaging to Docker, resulting in simpler deploys and making development environments easier to set up.
    Technologies: Redis, Git, Unix, Scrum, SQL, ScalaTest, Python, Ruby on Rails (RoR), Smart Contracts, Blockchain, SBT, JBehave, Docker, PostgreSQL, Slick, Play Framework, Akka, Scala
  • Java Developer

    2015 - 2016
    MLB Advanced Media (Moove-It Client)
    • Started and developed a full project from scratch for a big company in the entertainment industry.
    • Decided which technologies to use and designed the architecture of a key component of a big system that provides information to heterogeneous multimedia devices.
    • Researched tools for allowing parallelism and scalability. Decided on RxJava which leveraged functional programming principles, allowing great flexibility to meet the demanding requirements.
    Technologies: Spring, Git, SQL, Jetty, Couchbase, RxJava, Spring Boot, Java
  • Java Developer

    2014 - 2015
    Bancard (Moove-It client)
    • Developed an application integration system for a financial entity where no transaction whatsoever is lost.
    • Automated the deployment process using Ansible, making deploys simpler and less error-prone.
    • Provided a highly available and reliable system by using replication and stateless-transactions techniques.
    Technologies: Redis, Spring, Git, Unix, Scrum, SQL, Gradle, Ansible, Apache Tomcat, MySQL, ActiveMQ, JMS, Spring Integration, Java
  • Java Developer

    2013 - 2015
    Numerex (Moove-It Client)
    • Ensured a smooth communication channel between millions of devices and tens of web applications.
    • Migrated a legacy system from an old ESB technology to modern Java with Spring microservices.
    • Improved the code quality by applying design patterns, notably reducing the codebase size by 10%.
    Technologies: Spring, Git, Unix, Scrum, SQL, Maven, Apache Tomcat, Apache Camel, Couchbase, Memcached, MySQL, ActiveMQ, JMS, JPA, Java
  • Full-stack Developer

    2010 - 2013
    BQN Custom Technology
    • Developed an app to track the company's hardware units as well as the available stock of products for manufacturing and selling.
    • Led the deployment and usage of an issue-tracking system along with the Scrum methodology.
    • Implemented software libraries to achieve code reutilization across the organization.
    Technologies: Unix, SQL, ScalaTest, MySQL, Apache Tomcat, Vaadin, Scala

Experience

  • Custom Server Monitoring Tool
    https://blog.moove-it.com/custom-server-monitoring-tool-using-scala-akka/

    An app to monitor servers, written with pure Scala and Akka actors. I did all the process from gathering the requirements by finding the best tool for the task of developing and deploying it. The app is easy to install and configure, the configuration can be changed dynamically, information is displayed with easy to read charts and alarms can be set for custom thresholds.

  • Akka-typed Research
    https://medium.com/@quiquerodrguez/there-is-more-to-akka-typed-than-meets-the-eye-4b8f66ba45b1

    After taking an online course on reactive programming with Scala and Akka, I decided to investigate deeper into Akka-typed, so I created a pet project to try and see how far I could go in defining a compiler-checked protocol. The result was very interesting and the process quite fun.

Skills

  • Languages

    Scala, Java, SQL, Python
  • Frameworks

    Akka, Spring, Play Framework, Spring Boot, Vaadin, JPA, Ruby on Rails (RoR)
  • Libraries/APIs

    REST APIs, Slick
  • Tools

    Git, ScalaTest, IntelliJ IDEA
  • Paradigms

    Functional Programming, Scrum
  • Platforms

    Blockchain, Unix, Docker
  • Storage

    PostgreSQL, MySQL, Redis

Education

  • Bachelor's Degree in Computer Science
    2008 - 2014
    Universidad de la Rep├║blica - Montevideo, Uruguay

Certifications

  • Programming Reactive Systems
    APRIL 2020 - PRESENT
    edX
  • Reactive Architecture: Domain Driven Design
    SEPTEMBER 2018 - PRESENT
    Cognitive Class
  • Principles of Reactive Architecture
    AUGUST 2018 - PRESENT
    IBM
  • Principles of Reactive Programming
    JUNE 2015 - PRESENT
    Coursera
  • Functional Programming Principles in Scala
    DECEMBER 2013 - PRESENT
    Coursera

To view more profiles

Join Toptal
Share it with others