Spencer Park

Senior Software Development Engineer at Esri

Redlands, California, United States
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts

Summary

🤩
Rockstar
🎓
Top School
Spencer Park is a Senior Software Development Engineer with a decade of experience building developer tooling and interactive computing platforms, currently based in Redlands, CA and working at Esri. He blends backend systems expertise with practical language-kernel work—contributing to Jupyter kernels for Java and Go where he improved error handling, messaging, streaming, and dependency magics to streamline developer workflows. His background includes research and teaching roles at McMaster University, where he built Haskell-based web frontends and embedded verification tools in Jupyter, reflecting a strong mix of PL/compiler knowledge and full-stack implementation. Comfortable across Python, TypeScript/React, Haskell, Java and Go, he combines academic rigor with production-focused engineering and a knack for turning research prototypes into robust developer experiences.
code10 years of coding experience
job1 year of employment as a software developer
bookBachelor of Engineering - BE, Software Engineering, Bachelor of Engineering - BE, Software Engineering at McMaster University
stackoverflow-logo

Stackoverflow

Stats
3,458reputation
138kreached
77answers
0questions
Badges
typescript
top-5%
github-logo-circle

Github Skills (20)

zeromq10
jupyter10
java10
kernel10
javas10
go10
golang10
jupyter-notebook10
apidoc9
typescript9
api9
error-handling9
maven9
gitlab6
rust6

Programming languages (13)

JavaC++WebAssemblyGoGroovyJupyter NotebookKotlinTypeScript

Github contributions (5)

github-logo-circle
SpencerPark/IJava

Sep 2017 - Sep 2020

A Jupyter kernel for executing Java code.
Role in this project:
userBackend Developer
Contributions:5 releases, 90 commits, 7 PRs in 3 years
Contributions summary:Spencer primarily contributed to improving the ijava kernel's functionality and error handling. Their work involved refining error messages within the Java code, cleaning up code, and fixing off-by-one errors. They also implemented support for specifying VM and compiler arguments, along with introducing magics support, including the incorporation of maven dependency management, to streamline the user's development workflow.
kernelapljvm-bytecodejava-bytecodejvm
gopherdata/gophernotes

Aug 2017 - Aug 2018

The Go kernel for Jupyter notebooks and nteract.
Role in this project:
userBack-end Developer
Contributions:28 commits, 16 PRs, 2 pushes in 11 months
Contributions summary:Spencer primarily focused on improving the Go kernel for Jupyter notebooks by updating the messages to the 5.0 specification. They refactored and cleaned up the messages interface and added versioning and timestamp information to the messages. Additionally, they incorporated features such as the implementation of stdout/stderr streaming and implemented the inclusion of error handling related to panics.
golangkernelnteractzeromqdata-science
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.
Request Free Trial