2010–2011 (Year 0)

I had just switched my major at Cal Poly State University from computer science to math. I wanted to double major but California was in a budget crisis and a few weeks before I tried submitting my double-major request the Provost for the CSU system put a blanket ban on double majors. I sat in a long meeting with a vice-dean-something-or-other paper pusher for the College of Engineering who patronizingly tried to convince me that my life would be better if, instead of getting a math degree, I did Cal Poly’s accelerated MS in computer science. I told her that actually more math would make my life better. I left the meeting in a cross mood. The mathematics department welcomed me with open arms when I told them I wanted to switch, and Ignatios Vakalis, the head of the computer science department, later gently urged me not to forget my roots in CS.

I was getting into full swing on my mathematics courses, taking topology (without having taken the prerequisites, which made things…interesting) and analysis and game theory and linear algebra and a few required lower-level classes like intro to differential equations. In the Fall of 2010 I studied abroad in the Budapest Semesters in Mathematics program, at the recommendation of my graph theory instructor Jonathan Shapiro, which looking back was the best possible decision for me at the time. I made a ton of brilliant and close friends, took five hard math classes, and math finally started to click. I traveled, played frisbee on weekends, started drinking tea, met some relatives for the first time, and got to know my mother country.

In the Spring I went back to Cal Poly and found the intellectual pace languid. I was shocked by the degree of disdain that many of my (math major) classmates expressed toward math. The refrain, “I don’t care about this. I just want to finish so I can go teach!” was common. I understood that their prominence was in part due to their vocal volume, but it was depressing nonetheless. I was among the best of my class, which was not a particularly high bar (cf. the whiners), and I found myself asking questions my professors didn’t know how to answer. My senior project was in retrospect an embarrassing attempt to solve an antiquated and irrelevant math problem about group theory. It would have been helpful if someone told me what modern research questions people cared about. Although, I didn’t try too hard to find out myself; I just thought you could pick up any open problem and chip away at it.

I wanted more, and graduate school seemed like the best option. The only useful advice I got on this topic was from my game theory professor Tony Mendes in the form of a contrapositive: “If you don’t like doing math 8 hours a day 5–6 days a week, then you shouldn’t do a PhD in math.” I had been doing exactly this in Budapest and loving it, so that was good enough for me. I applied to only five schools (sort of randomly) and got into the University of Illinois at Chicago. I also applied to work at Google and Facebook and was rejected, so that made my decision easier.

Toward the end of the 2010–2011 academic year I realized I was learning too many great things that nobody wanted to hear me talk about at parties. So I started a blog as an outlet.

2011–2012 (Year 1)

My first year in graduate school was the most work of any year. I took five courses per semester, including introductory logic, algebraic topology, complexity theory, computational geometry, measure theory, supercomputing, and graduate algebra (more work than all the rest combined). It was a smattering of topics because I didn’t know what I wanted to do. I thought I wanted to do algebraic topology, but over the course of the next two years I thought I wanted to do every topic I came across. Except number theory. That wasn’t me.

My living situation was curious enough to note here. I lived in a refurbished rectory that was part of a church that had been turned into a Christian charter school aimed at inner city minorities. A friend of mine from Budapest worked there and got me a year’s lease on the room for dirt cheap. I lived a spartan life because my girlfriend Erin was planning to move out to Chicago the next year after finishing her MS in math. I didn’t want to invest in any furniture in case my lack of taste meant I’d have to sell it again. So I lived in a large bedroom with two pieces of furniture: a desk/chair, and a bedside table. Note that there was no bed. Instead I had a thin mattress pad and a few blankets with a pillow. My floor was littered with papers containing scratch work, math textbooks, and the Song of Ice and Fire paperbacks. Sometimes at night I would sneak into the chapel of the church and play the grand piano and sing where nobody could hear me. At one point Erin told me that she liked jars (for decoratively storing things), so I set about cleaning and saving every jar I came across as a surprise for her. I only got to see Erin three times that year: Christmas break, when she flew out for a wedding in February, and when she flew out for a job interview in the spring. We were both really busy with our studies so it wasn’t so bad, and we had a weekend Google Hangouts date where we’d drink tea and talk about our week.

