about summary refs log tree commit diff
path: root/users/aspen/resume/resume.tex
diff options
context:
space:
mode:
Diffstat (limited to 'users/aspen/resume/resume.tex')
-rw-r--r--users/aspen/resume/resume.tex252
1 files changed, 252 insertions, 0 deletions
diff --git a/users/aspen/resume/resume.tex b/users/aspen/resume/resume.tex
new file mode 100644
index 0000000000..fb226c4ddf
--- /dev/null
+++ b/users/aspen/resume/resume.tex
@@ -0,0 +1,252 @@
+%% start of file `template.tex'.
+%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com).
+%% Copyright 2014-2023 Griffin Smith (root@gws.fyi).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+
+
+\documentclass[10pt,a4paper,sans]{moderncv}        % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
+
+\usepackage[inline]{enumitem}
+
+
+% moderncv themes
+% style options are 'casual' (default), 'classic', 'oldstyle' and 'banking'
+\moderncvstyle{casual}
+% color options 'blue' (default), 'orange', 'green', 'red', 'purple', 'grey' and 'black'
+\moderncvcolor{black}
+% to set the default font; use '\sfdefault' for the default sans serif font,
+% '\rmdefault' for the default roman one, or any tex font name
+%\renewcommand{\familydefault}{\sfdefault}
+\nopagenumbers{}
+
+\usepackage[utf8]{inputenc}
+
+\usepackage[scale=0.8, margin=0.65in]{geometry}
+\setlength{\hintscolumnwidth}{2.6cm}
+
+\name{Aspen}{Smith}
+\pronouns{she/her}
+\title{Software Engineer}
+\phone[mobile]{(720) 206-7218}
+\email{aspen@gws.fyi}
+\homepage{gws.fyi}
+\extrainfo{she/her}
+
+
+\begin{document}
+\makecvtitle{}
+\section{Skills}
+\cvitem{Rust}{Expertise in high-performance, low latency, low-level systems
+development with Rust, including everything from fundamental data structure
+implementation to asynchronous distributed systems development}
+\cvitem{Clojure}{Extensive experience architecting, deploying, and building
+complex web applications in Clojure and Clojurescript, with a focus on
+Re-Frame and Reagent. Experience testing distributed systems in Clojure using
+Jepsen.}
+\cvitem{Haskell}{Passionate love for pure functional programming as a hobbyist
+pursuit, but also practical experience building production systems in Haskell at
+scale, and using Haskell's advanced type system extensions where appropriate to
+deliver increased ergonomics and safety.}
+\cvitem{Nix}{Experience with adopting and teaching nix at scale in a production
+stack both for local development dependencies and for configuring and building
+production software. Core contributer to a fork of the nix implementation itself
+(tvix) aimed at providing increased safety, performance, and flexibility.}
+\cvitem{Unix/Linux}{Experience with administrating highly available distributed
+systems. Passion for the Unix philosophy of discrete, composable units of
+functionality.}
+\cvitem{Ruby}{Experience building both full-stack applications with Ruby on
+Rails in addition to smaller microservices and custom frameworks. Deep
+understanding of the internals of the Ruby interpreter and object system.}
+\cvitem{Javascript}{Experience developing real-time responsive single-page web
+applications using React, in addition to significant contributions to the React
+open-source community.}
+\cvitem{SQL}{Deep understanding of relational databases as an
+implementer, in the context of an innovative new database implementing a query
+planner and incremental materialization for the PostgreSQL and MySQL dialects of
+SQL from the ground up -- and of course also a user}
+
+\subsection{Additional Tools}
+\cvitem{}{\footnotesize
+    \begin{itemize*}
+        \item Vim
+        \item Emacs (yes, also)
+        \item Kubernetes
+        \item Git
+        \item Terraform
+        \item AWS
+        \item GCP
+        \item Datomic
+        \item Elasticsearch
+        \item Redis
+        \item Docker
+        \item Java
+        \item Scala
+        \item QuickCheck (and similar tools)
+        \item Jepsen
+        \item Python
+        \item Elixir
+    \end{itemize*}
+    \newline
+    \textbf{Novice Level:}
+    \begin{itemize*}
+        \item C++
+        \item Erlang
+        \item Prolog
+        \item Idris
+        \item Agda
+        \item Tensorflow
+    \end{itemize*}}
+
+\section{Experience}
+\cventry{2020--2023}{Staff Software Engineer}{ReadySet}{Remote}{}
+{Founding engineer at a startup bringing a high performance
+  partially-stateful, incrementally-maintained SQL database based on the Noria
+  thesis to market
+  \begin{itemize}
+    \item Served as the main technical leadership for the project throughout its
+          maturation from a research codebase to a production-grade system
+    \item Extended the Noria PhD thesis by implementing methods from multiple
+          research papers, masters theses, and other papers from database
+          research, in addition to original database research and development.
+    \item Invented or helped develop multiple novel database techniques in
+          partially materialized dataflow, including index planning and
+          selection, pagination, post-lookup aggregate processing, partial
+          ``straddled'' joins, weak indexes for correct execution of partial
+          joins, and more.
+    \item Invented novel ways to test SQL databases, including a new deterministic
+          generator for SQL queries.
+    \item Developed the clustered high availability distributed runtime mode from
+          a buggy research feature into a production ready distributed system
+          that passed a suite of Jepsen tests.
+    \item Implemented a significant fraction of the SQL query planner, which
+          required both implementing algorithms specified in database research
+          papers and inventing new techniques to work around the limitations of
+          partially materialized dataflow
+    \item Optimized critical components of the code base, including algorithmic
+          optimizations, CPU cache analysis, low-level data structures, and
+          broad system runtime analysis
+    \item Implemented a type inference engine and expression evaluator that
+          supported multiple dialects of SQL configured at compile-time, with
+          maximum code reuse while preserving maintainability
+    \item Mentored multiple junior and senior engineers
+    \item Open-Source contributions visible at
+          \url{https://github.com/readysettech/readyset/commits?author=glittershark}
+  \end{itemize}}
+\cventry{2019--2020}{Engineering Manager}{Urbint}{New York, NY}{}
+{\begin{itemize}
+   \item Lead of the platform team with two direct reports - a senior SRE and
+     a senior software engineer.
+   \item Performed user research on developers, project managers, product
+     managers, and other internal stakeholders to build the roadmap for the
+     platform team.
+   \item Built and maintained a system to deploy one-off full stack
+     application instances from pull requests to enable easier testing.
+   \item Led a large, multi-project migration between CI systems that resulted
+     in a decrease of average build times from 2 hours to less than 10 minutes.
+   \item Maintained and extended Nix-based build and development
+     infrastructure for both software engineers and machine learning engineers.
+ \end{itemize}}
+\cventry{2018--2019}{Senior Software Engineer}{Urbint}{New York, NY}{}
+{\begin{itemize}
+   \item Built, trained, and maintained a large, deep-learning-based
+     image-detection model for semi-automated (human-in-the-loop) video
+     classification.
+   \item Designed, built, and maintained a novel in-house tool for collection of
+     training data.
+   \item Maintained and guaranteed reliability of a large data pipeline for
+     video processing and classification.
+ \end{itemize}}
+\cventry{2017--2018}{Senior Software Engineer}{Urbint}{New York, NY}{}
+{\begin{itemize}
+   \item Integral in the architecture of a novel, serializable ACID
+     transactional graph database built on RocksDB, first in Elixir then in
+     Haskell.
+   \item Helped ship customer deliverables involving multi-day data
+     processing jobs for disparate data sources.
+   \item Instructed other developers in the use of and theory behind Haskell
+   \item Brought computational graph theory to bear on the problem of unifying
+     disparate, highly heterogeneous data sources across the world of open data.
+ \end{itemize}}
+\cventry{2016--2017}{Senior Software Engineer}{SecurityScorecard, Inc.}{New York, NY}{}
+{Lead frontend developer for a rapidly-moving and growing security software startup.
+  \begin{itemize}
+    \item Took part in collaborative product design meetings to make UX
+      tradeoffs with product designers and managers.
+    \item Drove application architecture for a large, complex, data-driven frontend
+      application.
+    \item Championed increased use of production monitoring and alerting.
+    \item Worked with business stakeholders to set long- and short-term priorities for
+      application development.
+    \item Mentored junior team members.
+  \end{itemize}}
+\cventry{2015--2016}{Lead Developer}{Nomi, Inc.}{New York, NY}{}
+{Lead web services developer transitioning to a full-stack role implementing
+  shared software components and architecting a large, complex microservices
+  application ingesting hundreds of gigabytes of IoT data per week.
+  \begin{itemize}
+    \item Lead application architecture of the majority of the backend services to
+      encourage consistent REST API design and code sharing.
+    \item Championed the use of Haskell for rapid, safe development of the API Gateway
+      service.
+    \item Took ownership of operations and server maintenance of a >100-instance AWS
+      account using Puppet.
+  \end{itemize}}
+\cventry{2014--2015}{Lead Developer}{LandlordsNY, LLC}{New York, NY}{}
+{Sole engineer for a small startup connecting landlords and property managers and
+  facilitating the online sharing of information in a historically technology-averse
+  industry.
+  \begin{itemize}
+    \item Drove product design, visual design, and UX architecture for a major revamping
+      of the core product.
+    \item Interfaced with customers to set priorities for new feature development.
+    \item Conducted hiring and recruiting to build out an engineering team.
+  \end{itemize}}
+\cventry{2012--2014}{Associate Developer}{Visionlink Inc.}{Boulder, CO}{}
+{Integral member of an agile development team building the nation's most-used Information
+  and Referral platform for organizations such as United Way Worldwide and the American Red
+  Cross.
+  \begin{itemize}
+    \item Refactored and revamped legacy code to increase performance and long-term
+      maintainablity.
+    \item Worked on several triage-teams to rapidly fix production bugs with strict deadlines.
+    \item Built a complex, yet highly-performant tool for searching human services by category.
+    \item Acted as a core designer and developer of a major product revamp.
+      \begin{itemize}
+        \item Drove a complete rethinking of the data model in the product, leading to greater
+          unification, simplicity, and consistency;
+        \item Championed the adoption of a test-driven-development model;
+        \item Drove product documentation and code standardization.
+      \end{itemize}
+  \end{itemize}}
+
+\section{Project Highlights}
+\newcommand{\project}[3]{\item \textbf{#1} -- \textit{#2}\newline{}#3}
+\cvitem{}{
+  \begin{itemize}
+    \project{How much does Rust's bounds checking actually cost?}
+    {\url{https://blog.readyset.io/bounds-checks/}}{Blog post providing a deep
+        evaluation of the runtime cost of bounds checking in safe languages like Rust.
+        Front page of Hacker News, doubled month-over-month ReadySet waitlist signups}
+    \project{Tvix}{\url{https://cs.tvl.fyi/depot/-/blob/third\_party/nix/README.md}}{
+        Fork of the Nix build tool delivering increased reliability, code
+        quality, and pluggability}
+    \project{Panettone}{\url{https://cs.tvl.fyi/depot/-/tree/web/panettone}}{
+        Aggressively simple bug-tracker developed in Common Lisp for the community
+        involved in the development of Tvix. Hosted at https://b.tvl.fyi}
+    \project{Org-Clubhouse}{\url{https://github.com/glittershark/org-clubhouse}}{
+        Emacs library for integration between org-mode and the Clubhouse issue
+        tracker}
+    \project{Github Bug Bounty}{\url{https://bounty.github.com/researchers/glittershark.html}}{
+        Discovered and responsibly disclosed a persistent XSS on Github's main
+        website}
+    \project{core-async-storage}{\url{https://github.com/glittershark/core-async-storage}}{
+        Simple Clojurescript wrapper around React Native's AsyncStorage using
+        core.async}
+  \end{itemize}
+}
+
+\end{document}
+% vim: set tw=95 colorcolumn=-1: