About me

Amin Shali

amshali at google mail dot com
Software Engineer, Google Inc., 2012 – now
Github – LinkedInG+TwitterScholar – Wikipedia

me_armanI am an enthusiastic (software) engineer with passion to learn and build new things. Currently, I work at Google in ads infrastructure. I am passionate about computer science and in particular programming languages and machine learning.

I have done extensive backend and frontend work and I would say that I am a full stack developer:

  • Developing Backend APIs in C++ and Java
  • Working with MapReduce systems
  • Working with Databases such as MySQL, MongoDB, Google’s BigTable and Dremel
  • Developing HTTP server to serve APIs in C++
  • Developing frontend using JavaScript, CSS and HTML
  • Developing HTTP server in NodeJS
  • Experience with (Google’s) Cloud infrastructure
  • Mobile development(Android)

Familiarity with various programming languages is a must for a well rounded software engineer. Hence, I am familiar and experienced with languages such as Java, C++, JavaScript, Python, SQL and Shell. I can list more than 10 other languages that I have programmed in before, but not anymore(such as Haskell, Ocaml, MATLAB, Octave and Scala). Learning and programming in new languages is a joy for me.

I am also well experienced with release management, bug triaging, code review process, and distributed version control systems such as git. I have successfully hosted three interns during my career so far. I work well with my teammates and other teams to reach the goals that are set for us and company.

And… Linux is the only operating system I use for everything computing.

Education

  • Master of Computer Science – University of Texas at Austin
    • Focus on programming languages, formal methods, and model checking of actor-based systems(this was also my focus during my bachelor degree).
  • Master of Artificial Intelligence – Iran University of Science and Technology
    • Focus on genetic algorithm, various machine learning techniques, and cooperation in multi-agent systems.
  • Bachelor of Software Engineering – University of Tehran

Publications

See: Amin Shali DBLP

Selected Work Experience

  • Full-time software engineer at Google, 2012 – now
    • Working on Ads Infrastructure
    • Launched App Engine Codiad, a cloud based IDE.
    • Created a Java kernel for IPython.
    • Improved error-prone
    • Added a number of analyzers to tricorder
    • Worked on Grok. Grok or Kythe (its open source name) is a language agnostic system for program analysis and a platform for building tools that work with code. For more information see:
  • Software engineer intern at Google, 2011
    • Worked on Dart language
  • Software engineer intern at Microsoft, 2011
    • Worked on TFS
  • Teaching at University of Texas at Austin, 2009 – 2012
    • Teaching programming languages and software engineering
  • Research assistant at University of Texas at Austin, 2009 – 2012
    • Worked on partial evaluation of object oriented languages
  • Teaching at University of Illinois at Urbana Champaign, 2008
    • Teaching assistant for Data Structures(CS225)
  • Software engineer at ObjectJ, 2003 – 2004
    • Worked on a Learning Management System
  • Software engineer at Paya Software, 2002
    • Worked on an OCR for Persian handwritten letters and digits

Certificates

Machine Learning
Coursera Course Certificates, License ZLYBQBM63TVR
February 2016 – Present

Patents

Method for modeling source code having code segments that lack source location
United States US 13/760,641
Issued February 2013
A system and method for modeling code segments that do not have a location is disclosed.

Honors & Awards

Best Student Paper Award
OOPSLA, October 2011

Programming Skills

Proficient in: Java, C++, JavaScript(NodeJS), Shell, Python, SQL

Programmed in: Haskell, OCaml, C#, Octave, Scala, Scheme, Go, PHP

Projects