Carson Gross /// Senior Software Engineer

Overview

I am a software developer comfortable with both front-end & back-end development. I am interested in a flexible, remote position that allows me to work on challenging problems with a solid, senior software team in a business that clearly adds societal value.

My primary technical interests are programming languages and web development, particularly hypermedia, but I’m comfortable working in most areas of enterprise systems.

Work Experience


2020 - Present

Instructor - Montana State University CS Dept.
https://www.cs.montana.edu
At Montana State, I teach the following classes:

  • CSCI 366 Systems - survey of computing: transistors, assembly, C and up virtual machines & networking

  • CSCI 440 Databases - database practice and theory

  • CSCI 468 Compilers - compilers, targeting JVM bytecode

  • ESOF 322 Software Engineering - modern software development practices (git, CI workflows, TDD, etc.)

  • CSCI 491 Advanced Web Development - hypermedia, scripting, etc.

  • Student Selected Professor of the Year - 2020, 2021, 2022

2020 - Present

Principal - Big Sky Software
https://bigsky.software
Big Sky Software provides software consulting services & open source software

April 2023 - June 2030

Fellow - Github Open Source Accelerator
https://accelerator.github.com/
Participated in the first class of Github’s new open source accelerator

2012 - 2021

CTO & Co-Founder - LeadDyno
https://leaddyno.com
Co-founded LeadDyno, an affiliate referral tracking system (acquired in 2021).

  • Full stack development

  • Designed the core data model

  • Designed the job processing model

  • Built intercooler.js for our application front end needs

2006 - 2012

Senior Staff Engineer - Guidewire Software
https://guidewire.com
At Guidewire Software I worked on Guidewire’s internal Java-based platform

  • Worked on a custom, JSF-inspired web framework (PCF)

  • Worked extensively on gosu, a byte-code compiled scripting language for Guidewire’s enterprise systems

  • Member of the technical SWAT team, brought in when a product was in trouble or had particularly challenging technical issues

  • Full-stack enterprise Java development: SQL tuning, caching, performance analysis, testing, etc.

Open Source Projects


htmx

A popular alternative front end library that uses AJAX and hypermedia to enable more sophisticated user interfaces at a fraction of the complexity of Single Page Application (SPA) libraries like React

_hyperscript

An event-oriented scripting language for web development. Built to complement htmx, and inspired by HyperTalk, the scripting language for HyperCard

idiomorph

A DOM-morphing algorithm akin to Morphdom, that uses id sets to achieve more stable DOM-morphing behavior with fewer IDs in a document. Now used by 37Signals as a core feature of Hotwire, the standard front end library for Ruby on Rails.

missing.css

A CSS framework that minimizes DOM intervention needed to achieve good styling and layout, with an emphasis on ARIA-driven styling, sponsored by Big Sky Software

intercooler.js

The predecessor to htmx

jschema

A schema mechanism for JSON

gosu

A byte-code compiled scripting language for the JVM

Skills


I am comfortable with the following:

Web & Cloud Development

I founded LeadDyno, a SaaS product, built in Ruby on Rails and deployed on AWS, with the usual back-end components: MySQL/PostGreSQL, Redis, S3, etc. I have created and maintain two alternative front end libraries, htmx and its predecessor intercooler.js. I also created an alternative front end scripting language, hyperscript

SQL & Databases

I have worked with databases for 20+ years, and I teach the database class at MSU

Java & The JVM

I worked on a JVM programming languages and teach the compilers class at MSU, which targets JVM Bytecode

Testing

I have long experience with testing, although I have a perhaps idiosyncratic take on the topic.

Software Patterns

I teach the software patterns class at MSU, including development methodologies such as agile, continuous integration, testing, etc.

Programming Languages

I have built multiple compilers and studied programming languages in graduate school.

Book


Hypermedia Systems

A self-published book co-authored with Adam Stepinski & Deniz Akşimşek that explores how to build distributed software on top of a hypermedia system like the web. The book covers the conceptual ideas of hypermedia, with a focus on the web, then shows how to use htmx and Hyperview to build Hypermedia-Driven Applications

Selected Essays


Selected Interviews & Talks


Academic Record


2004–2005

Stanford University, Masters of Science in Computer Science. Palo Alto, California
Emphasis on Programming Languages

1994–1999

University of California, Berkeley, Bachelor of Science in Industrial Engineering. Berkeley, California
Graduated With Honors
Alpha Pi Mu – Industrial Engineering Honor Society

Personal Interests


skiing, baseball, technology, economics, philosophy, comedy.