George Cristea, Developer in Seattle, WA, United States
George is available for hire
Hire George

George Cristea

Verified Expert  in Engineering

Algorithms Developer

Location
Seattle, WA, United States
Toptal Member Since
March 12, 2018

George is a performance-oriented engineering leader with a substantial technology background and business proficiency. He specializes in designing and implementing large-scale distributed systems with a focus on performance and reliability. Throughout his career, George has consistently identified and managed the technology and operational risks with a strong sense of end-to-end ownership for complex software products.

Portfolio

Postmates
Large Scale Distributed Systems, Algorithms, Google Cloud...
Kyokan
Large Scale Distributed Systems, Algorithms, Scrum, Distributed Systems...
iStreamPlanet
Authorization, Algorithms, Amazon Simple Queue Service (SQS), gRPC, MongoDB, Go

Experience

Availability

Part-time

Preferred Environment

Git, JetBrains, Linux

The most amazing...

...project I've worked on is a cloud infrastructure for multi-provider public and private cloud providers.

Work Experience

Senior Software Engineer

2020 - 2020
Postmates
  • Designed and implemented a distributed inference pipeline for supply/demand forecast using RedisTimeSeries as a feature store and Bloom filters to recover from restarts/crash failures.
  • Identified improvements for the supply/demand forecasting, increasing the overall computational efficiency by six times.
  • Designed and implemented a new algorithm for a computing heat map, a couriers’ tool showing high demand areas.
Technologies: Large Scale Distributed Systems, Algorithms, Google Cloud, Amazon Web Services (AWS), Google Cloud Platform (GCP), Redis, Kubernetes, Go

Principal Engineer

2018 - 2019
Kyokan
  • Designed and implemented a Plasma extension for Ethereum blockchain. The project is supported by funding from the Ethereum Foundation.
  • Reduced risk by using Pedersen commitment to preventing the operator from gaining information about transactions' values.
  • Removed the linearizable requirement for a distributed system by designing inclusion proof-based on cryptographic accumulators.
  • Reduced the memory usage from linear to logarithmic by incrementally building a block Merkle tree.
Technologies: Large Scale Distributed Systems, Algorithms, Scrum, Distributed Systems, JavaScript, Solidity, Ethereum, LevelDB, Go, Blockchain

Software Engineer (Contract)

2018 - 2018
iStreamPlanet
  • Designed and implemented a content metadata processor microservice.
  • Reduced the response time and increased the throughput by using write-through caching.
  • Implemented a directed acyclic graph structure using continued fractions encoding for MongoDB collections.
Technologies: Authorization, Algorithms, Amazon Simple Queue Service (SQS), gRPC, MongoDB, Go

Cloud Architect (Contract)

2014 - 2017
Disney
  • Designed and implemented a workflow for creating cloud accounts configured following security requirements.
  • Added support for OAuth2 and SAML for authentication/identity.
  • Implemented a security auditor functionality for AWS and Google cloud accounts.
  • Added support for an access control model for private/public cloud.
  • Implemented SQS message de-duplication using a distributed Bloom filter.
Technologies: Large Scale Distributed Systems, Algorithms, Google Cloud, Scrum, Distributed Systems, Amazon Web Services (AWS), RabbitMQ, OpenStack, Google Cloud Platform (GCP), Azure, MongoDB, JavaScript, Node.js

Team Lead (Contract)

2012 - 2014
Disney
  • Led a team of consultants in designing and implementing server-side functionality for Disney Identity.
  • Created scrum stories from the business analysts’ requirements.
  • Designed and implemented an integration with Facebook, Google+, PlayStation Network, and Xbox Live for Disney Identity.
  • Implemented SSO support for Disney Identity.
  • Added support for a rule engine used to evaluate country- and region-specific business logic. Implemented test and deployment methods for the business rules.
  • Simplified the configuration management by writing a parser that extended JSON—allowing inheritance and marking fields required.
Technologies: Authorization, Large Scale Distributed Systems, Algorithms, Scrum, Distributed Systems, Microsoft SQL Server, Spring, Java

Senior Engineer

2009 - 2012
Linden Lab
  • Proposed, designed, and implemented a central authentication service using Python with Cassandra for session storage.
  • Analyzed OpenID and OAuth2 protocols to determine which NoSQL solution to use for session storage.
  • Managed the process of migrating all the Second Life websites to using the OpenID protocol for authentication.
  • Designed and implemented the backup strategy for a Cassandra cluster.
  • Designed and implemented a Cassandra cluster with Bootstrap using a dynamic DNS.
Technologies: Algorithms, Scrum, Distributed Systems, Cassandra, MongoDB, Python

Software Engineer

