Senior Scala Developer
2016 - 2020Abra- 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, ScalaJava Developer
2015 - 2016MLB 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, JavaJava Developer
2014 - 2015Bancard (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, JavaJava Developer
2013 - 2015Numerex (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, Apache Maven, Apache Tomcat, Apache Camel, Couchbase, Memcached, MySQL, ActiveMQ, JMS, JPA, JavaFull-stack Developer
2010 - 2013BQN 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