Neal Gafter Computer 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, 2020Jan, 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, 2008Sep, 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, 2004Sep, 2008) at Google, Mountain View
    Designed and implemented the distributed storage architecture for Google Calendar.
  • Software Engineer (Jun, 1994Jul, 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, 1985Jan, 1990) from University of Rochester, Rochester, NY

Fee details

    US$25/hour (US$25/hour)


Reviews

No reviews yet. Be the first one to review this tutor.