chrisrzhou / dev-2020

My developer journey leading up to 2020

Home Page:https://dev-2020.chrisrzhou.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A resume of sorts, but mostly a writeup that will be committed as a checkpoint in my journey as a developer.


Table of Contents

tl;dr

Scope

What data I cannot render, I do not understand.

With my projects, I try to manage or reduce the entropy of the problem space, and not add to it.

Values

I value specs/schema-driven development. A problem can only be solved if its boundaries can be well described.

I value working with people more than working on problems. Human problems can only be solved by people working together.

I value learning, and respect the idea that everyone is both the teacher and the student. From experience, real progress is rapidly achieved when everyone is able to learn and evolve a system together.

Beliefs

I believe the cost of software development will eventually approach zero. Therefore, I prioritize building cheap interfaces that are easy to understand/use/refactor/compose/deprecate.

I believe that a progressively fair world can only be achieved if tooling, knowledge, sharing, and learning is increasingly made open.

Projects

Active

  • unified-doc: A unified way to work with all kinds of documents.
  • tdast: abstract syntax tree spec and utilities for working with tabular data.
  • react-globe: react + three globe component.
  • react-wordcloud: react + d3 wordcloud component.

Planned

  • surveyless: JAMStack serverless survey app
  • unidash: JAMStack visualization app
  • geneticjs: JAMStack application to setup, run and visualize genetic algorithms.
  • ???: open up scientific knowledge locked behind journals.

Archived

  • google-globe-trends: JAMstack application to easily render globe visualizations based on Google Trends using react-globe.
  • wordcloud-generator: create and share wordclouds. Built using react-wordcloud and unified-doc.
  • three-glow-mesh: create glow mesh with any three geometry
  • qraffiti: fun app to generate creative QR codes.
  • gists: My beginning journey into JS and dataviz.

Tools

I am open to using any tools in the problem space.

Using

d3, docz, gatsby, git, graphql, lerna, md, mdx, microbundle, react, redux, netlify, theme-ui, three, typescript, xo, unified

Used

flow, r, py, sql

Interests

Things that I never stopped working or caring about:

Influencers

These people and initiatives heavily influence how I learn and approach problems:

People

Initiatives

Experience

A resume of my job experience, with personal developments external to work highlighted in blockquotes.

Frontend Engineer, Evisort

Feb 2020 - Present

Built UIs relevant for contract management and integration with NLP/ML pipelines. Bootstrapped and scaled out a design system with progressive documentation.

Dived deeper into the document/content/knowledge domain area. Researched and used unified to ship the unified-doc open-source project which provides a unified set of document APIs to solve similar problems across document formats.

Frontend Engineer, Roam Analytics

Jun 2019 - Feb 2020

Built innovative and novel UIs that empower human workflows in NLP/ML pipelines (annotations, search, highlight). Bootstrapped and scaled out a design system with progressive documentation.

This was the start of my interest in the document/content/knowledge domain area. At this point, I am fairly fluent with rapid and cheap UI development, design systems, and progressive documentation.

Data UI Engineer, Facebook

May 2015 - Jun 2019

During my time at Facebook, I designed and shipped multiple data UI products.

  • Rabbit: Tableau-like data exploration, visualization and dashboarding tool built in react + redux.
  • Survey Insights: Visualization and insights dashboard capable of analyzing survey results from third-party sources (e.g. Qualtrics). Built in react + redux + graphql.
  • fbFiddle: Facebook JS fiddle supporting internal JS modules.
  • Various data UIs and visualization components.

I kept exploring simpler and open approaches of the problems I faced at work. react-globe, react-wordcloud were direct formalizations of some work I did at Facebook. Learned about JAMStack and migrated personal projects onto Netlify/Gatsby!

Business Intelligence Analyst, NRG Energy

Apr 2011 - May 2015

Self-taught r, py, sql, vba, js, d3 to automate traditional marketing reports managed in Excel.

Unknowingly, my interests and work were already JAMstack-focused (despite the term not being official yet). These pet projects were all statically built when I was just learning js and d3: https://bl.ocks.org/chrisrzhou

Education

B. in Physics & Mathematics, Rice University

2006 - 2009

About

My developer journey leading up to 2020

https://dev-2020.chrisrzhou.io/

License:MIT License


Languages

Language:JavaScript 97.6%Language:CSS 2.4%