Mark Cohen

I am a generalist software engineer with particular expertise in web development and language standards.


I firmly believe that it is impossible for technology to be neutral or apolitical; the conditions of society and of the workplace are written into the systems we build and the ways we interact. As an engineer, it is my responsibility to ensure that the systems I build cannot be weaponized to do harm. Similarly, it is incumbent on me to actively uplift those whom the status quo marginalizes and oppresses, be they coworkers or users. These principles are inviolable and take absolute precedence in all cases.


I approach every endeavor with compassion and trust. Understanding and focusing on these emotional states allows me to be a better teammate and deliver better work.

I am a natural collaborator. I excel in group environments, and I work to improve the space for other participants. This pays dividends not just in engineering contexts, but also in contexts of advocacy and allyship.

I have cultivated a healthy formal rigor that allows me to efficiently analyze and correctly model complex systems. While very powerful, this perspective must be tempered with pragmatism, and I constantly strive to strike this balance.


Ecma TC39 - Delegate

October 2019 - Present

I am currently serving as a co-champion for the pattern matching proposal, where I am designing the proposal's syntax and semantics as well as drafting its specification text. I have received consistent and widespread gratitude from other delegates and committee chairs for elevating the quality of plenary notes.

Slack - Software Engineer - Desktop Foundations

Coming soon!

PayPal - Software Engineer - Checkout Integrations

August 2020 - December 2020

I worked on a React component library to improve the ease of integrating with PayPal's smart payment buttons in React apps. I also worked on adding Apple Pay to the PayPal JavaScript SDK.

Braintree - Software Engineer - Team Panels

June 2018 - August 2018 (Intern), August 2019 - July 2020

I designed and built a React component library and accompanying Redux flow for internationalizing the new merchant control panel. In parallel, I spearheaded the creation of a cross-organization pipeline for converting English design copy into a set of localized string bundles.

I implemented a continuous delivery process for the new merchant control panel, as well as the other invisible applications owned by the team. I built a type-safe data model for the new frontend disputes view, and in the process uncovered deeper inconsistencies in adjacent models. I led an effort to scrub our documentation of racist whitelist / blacklist terminology.

University of Chicago - Bachelor's Thesis

January 2019 - June 2019

I built a type-sound, purely functional programming language capable of imperative-style iteration, through the use of type classes and associated types. The work culminated in a formal analysis of the language and a proof-of-concept interpreter, and was presented to an audience of Department of Computer Science students and professors. I also discovered and rectified an incompleteness in the type inference algorithm in Wadler & Blott's seminal presentation of type classes.

Advisor: Adam Shaw

University of Chicago - Teaching Assistant

January 2018 - June 2019

I served as a teaching assistant under Borja Sotomayor for the inaugural offerings of Introduction to Software Engineering, where I acted as an architect / tech lead to agile student teams as they developed major pieces of software. In 2018, teams developed a library for prefix trees in Redis, and an accompanying suite of applications. In 2019, teams developed interlocking components of a text adventure game engine.

I also staffed two quarters of Networks and one quarter of Computer Science with Applications, where I held office hours for students, supervised undergraduate graders, and helped overhaul course projects.

Keybase - Software Engineering Intern - Core Team

June 2017 - September 2017

I wrote a standard implementation of the SaltPack 1.0 message encryption format and associated libraries for stream encoding and stream chunking.


I graduated from the University of Chicago in June 2019 with a bachelor's degree in Computer Science. Below is a selection of particularly important courses that I took during my time there.

Lightning round: Honors Theory of Algorithms, Honors Discrete Math, Abstract Linear Algebra, Operating Systems, Databases.