Alex Rudnick • The Bay Area, California

Interests: Machine translation, human languages, natural language processing, education, open source, machine learning. Improving human language technology for under-served language communities by broadening participation in building those technologies.


Fall 2009 — Fall 2018

PhD, Computer Science; Indiana University (Bloomington, IN)

Thesis title: Cross-Lingual Word Sense Disambiguation for Low-Resource Hybrid Machine Translation
Research committee: Michael Gasser (co-chair), Sandra Kübler (co-chair), Markus Dickinson, David Crandall, John DeNero.
Minor: Computational Linguistics

Fall 2005 — Spring 2007
MS, Computer Science; Georgia Institute of Technology (Atlanta, GA).
Fall 2001 — Spring 2005
BS, Computer Science; Georgia Institute of Technology (Atlanta, GA). High honors.

Professional Experience

2014-09 — 2020-08
Software Engineer: Google Translate. Mountain View, CA. Worked on several different pieces of Google Translate, including reducing gender bias in translations by providing multiple translation options, translation quality evaluation, transliteration, training data quality estimation, and the translation of numbers, measurements and other known entities, among other miscellaneous projects. Hosted interns and formally mentored other interns. Helped teach machine learning for visiting undergraduates.
2007-07 — 2009-07
Software Engineer: Google Web Toolkit. Atlanta, GA. With the Google Web Toolkit team, built UI components as well as internationalization and accessibility features for GWT. Implemented a new online documentation browser for Google Code project hosting, which was used for the GWT 1.5 documentation. Helped build and launch the Google Plugin for Eclipse, which make it easier for Java developers to use GWT and Google App Engine. Answered questions from the developer community and built helpful samples in Java and Scala.


Summer 2012
Software Engineering Intern: Google Translate. Mountain View, CA. Worked on the language identification system in the pipeline for training large language models from the web, so that the text in any given web page can be used to train the appropriate language model.
Summer 2011
Software Engineering Intern: Google Translate. Mountain View, CA. Developed Google Translate's phrase-sense disambiguation system, which was used to help the translation system pick contextually appropriate words and phrases. Also, with John DeNero, helped develop curriculum for a new introductory CS class at Berkeley.
Summer 2010
Software Engineering Intern: Google Research. New York, NY. Speech team at Google Research. Parallelized code to build finite-state transducers, using MapReduce in C++. Made small patches to OpenFST. Investigated integrating models of phoneme durations with the current weighted-FST based software. Applied speech recognition software to the problem of music identification.


as course instructor

Spring 2019
Google Tech Exchange: Machine Learning. Co-taught an introductory class about machine learning for undergraduates from HBCUs and HSIs on the Google campus. With Olumide Malomo and Sally Goldman.
Fall 2012
B490: Natural Language Processing, Indiana University. Taught a special topics course on Natural Language Processing for about thirty undergraduates at Indiana University. Covered basic ideas from linguistics and machine learning, sequence models and tagging, context-free grammars and parsing. Gave overviews of speech recognition and machine translation.

as a teaching assistant

Fall 2018
Google Tech Exchange: Machine Learning
Helped run a class on machine learning for undergraduates from HBCUs and HSIs at Google.
Spring 2013
B553: Probabilistic Graphical Models, Indiana University
David Crandall’s class on probabilistic graphical models, covering Bayes Networks, Markov Networks, exact and approximate inference, with applications from computer vision and NLP.
Fall 2010
B651: Natural Language Processing, Indiana University.
Michael Gasser’s introductory NLP course; wrote new homework assignments, introduced the ideas behind automatic speech recognition and grammar extraction.
Fall 2009, Spring 2010, Spring 2011
C211: Introduction to Computer Science, Indiana University.
Indiana University’s introduction class, focusing on functional programming in Scheme. Also wrote class infrastructure software for assigning lab partners and running a student programming contest.
Spring 2003, Fall 2003, Spring 2004
CS2130: Languages and Translation, Georgia Tech.
Georgia Tech’s course covering C programming and basic ideas behind compilers. Wrote new assignments and automatic grading programs.

other teaching

Recurse Center (formerly known as Hacker School). Hacker in Residence. Met with Recurse Center students, had discussions and pair programming sessions on their projects, and gave talks and workshops about NLP.
Summers 2005, 2006, 2007.
Institute for Computing Education, Georgia Tech. Media Computation summer camp at Georgia Tech. Taught high- and middle-school students media concepts and basic programming with Python, Alice, and Scratch. Had fun adventures around campus. For Summer 2006, helped teach Media Computation workshops for high school computer science teachers.

Publications, tech reports, and workshop presentations

Professional service and Open Source contributions


Other research experience • The Bay Area, California