Cristian

Cristian

Mentor
Rising Codementor
US$15.00
For every 15 mins
2
Sessions/Jobs
ABOUT ME
Senior Software Engineer
Senior Software Engineer

Senior Software Engineer with 10+ years experience developing mobile applications and backend systems. Expert software architecture, system design and fast-paced implementations. Always focused on delivering clean, efficient and performant systems. Love teaching and learning from other developers.

Spanish, English
Pacific Time (US & Canada) (-08:00)
Joined August 2016
EXPERTISE
10 years experience
3 years experience
1 year experience
3 years experience
2 years experience
4 years experience
4 years experience

REVIEWS FROM CLIENTS

Cristian's profile has been carefully vetted and approved as a Codementor. Connect with Cristian now, and leave a review for them once you're done!
SOCIAL PRESENCE
GitHub
multidex
DEPRECATED
Java
261
57
persistence
Android persistence library
Java
76
18
Stack Overflow
150781 Reputation
51
317
250
EMPLOYMENTS
Sr Staff Engineer
Bird
2018-08-01-Present

Bird is a disruptor company that revolutionized the mobility industry with its scooters. Several competitors have spawned ever since, ...

Bird is a disruptor company that revolutionized the mobility industry with its scooters. Several competitors have spawned ever since, backed by huge companies like Uber and Lyft. I joined the company with a clear goal: to make it a data-driven company by empowering employees to understand and evolve the business.

  • Data pipeline: I co-designed and implemented the backbone of Bird’s data pipeline, which is used to collect, transform, analyze and present real-time data from all event sources (scooters, users, markets, supply chains, service centers, etc.). Some of the technologies involved in this project are Kafka, Flink and Presto.
  • Event-driven, real-time applications: as part of our mission to make this a data-driven company, there was a need to create tools to empower developers to integrate backend and client applications with the data pipeline. This involved creating SDKs to easily create events and safely evolve their schemas using Avro.
  • Real-time processing using Flink: we use Flink to create powerful, real-time data processors. I helped accelerate the rate and ease at which developers can create their own Flink jobs by developing reusable and plugable abstractions, including standardizing the way events are processed, monitoring, unit testing, etc.
  • Compliance: when Bird went public we had to enhance the data warehouse to comply with insider trading regulations. I designed a system that dynamically modifies the AST of SQL queries depending on the current permissions of the user in order to filter out data they don’t have access to. This allows us to maintain a single source of truth in the data warehouse and simplify the ETLs that maintain this data.
Kotlin
Terraform
Go
View more
Kotlin
Terraform
Go
Apache Flink
Presto
AWS
View more
Senior Software Engineer
Scopely
2014-01-01-2018-05-01

Scopely hired me as an Android developer, but I shortly had the opportunity to move to Backend development, where I designed and built...

Scopely hired me as an Android developer, but I shortly had the opportunity to move to Backend development, where I designed and built several systems. The most relevant ones are:

  • Analytics backbone: I collaborated on building what is today the Analytics backbone of Scopely. This is a system built in Java 8, Netty and JaxRS that is responsible for receiving and handling daily billions of events sent by all of the company game titles.
  • Real-time metrics: built on top of the previous project using Kinesis and Redis as its datastore. It aggregates data in real time (sums and distincts using HyperLogLog), and provides an API that exposes all kinds of metrics (active users, revenue, game events, etc.) from the games, with different time granularity. It also has a built-in anomaly detection system which notifies analysts via Slack, email or PagerDuty about anomalous changes in the data.
  • Personalization: designed and participated in building a system that allows CRM to schedule actions across multiple channels to custom user segments. It is a system that allows for A/B testing of different campaigns and targets users via Leanplum (push notifications and interstitial promotions) and Sailthru (email).
  • Sessionization: designed and built a system to aggregate and expose session information (number of player sessions and their length). Built with Google Dataflow and running on Google Cloud Platform.
Java
Kotlin
AWS
View more
Java
Kotlin
AWS
View more
Senior Mobile Engineer
Telly
2012-11-01-2014-01-01

I collaborated to write Telly’s Android application

  • Structured the project with Maven as building system which made depende...

I collaborated to write Telly’s Android application

  • Structured the project with Maven as building system which made dependency management easier, and Jenkins to create nightly builds for internal distribution and testing.
  • All calls to the Telly API are tested using JUnit, and parts of the UI are tested using Calabash.
  • Developed NDK module for the app that allows mixing audio and video using FFmpeg and libav libraries.
  • Implemented UI for several components of the app, including the video recording and video processing.
  • Developed open source libraries that are highly used in the app as well as other projects: github.com/casidiablo/groundy (Android library to handle background tasks easily); github.com/telly/wasp (Android library to cache and manage Bitmaps).
Android
Java
View more
Android
Java
View more
PROJECTS
slack-rtmView Project
2017
A Clojure library to interact with the Slack Real Time Messaging API. It's powered by clj-slack and core.async.
A Clojure library to interact with the Slack Real Time Messaging API. It's powered by clj-slack and core.async.
Clojure
Clojure
2016
GitHub notifications system as Slack notifications.
GitHub notifications system as Slack notifications.
Clojure
Clojure