diff options
Diffstat (limited to 'users/grfn/resume/resume.tex')
-rw-r--r-- | users/grfn/resume/resume.tex | 252 |
1 files changed, 0 insertions, 252 deletions
diff --git a/users/grfn/resume/resume.tex b/users/grfn/resume/resume.tex deleted file mode 100644 index fb226c4ddffc..000000000000 --- a/users/grfn/resume/resume.tex +++ /dev/null @@ -1,252 +0,0 @@ -%% 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: |