Richard Artoul

Richard Artoul

Mentor
Rising Codementor
US$0.00
For every 15 mins
ABOUT ME
Uber software engineer with a passion for teaching computer science and programming
Uber software engineer with a passion for teaching computer science and programming

I'm a software engineer for Uber with a specialty in backend systems and infrastructure engineering, but I like (and dabble) in all types of programming.

Computer science and programming are my passion, and I love spending my free time learning new things and then taking the difficult things that I learned and distilling them down so that others can learn them in a more effective manner. Almost nothing is higher leverage than teaching others, and that really motivates me.

Arabic, Hebrew, English
Pacific Time (US & Canada) (-07:00)
Joined January 2018
EXPERTISE
3 years experience
I started writing JavaScript three years ago and I've done all of the following: 1) Various full-stack applications written with JavaScr...
I started writing JavaScript three years ago and I've done all of the following: 1) Various full-stack applications written with JavaScript front-ends and NodeJS backends 2) Built this app in React Native: https://itunes.apple.com/us/app/hyperdash-machine-learning-monitoring/id1257582233 3) Worked on production backend NodeJS code-bases at Uber that serve hundreds of thousands of requests per second Here are some blog posts I wrote where I teach others advanced JavaScript: http://richardartoul.github.io/
Node.jsReactReact NativeReact/react native with reduxRedux
View more
2 years experience
I've been writing production Go software for the last 2 years. I've written: 1) A linter: https://github.com/m3db/build-tools/tree/maste...
I've been writing production Go software for the last 2 years. I've written: 1) A linter: https://github.com/m3db/build-tools/tree/master/linters/badtime 2) Backend production services at Uber that handle hundreds of thousands / million of requests per second. These services do everything from interface with Cassandra, manipulate images, and store time-series data in a custom database built from scratch in Go
View more
View more
3 years experience
I've been writing Python code for three years and in that time I've written: 1) The Hyperdash Python SDK which has been downloaded tends...
I've been writing Python code for three years and in that time I've written: 1) The Hyperdash Python SDK which has been downloaded tends of thousands of times: https://github.com/hyperdashio/hyperdash-sdk-py 2) Production services at Uber using both the Tornado framework as well as the Flask framework. These services did everything from making API calls to other backend services, to handling security-sensitive flows like Login, Single Sign On, and OAuth.
1 year experience
I'm an experienced dapp developer who has built Ethereum Smart Contract based applications. Here is a blog post I wrote where I teach ot...
I'm an experienced dapp developer who has built Ethereum Smart Contract based applications. Here is a blog post I wrote where I teach others how to do the same: https://medium.com/@richardartoul/how-i-built-biggestg-com-an-ethereum-dapp-4e7176d3920a
Ethereum
View more
Ethereum
View more
1 year experience
I've developed against production Cassandra databases at Uber and am familiar with how to model data such that it can be stored and queri...
I've developed against production Cassandra databases at Uber and am familiar with how to model data such that it can be stored and queried from Cassandra in a fast and effective manner.
2 years experience
I develop, maintain, and monitor a variety of large distributed systems at Uber.
I develop, maintain, and monitor a variety of large distributed systems at Uber.
3 years experience
I've taken a wide variety of computer science classes, including: 1) Data structures and algorithms 2) Networking 3) Computer architectu...
I've taken a wide variety of computer science classes, including: 1) Data structures and algorithms 2) Networking 3) Computer architecture (hardware/software interface) 4) Compilers and interpreters (I've written toy compilers and interpreters end-to-end) 5) Operating systems 6) Databases 7) Distributed systems 8) Concurrency (processes, threads, green threads, CSP, etc etc) In addition to the classes I took, I've read at least one entire textbook for each of the topics above (usually more) and very capable of simplifying and explaining those concepts to others.
Operating SystemsAlgorithm design and analysisNetwork Programming
View more

REVIEWS FROM CLIENTS

Richard's profile has been carefully vetted and approved as a Codementor. Connect with Richard now, and leave a review for them once you're done!
EMPLOYMENTS
Software Engineer
Uber
2015-11-01-Present
I spent the first 18 months of my career at Uber on the Developer Platform team in San Francisco working on externally facing API's, our ...
I spent the first 18 months of my career at Uber on the Developer Platform team in San Francisco working on externally facing API's, our developer platform itself, and authentication mechanisms. Thinks I worked on during that time: 1) External APIs 2) OAuth servers 3) Single Sign On implementation 4) Large migration from old Flask/Python/MySQL service --> Golang/Cassandra 5) Image processing service that handles millions of images per day Technologies I used: 1) JavaScript (some frontend, but mostly backend NodeJS) 2) Python (Flask/Tornado) 3) Golang 4) Cassandra 5) Redis Some of the services I worked on at that time handled hundreds of thousands of requests per second. After that, I switched to the Observability team in NY which is a backend infrastructure team where we handle all of Uber's metrics data. At the very edge of our infrastructure we're receiving over 500 million datapoints per second. I still work on this team and I spent the vast majority of my time developing M3DB: https://github.com/m3db/m3db which is our custom open-source time-series database that implements streaming timeseries compression similar to the Facebook guerilla paper. Technologies I used: 1) Golang 2) etcd (similar to zookeeper) 3) Cassandra 4) Redis
Python
Node.js
Flask
View more
Python
Node.js
Flask
OAuth
Redis
Cassandra
OAuth 2.0
Tornado
Goalng
View more
PROJECTS
HyperdashView Project
Self - Built it with two of my friends and we currently allow people to use it for free
2017
Hyperdash is a tool for monitoring machine learning jobs from your phone.
Hyperdash is a tool for monitoring machine learning jobs from your phone.
Python
React Native
Redux
View more
Python
React Native
Redux
Go (Golang)
View more
Uber (my employer)
2018
M3DB is an open-source time-series database that I work on at Uber where we use it to store all of our time-series metrics for monitoring...
M3DB is an open-source time-series database that I work on at Uber where we use it to store all of our time-series metrics for monitoring and alerting purposes.
Database
Go (Golang)
View more
Database
Go (Golang)
View more