Skip to content

ar-nelson/resume

Repository files navigation

This Markdown file is my résumé. It's generated by a Node script, using HTML+CSS and Puppeteer to print a web page as a PDF.

npm run build will generate the actual résumé at build/resume.pdf.

Adam R. Nelson

Technical Skills

I am a full-stack developer with 15 years of professional experience. My experience is primarily in Java, Scala, HTML/CSS, Typescript, Node, and React, though I have used dozens of other languages and technologies in professional, academic, and hobbyist projects. I love learning new languages and platforms, and I adapt to unfamiliar systems quickly.

Languages Frameworks Systems and Tools Misc
Java React Linux Test-driven development
Scala Angular FreeBSD Agile methods
JS/Typescript Node Docker Team lead experience
HTML/CSS/SASS Deno PostgreSQL Architecture and API design
Ruby Play/Akka MongoDB Language and compiler design
Python Spring LMDB JVM bytecode hacking
C/C++ Webpack OpenAI Open-source contributions
Haskell Express Adobe Experience Manager
Scheme Rails Mastodon/ActivityPub (RDF)
SML/HOL4 GraphQL

Professional Experience

Employer Title Date Description
Chatmeter Engineer III 2022-2024 • Wrote features and fixed bugs on a large monolithic Scala web application with a React frontend
• My team delivered several new AI features, including large-scale review summarization (with an algorithm I developed), AI review responses, and question-and-answer over a database of reviews
Simspace Senior Software Engineer 2021 • Worked on a massive React SPA for a cybersecurity training application
Wrote Typescript in a purely-functional style, using fp-ts to bring Haskell features, like monads, into Typescript
Maark Senior Web Engineer 2019-2021 • Worked with a team to build a shared library of vanilla JS and React components, Sass stylesheets, and Webpack configurations used across all sites and projects for a single client
• Developed React single-page applications with a GraphQL API backend
Some full-stack development, including writing Java Spring code for an Adobe Experience Manager backend
Cigna Software Developer 2018-2019 • As Tech Lead of a small team of four developers, played a major role in planning and developing an Angular 6 single-page application from scratch and integrating with a complex network of legacy data services
UMass Graduate Research Assistant 2014-2017 • Modeled the specification of the Mu Micro Virtual Machine, a cross-platform compile target for new programming languages similar to the JVM, in a logic programming system to prove its correctness
• Traveled to Canberra, Australia to learn logic programming in person from the maintainer of the open-source HOL4 theorem prover
Edifecs Associate Software Engineer 2012-2016 • Modernized a Java/Groovy codebase by rewriting it in Scala and replacing a homebrew messaging library with Akka
• Designed a test suite for a complex networked application involving coordinating and messaging among multiple JVM processes
• Wrote and remotely maintained an ExtJS single-page web application as the UI for an intranet system used throughout the company

Education

  1. University of Massachusetts (2014-2017)

    Master of Science, Computer Science (Programming Languages)

  2. University of Washington (2011-2014)

    Bachelor of Science, Computer Science

  3. Bridgewater College (2009-2011)

    Dual major in Computer Science and Physics

Personal Projects

Tapir (2023-present) · https://github.com/ar-nelson/tapir

A Mastodon-compatible single-user federated social microblogging server, written in Typescript for Deno. Implements ActivityPub and the Mastodon API. Due to Deno's limitations, I wrote my own database layer and dependency injection library. A rewrite in Java is in progress.


Ludwig (2023-present) · https://github.com/ar-nelson/ludwig

A Reddit-style forum server, written in C++ with LMDB and HTMX. Compatible with Lemmy, and implements the Lemmy API.


Schemepunk (2020-2021) · https://github.com/ar-nelson/schemepunk

A portable standard library for R7RS Scheme. It is compatible with 7 Scheme dialects, and implements or polyfills 27 modules, including data structures, console pretty-printing, and a Datalog engine.

While building this library, I participated in the SRFI mailing lists, a standardization process for Scheme libraries that has been ongoing since the 90s. I have authored two standards documents: SRFI 197¹ and SRFI 214².


Osmosis (2020-2021) · https://github.com/ar-nelson/osmosis-js

A peer-to-peer data synchronization library for native apps. Keeps mobile and desktop copies of an app in sync whenever they connect to the same network. Uses encryption and a custom JSON CRDT. A prototype is currently written in Node.js, but I plan to rewrite it in C.

While developing this library, I published several sublibraries³⁴⁵ as small standalone Node packages.


Jaspr (2017) · https://github.com/ar-nelson/jaspr

A new programming language implemented on top of Node.js. A Clojure-esque Lisp with immutable JSON as its core data structure. Designed with an async-by-default approach to concurrency.

About

My résumé

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published