Because my girlfriend was in California and I was taking five classes, I worked all the time. As I said, graduate algebra — a year-long class that covered category theory, groups, rings, modules, fields, linear algebra, Galois theory, homological algebra, and gave introductions to representation theory and commutative algebra — took more time than all of my other classes combined. I did roughly 30 exercises a week that took 15 pages to write up. I kept my algebra book with me at all times. I woke up and computed Galois groups before breakfast. I puzzled over Hom sets and the Yoneda lemma before going to bed. I didn’t feel particularly stressed because I rationed my work over all my time. Some of my friends who tended to procrastinate were up all night before deadlines scrambling to finish a 30 problem set.

The professor for the course, an outwardly sardonic Turkish man named Izzet who must have been a narcissistic prodigy but who would occasionally reveal a tender endearment toward his students, often said things like, “If you have time to sleep you have time to do algebra,” and “Didn’t you kids learn this in kindergarten?” I personally thought he was hilarious. His course served as something of a shared plight for the first year students and, to be blunt, we learned our shit. Bonding was had by all. Word on the street is that having Izzet as your advisor is a bit more tumultuous, though my friends who are his students are doing quite well.

The math program was shockingly social. Way more social than I expected it to be, especially since it was a math program and mathematicians have a bad rap for awkwardness. Someone once told me graduate school would be very lonely. He was wrong.

I continued to write my blog, and after about a year after its inception a few people start reading because one of my undergraduate CS professors put it on a blog aggregator. Around April I decide to start using my blog as an excuse to learn important new topics, such as Fourier analysis. As I always say, the primary audience for my blog is myself, but two years earlier and stupid. I write in order to convey the clarity and synthesis of ideas that I wished someone had conveyed to me two years earlier. And to remind myself of things I tend to forget. I also started to have some original ideas for little projects, such as using cellular automata to make cave dungeons in games. A day with 150 page views was a big day.

This year was my first year as a TA. They sort of throw you in to teach six hours of discussion sections a week, with only a whisper of training. You sink or you swim, often to the chagrin of your students. If you sink and don’t want to try to swim anymore, they put you on grading duty or clerical/tech support work in the department. I swam relatively well, though my only two techniques were learning my students names and trying to be honest with them about what part of the content was BS and what part was actually an important insight. When I TA’ed for introductory differential equations, I realized the whole class is pretty much BS.

Midway through the year I spent a significant chunk of time applying for graduate fellowships. I was rejected from all of them, and the ones that gave feedback described my application as fantastic except for one problem: no prior publications. Turns out that’s a deal breaker. Dicks.

One other dumb thing that happened during my first year: the graduate student contract renewal. The UIC administration did whatever they could to decrease the amount of money they give us (for the record, that year it was about 16k per year, about 10% less than the cost of living in Chicago that UIC advertised to its undergraduates). Moreover, the university bans specific departments from giving their students extra money because “it would be unfair to students in other departments.” I guess you can’t expect coherent logic from someone whose goal is to lie to you and suck as much money as they can out of you. All of this disgusting crap is my biggest problem with UIC, the next inconsequential one being that the buildings on campus are stupendously ugly.

In this particular instance, the university wanted to add additional yearly fees to our already roughly $500–1k in fees, with no pay raise. We could prove that the university had more than enough spare, unallocated cash to give us a raise. The university was negotiating in such bad faith that after eight months of bargaining our union had to call in a federal mediator. I was regretfully involved with this mess, and I implore future graduate students to learn from my mistake. You can’t compromise people who have, as a full time job, been cheating graduate students out of their pittance of a stipend for years. And, to be clear, this is the university-wide administrators, not the mathematics department (who is 100% on the side of the graduate students). If you need more money, do a technical or software internship during the summers. At worst, you get paid your yearly graduate stipend just for the summer, and at best (e.g., Google, Amazon) you get double. Either way, you can ignore all of the nonsense politics and focus on what really matters (or what doesn’t matter—honestly, staring at a wall is time better spent than bargaining with UIC administrators).

At the end of the academic year I passed my first preliminary exam (algebra) with flying colors. I got an internship at Lawrence Livermore National Labs. The interview, after they glanced through my resume and blog, required me to answer one technical question: “Do you know linear algebra?”