2003 - 2009
Amazon
  • Designed and implemented a financial engine used for calculating the order total with discounts, taxes, and shipping charges for the US and international destinations.
  • Improved a solution for detecting unauthorized changes on production servers for Sarbanes-Oxley related systems. The system detected file system changes and reconciling them for more than 2,000 production servers using five hosts.
  • Designed and implemented a large-scale, fault-tolerant authorization system that complies with and extends ANSI's RBAC standard.
  • Proposed and implemented role-based access control (RBAC) as an authorization model that would allow the company to reach sustainable Sarbanes-Oxley compliance.
  • Initiated a study group for design patterns and distributed systems.
Technologies: Authorization, Large Scale Distributed Systems, Algorithms, Scrum, Distributed Systems, Oracle, MySQL, Erlang, Java, C++

Directed Acyclic Graph Using Continued Fractions Encoding

I implemented a directed acyclic graph used in a production system for entitlements where the read/write ratio is higher than 1,000. Additionally, the most frequent operation was to get the ancestors for a node. I extended the data structures from "using rational numbers to key nested sets" to implement a directed acyclic graph. The data structures described by the paper are multi-way trees. The node values in a sub-tree have an encoding in the interval defined by sub-tree root value and its right sibling node.

Work Done:
• Introduced a root node to handle cases not covered by the original paper (e.g., when a node doesn't exist in the system).
• Transformed the data structure to allow representation of a directed acyclic graph and to detect and prevent cycles from being introduced. The code uses several multi-way trees to represent multiple paths from the root node to leaf nodes and each sub-tree is stored as a MongoDB document.
• To ensure data consistency I used Redis locking for document updates. The reason for using Redis has to do with MongoDB concurrency model.
• Using the continued fractions encoding, I was able to ensure that read operations are executed in constant time in terms of the number of MongoDB queries.

Cloud Manager

I designed and implemented a cloud management system that supports multiple cloud providers, both public and private. The private cloud was based on OpenStack while the public cloud providers were AWS, GCP, and Azure. The system offers the ability to audit cloud accounts, provision new cloud accounts, and is integrated with a corporate finance system.

It was implemented using AWS Simple Workflow Service and had several workflows for each provider. The back-end was implemented using Node.js and PostgreSQL.

SSL Cipher Fix for Cassandra

https://issues.apache.org/jira/browse/CASSANDRA-3278
A Cassandra NoSQL storage system was trying to use a hard-coded set of ciphers. However in situations when not all ciphers are present/installed on the host the server was failing to create SSL sockets so I created a fix for this.

Cassandra Backup Manager

I implemented a backup manager for a Cassandra cluster that comprised of approximately 20 nodes. The backup manager was using a distributed lock to restrict the number of nodes that were performing backups to only one at a time.

The distributed lock was implemented in Cassandra using a keyspace where the node performing a backup would write its identity. The value stored in the keyspace had a higher expiration period to ensure that the backup progresses in the presence of a node failure.

Erlang port for Berkeley DB HA

I implemented an Erlang port to interface with a Berkeley DB High Availability C library. The Berkeley DB HA offers full replication of data from the master to slave nodes.

The Erlang port driver was running the same process as the Erlang VM and it kept track which node is was the master. All the reads were served from the local Berkeley DB storage while the write operations were forwarded to the master using Erlang's native remote procedure calls.

Order Evaluation Engine

I designed and implemented an engine for calculating the order total, taxes, discounts, and shipping charges. The library's C++ code was generated by a compiler from field dependency declarations. The compiler extracted semantic information from the input (e.g., the price to be displayed should include taxes for EU countries).
2007 - 2010

Master of Business Administration Degree in Business

University of Washington - Seattle, WA, USA

1992 - 1997

Bachelor's Degree in Control Engineering

Politehnica University of Bucharest - Bucharest, Romania

Libraries/APIs

Google Cloud API, Bottle.py, Node.js

Tools

Git, AWS SDK, Amazon Simple Queue Service (SQS), Subversion (SVN), JetBrains, RabbitMQ

Languages

C++, Go, Python, Erlang (OTP), Java, JavaScript, Erlang, Solidity, SAML

Paradigms

REST, Scrum

Platforms

Android, Linux, Google Cloud Platform (GCP), Blockchain, Amazon Web Services (AWS), Kubernetes, Oracle, OpenStack, Azure, Ethereum

Storage

Google Cloud, Cassandra, AWS SWF, PostgreSQL, MongoDB, Microsoft SQL Server, Redis, MySQL, LevelDB

Frameworks

Spring, Django, AWS HA, OAuth 2, gRPC

Other

Authorization, Caching, Distributed Systems, Large Scale Distributed Systems, Software Development, TCP/IP, Algorithms

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