Alexander Bandukwala

  • Home
  • About
  • Tags
  • CV

Curriculum Vitae

Summary

Ph.D. candidate in Computer Science at the University of Michigan researching live programming languages and their application to malleable software. Particularly interested in utilizing the intersection of Programming Language Theory and Human-Computer Interaction to make the power of computing better for everyone. Previously a professional software engineer for over a decade.

Employment

Graduate Researcher, University of Michigan (Future of Programming Lab)

September 2024-Present

Senior Software Engineer, DRW Holdings (Reference Data)

April 2020-June 2024

Software Engineer, DRW Holdings (Market Data)

May 2017-April 2020

Senior Software Engineer, OneMain Financial

November 2014-March 2017

Software Engineer, Telnyx

July 2013-November 2014

Education

University of Michigan, Ph.D. Candidate, Computer Science, 2026-Present
University of Michigan, Ph.D. Student, Computer Science, 2024-2026
Georgia Institute of Technology, M.S., Computer Science, 2016-2017, GPA 3.8
University of Louisiana at Lafayette, B.S., Computer Science, 2009-2013
University of Louisiana at Lafayette, B.S., Mathematics, 2009-2013
Louisiana School for Math, Sciences and the Arts, High School, 2009

Publications

Talks

Open Source

hazelgrove/hazel

Longtime contributor to Hazel, a live functional programming environment with typed holes. Built property-based testing for type preservation, added a command line interface for running Hazel programs, and maintain the project's CI, coverage and build tooling.

palatable/lambda

Longtime contributor to a functional patterns library for Java. Fixed fusion and fold bugs and added new functionality. Active in the support chat teaching functional programming to new users.

JSON Structure Editor

An experimental structure editor for JSON in TypeScript and React, exploring structured editing as an interface for working with data. Live demo.

Skills

Languages

Proficient: OCaml/Reason, Python, Java 8+, Ruby, SQL
Intermediate: Clojure, Haskell, JavaScript/TypeScript, C++
Beginner: Prolog, LaTeX

Technologies

Docker, Kubernetes, Ansible
Git, Linux, GraphQL, RabbitMQ, Redis

Communities

Malleable Systems Collective: Catalog Curator for community looking into research/techniques of ways to make computing more malleable and accessible to a wider range of audiences.