The internship was a lot of fun, in that I met great people. I didn’t really connect with the work in the way I had hoped. It was using machine learning to analyze wind and plasma physics data. The work felt aimless, and I also didn’t know enough going into it, and also there were no first principles to lean on. I became a bit jaded with the national lab system, at least that it didn’t seem like the right place for me. At the end of the summer I learned how to dress myself professionally and a year later I finally got a normal haircut (instead of alternating between shag rug and buzz cut every 6–12 months).

2012–2013 (Year 2)

Erin moved across the country to live with me, and we got a great apartment west of downtown Chicago. She landed an awesome community college math teaching job and loves it.

I continued taking courses. At this point I should make a slight detour to explain why I’m not doing research yet. PhDs in mathematics are a bit different from what I’ve heard about PhDs in computer science or other applied sciences. The big difference is that math PhDs spend way more time doing background reading before starting research. Such is the nature of the beast.

But while other science degrees may take 6–10 years, a math PhD typically takes 4–5 years and requires only one journal publication. The first 1–2 years are almost entirely coursework, depending on the strength of the program. Recall UIC has that boot-camp algebra course, perhaps the first half of which is a synthesizing and maturing review that most students including myself truly needed. I.e., UIC leans toward two years of classes before starting research. Students pass preliminary exams by the end of their second year and then find an advisor and start working on open problems. In between the main coursework and finding an advisor, students take “reading courses,” i.e. personalized introductions to a professor’s field of research typically meeting once every week or two for an hour. The joke is that this is the courtship that precedes the marriage of a student to their advisor.

My pattern was a bit different because of my focus on theoretical computer science (hereafter TCS)—which, make no mistake, is mathematics, it just has different publication patterns for grad students. You typically publish 3–4 conference papers (usually shorter than journal papers; and in math conferences mean nothing). But in 2012 I didn’t know this and I was still splitting my time between pure math courses like algebraic topology and TCS courses like computational learning theory. I liked both.

I did two reading courses that year. The first was with Brooke Shipley (an algebraic topologist famous for her work on stable homotopy theory and K-theory; though I don’t know enough about her work to be sure I’m not mischaracterizing it, I have seen her work referenced and praised in auditorium-sized topology talks) in which I taught myself about persistent homology and then proceeded to try to convey what I learned to Brooke. This was a great arrangement for both parties because she was busy and I needed to try to learn things independently. At the end I liked it enough that I wanted to continue, and Brooke told me I couldn’t do it for my thesis because there were no experts on the topic at UIC.

My second reading course was with György Turán (a complexity theorist famous for a variety of results on threshold circuits and TCS with a logic tint; also notable as the son of Paul Turán and Vera Sós, two world famous combinatorialists), in which I studied the probabilistic method for solving combinatorics problems. This was a more typical reading course since we went through a book and I did exercises.

I also attempted to do student-run reading groups on algebraic geometry and other topics. These didn’t pan out. At the end of the year I passed my second prelim (geometry & topology) and had my PhD candidacy.

That year I taught introductory Python programming, which was more fun than teaching calculus because I had more autonomy in designing fun lab assignments. I also wrote a simple grading robot to ease my grading burden. Considering grading is the pit of despair of teaching, it was a worthwhile investment. I was also improving a lot as a teacher, and was somewhat regularly giving guest lectures at high schools for fun.

In the Spring of that year I met Lev Reyzin, who was a new professor and would become my advisor by the end of the summer. We met in a reading seminar on game theory, in which I couldn’t understand a thing that was said by the guy running the seminar. He explained things in a dense statistics jargon, which I still abhor and avoid like a plague to this day. When I mentioned something I heard about the iterated prisoner’s dilemma, Lev piped up, and after the seminar he asked me if I wanted to talk with him about research. I didn’t know how to respond and awkwardly said “OK” and then didn’t. A few weeks later a friend of mine who was studying game theory, Brian Powers, asked me if I wanted to work together with him and Lev on a project. I said OK, and within a month or two we made enough progress to submit to an algorithmic game theory conference being held in Germany, which we were accepted to (Note that in TCS, conferences are the primary publication venue, so this is my first “real” publication). I attended the conference and gave an awful talk, quickly realizing our results were not all that impressive but I still had to try to sell it. Still, I was still happy to be making progress.

I started a second project with Lev which was rejected from one or two conferences, and then a year later accepted to a conference called MFCS held in Budapest that year, which I also attended and also gave a pretty bad talk for. Clearly, it took me a while to learn how to give a good research talk. At both of these conferences I realized how awkward it is to talk to people at conferences, though I succeeded in making some friends among the graduate students in attendance.

In Fall of 2012 my blog hit the front page of Hacker News for the first time. Hacker News is a news aggregator run by a big Silicon Valley VC firm for tech folks. People consider (or used to consider) getting to the front page a likely “make or break” moment for a business. My article on Kolmogorov complexity apparently made it. Later in May 2013 my blog hit the #1 spot and was there all day. That day was around 65k page views, my all time record. People were reading my stuff and mostly liking it.

In the summer of 2012 I traveled to a handful of the top-tier conferences, STOC, CCC, and a one-time symposium on “Visions of TCS” held at UC Berkeley. I met a few famous people who inspired me and then promptly forgot me, including Al Roth and Peter Norvig at Visions, and many others at STOC/CCC. I found the folks at CCC (the computational complexity conference) were the most friendly and welcoming to awkward graduate students like me who didn’t know the difference between ACC and NC. Specifically Lance Fortnow and Bill Gasarch made us grad students feel pretty good by asking what we thought of questions like P vs. NP and L vs. P and listening to what we said (as uninsightful as our responses must have been). The reason is probably because complexity theory is a smaller community, but also they’re just very nice people.

For the remainder of that Summer I got an internship at MIT Lincoln Lab, a defense lab housed at an army base outside of Boston. I lived in the MIT dorms with 100 or so other interns, made more friends than I can count, and worked on applying machine learning to clustering and learning good graph representations. I thought our work was a good idea, and I was happy to have some more autonomy in my project.

Unfortunately, the work ended up being unsuccessful and I can point to two main reasons. First, we sent the work to applied machine learning conferences (the work was, here let’s apply a theoretical idea without provable guarantees to empirical data and see what happens). I quickly learned that applied machine learning and data mining conferences have an abysmally depressing review process. I got reviews in scarcely readable English where the reviewers (1) claimed we did things in the paper that we did not do and (2) asked us to do additional work that was already in the paper. I felt they did not read the work closely, and my faith in peer review was a bit shaken. I eventually came to realize that everyone feels this way, and I wonder who are the crazy people writing these reviews? I should note that my reviews from theory conferences have always been top-notch, and I have put a lot of effort into being fair with my reviews. The second reason for the work’s failure was legitimate, that some of our justifications for making certain decisions were arbitrary or self-referential. This was basically because it was experimental and we could prove little beyond that our algorithm was “consistent” in some sense.

There were two big benefits from this failed work. First, it was accepted to a small workshop, and based on the talk my coauthor gave I met a guy named Suresh Venkatasubramanian, a TCS professor at University of Utah. We tried to do some joint work that didn’t pan out, but the main benefit was that he liked me and was willing to apply for the NSF postdoc fellow as my host, and also potentially hire me as a postdoc through another grant. Both applications were rejected, but either way it was a good opportunity. Also he introduced me to an emerging field of study called Fairness in Machine Learning. I worked on it with some fellow graduate students and it turned into a conference paper.

The second benefit was that MIT Lincoln Lab offered to hire me to work part time for the following year and a half, remotely from Chicago. This funded my studies so I didn’t have to teach, and the time I would have spent teaching instead went toward working on graph representations. I also referred other students to the Lincoln Lab intern program, so it was a symbiotic relationship.

A tangential aside: that summer was the first time I met someone who knew me from my blog before meeting me in person. I was starting to realize how my reputation built up through my blog could eventually pay off big. I started to think more deeply about why it worked (it’s a niche, I’m a good technical writer, and programmers both fear and fetishize certain parts of math, justly or not).

2013–2014 (Year 3)

In August I proposed to Erin. We were engaged for two years and got married in June 2015 a picturesque DIY backyard wedding with a taco-truck-catered dinner and french-patisserie-catered desert. It was fantastic.

I continued doing research. By then I was totally set on theoretical computer science, only taking those courses taught by the faculty in my area. E.g., extremal combinatorics, quantum computing, foundations of data science. This year new graduate students started UIC or I realized they were interested in TCS, including Ben Fish, Adam Lelkes, Yi Huang, and Sam Cole, (our TCS group had no visible students the previous year). To foster the group I started a TCS grad student seminar.

I gave a few talks at various (informal) conferences, such as Midwest Theory Day and the SIAM Chicago Area Student Meeting. I started two new projects that turned into publications by 2015.

I started rock climbing and learning to draw/paint. I was bad at both but they’re a fun way to relax and spend time with Erin. I continued blogging for fun, getting a lot of press on things like my MapReduce work, despite the tooth-pulling agony of getting that paper accepted as a publication. I highly recommend avoiding the PODC conference; I have never received more unintelligible and idiotic reviews than from PODC. One of the reviews was literally a copy-paste of sentences from our abstract with no other commentary except the conclusion, “I vote to except.” At this point I decide that if I’m going to stay in academia, then I’m going to stay entirely in theory. Theory folks are apparently the only people you can expect to read your papers when they’re reviewing them.

Two other major events. First, I got a year-long fellowship that allowed me to continue not teaching (I was still doing MIT Lincoln Lab stuff anyway, so just more money). Second, I got to go to a week-long “summer school” called Mathematics Research Communities (MRC, confusingly also an acronym used in an unrelated research project of mine, so henceforth I’ll call it Utah Math Camp), which was held in Snowbird, Utah and during which our goal was to foster new collaborations among early-career network scientists and senior graduate students. The group I ended up working with did a project on interception in routing networks (link is mildly outdated), which is currently in a second round of reviews at a journal following a conference rejection.

At this point I think it’s important to talk about my advisor. Many of the horror stories that come from academia are caused by abusive advisor-student relationships. I don’t know what the opposite of abusive is, maybe respectful and complimentary, but that’s exactly what my advisor was. He made it clear that whatever my intended career path (academia, teaching, industry, other) he supported me and gave advice along the way. Even if he didn’t agree with my decisions or I went against his recommendation.

A typical example of how we did research together: we met for one hour a week per project. With no projects, this meant one hour per week one-on-one throwing around ideas for new projects. With projects that involved other students, each project had its own hourly meeting. On average I spent two hours a week in research meetings with Lev, but occasionally I would pass him in a hallway while on my way to think about a topic, and he’d join for an impromptu bit of productivity.

Here’s an example of a fictional but illustrative meeting where we try to find something to work on.

Lev: I was at COLT and researcher X (who is super famous; digression about why she is amazing and a funny anecdote) gave a cool talk about Y (which is a super fascinating topic; motivation and history), and the open direction from her paper was Z. It sounds fun, want to work on it?

Jeremy: Yes, could you try technique A?

Lev: No, A will fail because of the Chernoff bound.

Jeremy: Oh yeah I’m an idiot. Why am I still bad at probability?

Lev: It’s okay. What about trying technique B?

Jeremy: I have never heard of B.

Lev gives an impromptu mini lecture; I google buzzwords while I listen. 20 minutes pass

Jeremy: No, I decided I don’t like this topic any more.

Lev: Okay, let’ see what else. What about extending this result from this other paper?

A possible line of attack sketched out.

Lev: I think this claim P is true.

Jeremy: I think claim P is false, and I’m going to go home and try to come up with a counterexample.

The salient points are (1) I didn’t have to work just on what my advisor wanted me to work on. If I didn’t like a topic there were no bad feelings in dropping it, and (2) he treated me more as a colleague than an underling. As an example, the MapReduce project I described earlier wasn’t part of Lev’s work, but a project that three graduate students (me, Adam, and Ben) decided we were excited to work on after hearing a talk. We ended up working together with Lev and another faculty member (György, whom I did a reading course with), and together we got some pretty cool results. The process was purely collaborative as opposed to competitive, and we could disagree constructively on ideas.

That’s not to say research was always easy. We started and abandoned many ideas. Got stuck for months or years trying to prove a result. And there was a lot of indirect pressure to publish at great venues (because you meet other graduate students who are doing it, and hear about who gets what kinds of jobs).

Long story short, I felt great about the process of doing research, even if the peer review system (mostly in non-theory venues) felt like a mix between a bad joke and Russian roulette.

2014–2015 (Year 4)

August 2014 I went to Hungary to give my bad MFCS talk. After that the semester starts up, and a few weeks in a postdoc named Sasha Gutfraind gives a talk in the adult TCS seminar—that’s what grad students call the official seminar; our seminar is the baby seminar—on a particular optimization problem over graphs. Afterward Sasha, Lev, my colleague Adam, and I go up to Lev’s office and try to prove a conjecture Sasha gave at the end of his talk. After an hour and a half I end up disproving the conjecture, and this turns into a project that eventually turns into a journal paper that I include as part of my thesis.

