Experience

OTO

Senior Software Engineer

March 2020 - November 2020

  • Implemented a Python SDK (built on top of TensorFlow) for semantic audio processing (speech, gender, emotions and energy detection)
  • Designed and implemented a reactive REST API for batch processing of audio files and real-time streams
  • Designed and implemented a mechanism for online License Validation, secure Model Distribution and usage tracking
  • Designed and implemented an IP Protection mechanism for local use of TensorFlow models
  • Managed Kubernetes cluster and related infrastructure
  • Improved automation for application and infrastructure deployment
  • Implemented end-to-end application metrics and logging pipeline using Datadog

Primary technologies/providers:

  • Kotlin, Python
  • Spring (Core, WebFlux, Boot, Data), R2DBC, TensorFlow, NumPy
  • PostgreSQL, Amazon SQS, Amazon S3
  • AWS, Google Cloud
  • Docker, Kubernetes (Amazon EKS)
  • Datadog, Prometheus, Grafana
  • Terraform, Ansible
  • GitHub Actions, Travis CI

Talkdesk

Senior Software Engineer / Tech Lead

May 2016 - March 2020

Core Platform:

  • Microservice development for Core APIs
  • Designed and built the foundations for a scalable microservice architecture, using an API Gateway and an OAuth identity platform
  • Bootstrapped and led a sub-team dedicated to building and maintaining Edge applications
  • Moved multiple pieces of functionality out of a legacy monolith
  • Defined the process to build Public (REST) APIs

SRE:

  • Bootstrapped and led the SRE Resiliency team, dedicated to providing tools and procedures to build a highly-available, reliable, scalable and performant platform
  • Built common tooling to interact with RabbitMQ in a reliable manner
  • Created a Sprint Boot Starter to standardize the behavior of Spring Boot applications across the engineering organization
  • Bootstrapped the Engineering On-Call Program
  • Implemented a fully fledged Multi-Region Disaster Recovery solution
  • Maintained a legacy Rails-based monolith, including: migration from Rails 4 to Rails 5, upgrade from Ruby 2.3 to 2.6, migration from Heroku to Kubernetes, and isolation of critical functionality
  • Assisted the design and implementation of our own Kubernetes-based PaaS, and the migration of multiple applications from Heroku to it
  • Rebuilt the Real Time Messaging infrastructure for the core platform, allowing for no-downtime dynamic configuration changes
  • Bootstrapped automation for application monitoring using New Relic and Datadog, built using Terraform
  • Introduced multi-provider redundancy for all edge infrastructure (DNS and Load Balancing)
  • Created blueprints for long-term scalability plans

Primary technologies/providers/methodologies:

  • Kotlin, Ruby, Javascript
  • Spring (Core, Boot, Data, Security, OAuth, HATEOAS), Netflix OSS (Zuul, Hystrix), Rails, Sidekiq, Bunny
  • MongoDB, Redis, Cassandra, RabbitMQ, Elasticsearch, Kafka
  • AWS, Google Cloud, Cloudflare, Heroku, Twilio, Pusher
  • Docker, Kubernetes
  • New Relic, Datadog, Prometheus, Grafana, VictorOps
  • Terraform, Packer, Ansible
  • GitHub, Jenkins
  • Scrum, Kanban, JIRA, Confluence

Notable mentions:

  • Kotlin/Spring advocate and trainer
  • JVM expert and advocate
  • Technical interviewer
  • On-Call engineer

Técnico Lisboa

Software Developer, Lead Architect - FenixEdu

November 2013 - May 2016

  • Performance and security improvements for the infrastructure of the FenixEdu ecosystem
  • Modularized a legacy monolithic application and integrated it with modern technologies
  • Developed a dynamic application router and Web Framework integration layer
  • Developed a Social Ad-Hoc Workflow System
  • Developed a multi-tenant Java CMS with dynamic routing and theming
  • Developed a Single Sign-On platform for Microservices
  • Maintained and created internal software development tools and methodologies

Primary Technologies:

  • Java, Groovy, JavaScript
  • Struts 1, OJB, Spring, ASM
  • MySQL, Redis
  • OpenStack

Junior Developer - FenixEdu

December 2011 - October 2013

  • Developed and maintained FenixEdu’s Student Information System
  • Developed new features and maintained a Distributed Persistent Software Transactional Memory (Fenix Framework)
  • Developed a capabilities-based access control system

INESC-ID

Junior Researcher - Algorithms for Optimization and Simulation Research Group

September 2009 - October 2010

  • Research Project: Parallel algorithms for Discrete Event Simulation, with C++ and OpenMP

Education

Master of Science

September 2011 - October 2013

Information Systems and Computer Engineering, Técnico Lisboa, Lisbon

  • Major in Distributed Systems, Minor in Software Engineering
  • Master’s Thesis: Implementing Long-Lived Transactions on a Distributed Persistent Software Transactional Memory

Bachelor of Science

September 2008 - June 2011

Information Systems and Computer Engineering, Técnico Lisboa, Lisbon

  • Main focus in Software Engineering