April 2020 - Present

PhD student in Computer Science | University of Cambridge

Supervising several undergraduate courses in Computer Science (since Oct 2018)

July 2018 - March 2020

Analyst (Software Developer) | Goldman Sachs

  • Re-implementing Slang (an internal language for SecDb (Securities Database), Goldman Sachs’ internal platform for pricing and risk) using GraalVM (talk at Curry On 2019).

  • Intern training: for Java 8, React/Redux, Slang/SecDb.

  • Supervising an intern project (gRPC for Slang).

  • Hiring; conducting interviews and streamlining process.

Oct 2014 - June 2018

M.Eng in Computer Science, Trinity College, University of Cambridge

Special focus on programming language semantics, compilers and application of formal methods to real-world engineering problems. Transcript is here.

June - August 2017

Intern | Arm

Formal verification of a processor component by model-checking SystemVerilog.

December 2016

Intern | Myrtle

Wrote components to simulate a Convolutional Neural Network using advanced Haskell features (meta-programming, Kinds) for checking against an implementation that was to be compiled to VHDL.

July - Septemeber 2016

Intern | Department of Computer Science, University of Cambridge

Worked on a middleware written in C for Internet-of-Things devices. Presented the work at the British Science Museum 'Our Lives in Data' late event, August 2016.

Experience

Jan 2020 Overview of Programming Language Semantics
Ten-Minute TechNet, EMEA Engineering, Goldman Sachs

Aug 2019 Metaprogramming Summer School

July 2019 Slang on GraalVM (Goldman Sachs), talk at Curry On

July 2019 NumLin, talk at ECOOP

Aug 2018 - Jan 2019 NumLin: Linear Types for Linear Algebra (paper, in ECOOP'19)

Jan 2019  Compiler Construction supplementary code for supervising

Aug 2018 - Nov 2018 Homotopy Type Theory reading group

Aug 2017 - Aug 2018 ATypical CompSci (educational YouTube channel)

July 2018 DeepSpec Summer School

June 2017 - June 2018 Mentor for CoderDojo, Cambridge

Jan 2018 - Apr 2018 Advanced Functional Programming (Master's module)

Oct 2017 - June 2018 Linear Types for Linear Algebra (Master's thesis)

Dec 2017 - Jan 2018 Safepoints in OCaml

A mini-project for Modern Compiler Design (Master's module)

Sep 2017 - Dec 2017 Isabelle/HOL (Master's module)

Oct 2016 - May 2017 Coq4j (Bachelor's project)
Analysing dependencies of Coq libraries using Neo4j and igraph.

Sep 2016 Linear Algebra, Denotational Semantics (preparation)

 

Aug 2016 Certified Programming with Dependent Types (Adam Chlipala)

Chapters 1-4

 

July 2016 Type-Driven Development with Idris (Edwin Brady)

Chapters 1-10

 

June 2016 Purely Functional Data Structures (Chris Okasaki)

 

Mar 2016 Mori, a distributed video-editing server architecture in C++

(Bachelor's group project)

 

Feb 2016 Compiler Construction extensions

 

Nov 2015 - Feb 2016 Etch-a-sketch on YARVI (RISC-V FPGA implementation)

 

Oct - Nov 2015 Chat client with concurrency (Java coursework)

 

Sep 2015 Learn C the Hard Way (Zed Shaw)

Chapters 1-25

 

Sep 2015 PROLOG: Programming for AI (Ivan Bratko)

Chapters 1-9, 14

 

Aug 2015 Java: How to Program (Deitel & Deitel)

Chapters 1-23

 

July 2015 ML for the Working Programmer (LC Paulson)

Chapters 1-8

 

Nov - Dec 2014 Conway's Game of Life in Java (from command-line to GUI)

(Java coursework)

 

Oct 2014 Standard ML coursework

Projects

  • medium
  • GitHub-Mark-120px-plus

©2020 Dhruv Makwana