In October I attended FOCS, which is one of the two best theory conferences in the US. I was reminded once again how dumb I am and how clever and talented everyone else is. I’m starting to see that I need a publication at a top-tier venue if I want to be competitive for a top-tier postdoc. I did not end up achieving this.

Later in 2014 I started thinking about future jobs some more, and I reached out to the head of Proof School, which seemed like an awesome teaching opportunity. I emailed back and forth with the founder, who informed me they were looking for a great math teacher who could also develop great programming classes (which was a double win). In the end I didn’t apply to work there, for various reasons that boil down to “I can teach later when I settle down and finish trying other things.”

In early 2015 I started working on the algorithmic fairness project mentioned earlier with Ben and Adam. By 2016 it was accepted at a data mining conference. I presented the work at an ICML workshop in France in July 2015, and my blog post on the topic got me a request for a TV interview (which I turned down because I was on honeymoon; I referred them to Suresh instead) and some print media publicity. People are annoyingly opinionated and obtuse about this topic, when I’m really trying to see what kinds of concrete mathematical things I can say about algorithmic discrimination (and what that even means). I spend some time reading law papers about discriminatory hiring cases and find out that the legal system is much uglier and more broken than I thought.

In the spring of 2015 the Utah Math Camp project was nearing completion and we had our main results, so I gave a poster presentation on it at the SIAM Network Science meeting that May. I won best student poster award. I met Blair Sullivan from North Carolina State University who gave an excellent talk, and we discussed the possibility of me doing a postdoc in her lab. We left it on the table until later in the 2015–2016 academic year when I started applying for jobs. We were both optimistic about this, because she had a lot of funding but couldn’t find candidates she was happy with, and I apparently had the skills she was looking for.

At this point in my graduate career I’m starting to be one the older students in the department. I helped out a lot with new graduate student recruitment, I started running graduate-student-wide seminars and giving advice about classes and whatnot. The department feels like a close-knit community.

2015–2016 (Year 5)

In October of 2015 I was invited to a conference in DC on the topic of fairness and civil rights. They wanted me, as well as Suresh and a few other math/data people studying fairness, to represent the technological contingent. It was a really fascinating event, in that there were people from every corner of the industry there. Police chiefs, software company lobbyists, activists for black lives matter, university professors, a representative from Taser, and even a former (and convicted) terrorist. It was a fascinating event, though at times it did feel like people were ganging up against the software companies and police departments. I didn’t feel like I had all that much to contribute, but it was eye-opening.

The rest of this year was all about academic job applications, even though as we’ll see I didn’t pursue that route in the end. I applied for the NSF graduate fellowship with Suresh (from the University of Utah, the guy who does fairness research), and despite working hard on it and having what I felt and was told by my colleagues was a strong proposal, it was rejected without feedback.

On the other side of the fence, I went to North Carolina State University to give a talk in Blair’s theory seminar. I finally got the hang of giving well-motivated research talks and so I didn’t flop. We spent the rest of that day and the next talking research. I met her students and by the end of it I had a neat idea and together we worked out a nice theorem that turned into a project. Blair, apparently happy with our progress and my talk, gave me a tentative verbal postdoc offer and I flew back to Chicago feeling pretty good.

I picked up some other new projects around this time but I wasn’t making much progress on any of them. Also my project with Blair and her student sort of fizzled out after winter break because I had to focus on my thesis and job applications. Most of my productivity was spent revising papers and pushing them through to publication. Some of these struggling projects I’m still working on today, on the eve of finishing my graduate studies.

Then there’s my thesis. Luckily, because I had published so frequently during graduate school, my advisor said relatively early on that I could graduate whenever I was ready. There are strategic reasons to delay graduation or accelerate it, but I didn’t think too hard about that. My thesis ended up being a polished version of four of my papers on semi-related themes stapled together. It was basically done by mid February. My defense took place on March 4th. You can read my dissertation here, though I don’t know why anyone would. Also as of the time of this writing it still needs a few minor revisions.

