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

Pedro Cunha

Verified Expert  in Engineering

Software Developer

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.


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




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
  • 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
  • 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


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.


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


Kotlin for Java Developers



Cryptography I



jQuery, React


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


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


Apache Kafka, Linux, MacOS, Eclipse


Java, Java 8, Scala, Kotlin, HTML5


Spring Data, MySQL, Spring Data JPA, Elasticsearch


Akka Actors, Akka Persistence, Cryptography, Apache Cassandra

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.


Share your needs

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

Choose your talent

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

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