CV
Experience
Ashby
Senior Site Reliability Engineer
January 2021 - Present
- Implemented full-stack monitoring using Datadog APM and Logs (from user action in browser to Database request)
- Implemented Node Event Loop Blocking detector using Datadog APM (Link)
- Implemented generic background processing and job scheduling framework on top of Bull (with builtin Datadog APM monitoring)
- Implemented a generic framework for Data Deletion
- Implemented load shedding and Apollo concurrency control mechanisms
- Created mechanism to debug slow queries generated by query engine
- Migrated Gmail and Google Calendar Sync to work in Real-Time
- Migrated multiple frontend apps to a Cloudflare-backed CDN
- Migrated a Heroku Postgres instance to two Amazon RDS clusters
- Managed Cloud Infrastructure on AWS (RDS, S3, Athena, ECS Fargate)
Primary technologies/providers:
- Typescript with Express, Bull, Sequelize, React, Apollo
- PostgreSQL, Redis, Amazon S3, Prefect, Snowflake
- AWS, Heroku, Cloudflare
- Datadog
- Terraform
- GitHub Actions
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