Henrique Moniz, Software Developer in Lisbon, Portugal
Henrique Moniz

Software Developer in Lisbon, Portugal

Member since June 18, 2020
Henrique is a seasoned back-end software engineer and blockchain researcher with a Ph.D. in computer science and a solid background in distributed systems. He has built large-scale systems at Google, Microsoft, and other large companies. As a blockchain researcher at JPMorgan Chase, Henrique led research and implementation on improving Quorum's performance, obtaining a 10x increase in throughput to around 10,000 transactions per second.
Henrique is now available for hire

Portfolio

  • JPMorgan Chase
    Amazon Web Services (AWS), Python, Distributed Systems, AWS, Go, Blockchain
  • Google
    Android, Linux, Cloud, Kubernetes, Python, Distributed Systems, Storage, Java...
  • NOVA University Lisbon
    Large Scale Distributed Systems, Databases, Storage, Distributed Systems...

Experience

Location

Lisbon, Portugal

Availability

Part-time

Preferred Environment

Node.js, Django, Kubernetes, Blockchain, C, Go, Python, Java, Linux, Distributed Systems

The most amazing...

...project I drove was leading the team at Google that redesigned and implemented the entire distributed storage layer for Google Docs, Sheets, and Slides.

Employment

  • Blockchain Researcher

    2019 - 2020
    JPMorgan Chase
    • Designed the consensus algorithm that powers the Quorum enterprise blockchain platform.
    • Led a team implementing the core consensus algorithm into Quorum.
    • Led research and implementation on improving Quorum's performance, obtaining a 10x increase in throughput to around 10,000 transactions per second.
    Technologies: Amazon Web Services (AWS), Python, Distributed Systems, AWS, Go, Blockchain
  • Tech Lead and Manager, Software Engineer

    2014 - 2020
    Google
    • Managed a team of approximately 20 engineers responsible for the storage infrastructure of Google Docs, Sheets, and Slides, to name a few.
    • Led the design, implementation, and maintenance of a new large-scale distributed storage layer for the Google Docs suit comprising dozens of billions of documents and well over a billion users.
    • Led the GDPR compliance and data-location efforts for the Google Docs suite.
    Technologies: Android, Linux, Cloud, Kubernetes, Python, Distributed Systems, Storage, Java, Google Docs
  • Postdoctoral Associate

    2012 - 2013
    NOVA University Lisbon
    • Coordinated a research line dedicated to finding principled approaches to build and analyze distributed storage systems with strong semantics.
    • Designed and implemented Blotter, a geo-replicated distributed storage system that provides strong transactional semantics and low-latency operations.
    • Advised Ph.D. students on their research in the areas of distributed systems, storage, and security.
    Technologies: Large Scale Distributed Systems, Databases, Storage, Distributed Systems, Apache Cassandra, Java
  • Postdoctoral Researcher

    2011 - 2012
    Microsoft Research
    • Drove the design and development of a distributed transactional engine for large-scale storage systems.
    • Conducted research in the area of distributed storage and database systems.
    • Wrote a simulation engine for distributed concurrency control algorithms.
    Technologies: Amazon Web Services (AWS), Distributed Databases, Microsoft SQL Server, AWS, Azure, NoSQL
  • Invited Assistant Professor

    2010 - 2011
    University of Lisbon
    • Lectured the courses of Network Security and Distributed Systems.
    • Conducted research on distributed systems, wireless ad-hoc networks, and security, publishing more than 20 peer-reviewed scientific papers on those subjects.
    • Developed several EU-funded international research projects.
    Technologies: Linux, C++, C, Wireless Networking, Security, Distributed Computing

Experience

  • Blotter: Low Latency Transactions for Geo-Replicated Storage

    Most geo-replicated storage systems use weak consistency to avoid the performance penalty of coordinating replicas in different data centers. This departure from strong semantics poses problems to application programmers, who need to address the anomalies enabled by weak consistency. In this paper we use a recently proposed isolation level, called Non-Monotonic Snapshot Isolation, to achieve ACID transactions with low latency. To this end, we present Blotter, a geo-replicated system that leverages these semantics in the design of a new concurrency control protocol. It leaves a small amount of local state during reads to make commits more efficient, combined with a configuration of Paxos, and tailored for good performance in wide area settings. Read operations always run on the local data center, and update transactions complete in a small number of message steps to a subset of the replicas. We implemented Blotter as an extension to Cassandra. Our experimental evaluation shows that Blotter has a small overhead at the data center scale and performs better across data centers when compared with our implementations of the core Spanner protocol and of Snapshot Isolation on the same codebase.

Skills

  • Languages

    Java, Python, C, Go, C++
  • Frameworks

    Django
  • Tools

    Google Docs
  • Paradigms

    Distributed Computing
  • Platforms

    Linux, Blockchain, Kubernetes, Android, Amazon Web Services (AWS), Azure
  • Storage

    Databases, NoSQL, Distributed Databases, Microsoft SQL Server
  • Other

    Distributed Systems, Cloud, Large Scale Distributed Systems, AWS, Storage, Wireless Networking, Apache Cassandra
  • Industry Expertise

    Security
  • Libraries/APIs

    Node.js

Education

  • Ph.D. in Computer Science
    2006 - 2010
    University of Lisbon - Lisbon, Portugal
  • Master of Science degree in Computer Science
    2004 - 2006
    University of Lisbon - Lisbon, Portugal
  • Bachelor of Science degree in Computer Science
    2000 - 2004
    University of Lisbon - Lisbon, Portugal

To view more profiles

Join Toptal
Share it with others