My 2010 - 2019

Recently, people have been tweeting about the main events of their life during the past decade. This was an eventful decade for me, and I'd like to summarize it here. It is common for people to feel under-accomplished at work, but if you look back long enough, you see that you have actually done a bunch of things, and it makes you feel better :)

In 2010, I published the first paper about CFA2, the static analysis that later became the topic of my PhD dissertation. The paper shows that in a language with higher-order functions, you can analyze function calls and returns without loss in precision. We did that by abstracting the program as a pushdown automaton instead of as a finite-state machine. This was a neat result that surprised people in the community. Several papers have since built on CFA2.

That summer, I interned at Mozilla. This internship proved to be very important for me. First, I saw how it is to work in industry and liked it a lot. I decided that after my PhD I will go directly to industry, without applying to any academic jobs. Second, I started working on JavaScript, which later helped me get a job at Google to work on Closure Compiler. And last but not least, I made some friends who are exceptional engineers, and they helped me later on in my career.

In 2011, I won the student research competition at PLDI and published a paper at ICFP.

In 2012, I finished my PhD and started at Google on the Closure Compiler team. I worked on various things, but by far the most important one was a rewrite of the type checker. Unfortunately, the new type checker never became the default, and the team eventually decided to drop the project. However, there were some good ideas in there, and I hope to write a paper about it at some point.

During my time on the team, I thought a lot about JavaScript type systems, and optional typing more generally, and gave a talk at StrangeLoop on the topic. I also co-authored a position paper about unsound static analyses that was published at CACM.

In 2018, I started blogging, which I had wanted to do for a long time. I really enjoy this and hope to keep doing it.

At Google, I have also been learning the skills needed for a professional software engineer. Programming in industry is entirely different from programming in school, and I hope to blog about this in the future. Instead of working on your own, on a small program that you wrote from scratch, you are working with others on a giant codebase, and you wrote only a small part of the system, and there are many parts that you don't understand.

In the beginning of 2018, I started working on XLA. We write compilers for Google's machine-learning accelerators. Learning about machine learning and hardware has been a big shift for me and a fun challenge!

In the past few years, I have become interested in online education, and Khan Academy in particular. I have gone through several courses and I'm convinced that online education has a bright future. In 2019, I started volunteering on the team that translates Khan Academy content to Greek. Another topic I would like to blog about :)

As far as personal milestones go, in the past decade I got married, moved from Boston to California, and had two wonderful kids :D
I also started running, which I love. I have run several marathons and an ultra-marathon (a 50K race).

In the next decade, the plan/hope is to have fewer life changes, and to just keep doing more of what I love. Cheers!

Comments