Parallel to all of this, various industry companies were reaching out to me. Actually, job inquiries came in at a steady pace throughout my graduate career once my blog started getting popular. I got an email roughly every two months, including interesting opportunities from a chem-informatics company, a video game company, and in the latest round Google and an SF startup called 21 Inc that develops software/hardware for using bitcoin. I went for on-site interviews with Google and 21 over the winter holiday since I was in California visiting family anyway.

Once the offers were on the table, my advisor Lev’s unequivocal recommendation was to go to NCSU with Blair provided I didn’t get a better postdoc offer. Lev tends to pepper his advice with phrases like, “I’m obviously biased because I stayed in academia,” and “if that’s what you really want,” and “You’ll be happy with any decision you make because people rationalize their decisions.” But this time he’s pretty unwavering in his recommendation. And because I had this solid option at NCSU, I didn’t apply for anything less than my ideal postdoc positions. For the record, I was rejected from all of these ideal positions.

I negotiated with both Google and 21 Inc., and in the end I went with 21 before getting an official offer from NCSU.

If I ask myself why I didn’t get a postdoc offer at a more prestigious university, I can point to three primary reasons. I had no top-tier publications, I was not a world expert in a particular topic/method, and I didn’t get to closely know anyone at these institutions well enough to have an insider rooting for me.

It was a whole other question about whether to do NCSU versus Google versus 21. While it’s hard for me to verbalize all of the factors in my decision (since I only recently made it) here’s what is clear: I would have been pretty darn happy at any of these three places. So the question was, how do I maximize my happiness among the best of three excellent opportunities?

One thing that had me leaning away from staying in academia was the idea that personal growth by staying in academia seems to have diminishing returns. I grew so much during graduate school in ways that I eagerly wanted to grow. I learned what topics are important in math and what kinds of research questions people care about (not just in TCS but also in pure math). I learned where to go to find the cutting edge results. I learned how to attack and make progress on open questions myself. My writing skills skyrocketed, I learned to manage small groups of bright and opinionated people, I got the hang of teaching, and I improved my social skills by an order of magnitude (if only there were a numerical scale for social skills!).

Staying in academia certainly had more room for growth, but it would be more accurate to describe it as sharpening an already deadly sword. To be sure, I’m no mythic ninja researcher, but clearly every effort from this point on would be to focus an intensely narrow beam directly at publishing papers and increasing my scholarly reputation. Developing ever more specialized techniques for bounding probabilities, studying graph algorithms, analyzing learning problems, proving lower bounds for classes of circuits, and all the rest. It sounded like great fun to me, but trying brand new things also sounds like fun.

The second issue was money. Google and 21 were both offering me far more in salary alone than I knew how to comprehend (except, of course, as numbers), and it was about twice what I could expect to make at a postdoc. I also plan to start a family within a few years, and doing 4–6 years of postdocs and moving every two years makes that a lot harder. Not to mention how hard it is for both me and Erin to keep applying to new academic jobs every two years (during this year she got tenure at her current job, just to start applying for new jobs in California). Applying for academic jobs is much more exhausting than applying for industry jobs.

So if I conditioned on going into industry, and the choice was Google vs. 21, what would I do? Perhaps ironically, it turns out there was a lot more certainty at the startup than at Google. More specifically, it was the kind of certainty in what work I’d be doing at 21. At Google they don’t tell you what you’ll be working on until you accept their offer; there’s a very involved team-matching system that gives the new hire a lot of power to choose, but still. At 21, the co-founders specifically reached out to me because they had a particular role in mind that suits my skills. During my interview, the founders pitched me some problems that were honestly intriguing, on par with academic research questions. So the dilemma became: go into academia and work on great problems, or go to 21 and work on great problems and get paid double. Also 21 included more opportunities for growth in software, entrepreneurship, and developing personal connections. As best I could evaluate it, 21 was the optimal fit.

There is of course the specter of the instability of a startup, that I should put nontrivial probability on the event that I’ll need to find another job in 2 years. But since I already got an offer from Google, and because my blog clearly finds me interesting work opportunities, I think I will be alright.

There is also the looming question of to what extent I will still be able to think about interesting research questions. With any luck, the work I do at 21 will partially fill that role, and I will always have my blog. But other than that, it’s hard to say. Whatever comes, I can rest assured that graduate schools has helped me internalize the skills I need to keep doing math in whatever capacity I want.