Pedro Cunha, Developer in Porto, Portugal
Pedro is available for hire
Hire Pedro

Pedro Cunha

Verified Expert  in Engineering

Software Developer

Location
Porto, Portugal
Toptal Member Since
December 12, 2018

Pedro is an experienced full-stack developer with a master's degree in computer engineering. With 4+ years of expertise, he's skilled in Java, Spring, and Hibernate in addition to Kafka, Akka actors, Apache Storm, and Zookeeper.

Portfolio

Blip
Java 8, Apache Storm, Eclipse, Akka, Apache Kafka, Spring, Java
Multicert
Java 8, Hibernate, jQuery, HTML5, Spring MVC, Spring Security, Spring Data...

Experience

Availability

Part-time

Preferred Environment

Slack, Atom, WebStorm, IntelliJ IDEA, MacOS, Linux

The most amazing...

...thing I have done is migrating a synchronous system into a full event-sourced with CQRS Akka Actor system, with persistence.

Work Experience

Java Back-end Developer

2018 - PRESENT
Blip
  • Implemented a new protocol for communication with an external regulator.
  • Created custom quorum resolving mechanism for Hazelcast.
  • Migrated synchronous system to an Event Sourced Akka based system.
  • Migrated old infrastructure to Apache Storm topology.
  • Implemented active-passive handover with synchronization of Cassandra databases over multiple DCs.
Technologies: Java 8, Apache Storm, Eclipse, Akka, Apache Kafka, Spring, Java

Full-stack Developer

2014 - 2017
Multicert
  • Contributed as part of the team responsible for E-Voting platform used by Red Cross.
  • Joined group responsible for best practices on Software Engineering.
  • Migrated SVN repositories to Git and implemented Git Flow.
  • Created Continuous Integration system using Jenkins and Ansible.
  • Implemented multi-threaded and concurrent vote counting system.
Technologies: Java 8, Hibernate, jQuery, HTML5, Spring MVC, Spring Security, Spring Data, Spring Core, Java

CertVote

An E-Voting platform, scalable, fault tolerant that has been used in several Professional bodies, financial institutions, and international organizations. The system was built in Java, using the Spring framework (Core, Data, Security, MVC,. . . ), Hibernate with JPA as the ORM to “bridge” between the Java program and the PostgreSQL database, which I was also responsible for maintaining(data and consistency wise). The platform was developed as a series of RESTful services, both for internal and external communications. During this time, I was also the lead on the migration from the SVN version control system toGit, having to assure the correct port of branches, tags and defining the workflow for the entire development department.

Italy Infrastructure

I am part of the team responsible for the infrastructure that manages all the business logic between Betfair and the Italian regulator for betting. To accomplish this, my team has under its wing several applications built on top of the in-house Cougar application server. These applications had very strict concurrency and scalability requirements, with multiple nodes and multiple clusters present, both in an active-active and active-passive scenarios. Among other things, I was responsible for handling split-brain scenarios in Hazelcast on one application and one of the leads in migrating from synchronous programming to an event-sourced architecture using Akka Actors, Akka Persistence and Akka Clustering(with sharding), usingCQRS(CommandQuery Responsibility Segregation) for the read operations. I’ve also come in contact (and therefore had to learn) Kafka streams since all information reached our applications that way. As far as other duties during this time, I am also part of the on-call support team for our infrastructure, having to deal with operational issues, thus increasing my business knowledge in order to better understand our clients and provide better solutions.

mTrust

A product aiming to de-materialize all the paperwork required in contracts, like new hirings, banking and credit services, using secure methods to provide the digital equivalent of legally binding signed contracts. This product is being used by big companies like ONEY, McDonald’s, and Leaseplan to eliminate paperwork from their processes. During this project, I’ve come in contact with yet more technologies, having to develop (and maintain) aJava library for Android to interact with a mobile card reader, maintenance of mTrust’s Android application as well as implementing flows in Camel and Spring Webflow.

Event Catalog Feed Platform

A series of microservices developed in Scala using Apache Storm framework that handles all the event catalog of a betting business (price updates, market updates, and more), using Apache Kafka for message passing and Cassandra for persistence. This platform is capable of handling over 6k messages per second and is easily scalable both horizontally and vertically.

The platform also includes an Elasticsearch cluster for querying purposes.
2005 - 2014

Master's Degree in Computer Engineering

Faculdade de Engenharia da Universidade do Porto - Porto, Portugal

SEPTEMBER 2020 - PRESENT

Kotlin for Java Developers

Coursera

MARCH 2015 - PRESENT

Cryptography I

Coursera

Languages

Java, Java 8, Scala, Kotlin, HTML5

Frameworks

Spring Core, Spring MVC, Spring Security, Hibernate, Spring, Akka

Tools

Apache ZooKeeper, Jenkins, IntelliJ IDEA, WebStorm, Atom, Slack, Apache Storm, Ansible

Platforms

Apache Kafka, Linux, MacOS, Eclipse

Storage

Spring Data, MySQL, Spring Data JPA, Elasticsearch

Other

Akka Actors, Akka Persistence, Cryptography, Apache Cassandra

Libraries/APIs

jQuery, React

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring