Following details will be shared with the tutors you will contact:
Confirm to delete
Are you sure want to delete this?
Neal GafterComputer Science
No reviews yet
I know data structures and algorithms. You'll find my name as an @author at the top of the source file for many of Java's core data structures and algorithms. I can teach analysis of algorithms.
I know compilers and programming languages. I've participated in the design of the programming language for C++, Java, C#, and others. I've developed commercial compilers for C, C++, Java, and C# among others. I'm fluent in these languages and can help you learn them.
I know what it takes to get into the top companies. I've worked at Microsoft, Google, and Facebook, and I've been an interviewer for them as well. I can help you prepare for your interview.
I can teach. I have a PhD in Computer Science, and have taught graduate-level students. I can give you custom problem sets or help you work through the problems you have. I am a native English speaker.
Subjects
C/C++ Beginner-Expert
JAVA Beginner-Expert
Computer Science Beginner-Expert
Compiler Beginner-Expert
Analysis of algorithms Beginner-Expert
Principles of programming languages Beginner-Expert
JAVA (Core) Beginner-Expert
Formal Languages and Automata Theory Beginner-Expert
C# langauge Beginner-Expert
Compilers Beginner-Expert
Programming languages and compilers Beginner-Expert
Data Structure and Algorithms Beginner-Expert
Java Data Structures Beginner-Expert
C / C++ & Data Structures Beginner-Expert
Experience
Software Engineer (Sep, 2020–Jan, 2023) at Facebook, Menlo Park
(March – November 2022) Participated in the development of a Probabilistic Programming Language, Bean Machine. Rewrote the execution (inference) engine from scratch, achieving a 40% performance speedup with significantly less code (by tracing the automatically differentiated evaluation and optimizing the resulting symbolic form). See beanmachine.org.
(September 2020 – March 2022) Developed a Differentiable Programming framework for efficiently and automatically computing the derivatives of functions expressed in Kotlin, for use in Machine Learning, physics simulations, and other applications. See diffkt.org.
Software Engineer (Sep, 2008–Sep, 2020) at Microsoft, Redmond
Working with a team of compiler developers, rewrote the C# and VB.NET compilers from scratch as part of the Roslyn project. Designed and implemented a number of novel language features, including asynchronous programming and pattern-matching.
Software Engineer (Jul, 2004–Sep, 2008) at Google, Mountain View
Designed and implemented the distributed storage architecture for Google Calendar.
Software Engineer (Jun, 1994–Jul, 2004) at Sun Microsystems
Participated in the design and development of several research and production programming languages, including C, C++, and Java. Participated in the ANSI/ISO C++ standards effort. I was the primary designer and developer for Sun’s Java Programming Language compiler, language, and related tools from 2000-2004. Added many language features, including annotations and generics.
Education
Doctor of Philosophy (Jan, 1985–Jan, 1990) from University of Rochester, Rochester, NY