Jennifer Lawrence will always be one of us!
I finally pulled the trigger today. Actually I had printed, signed, and scanned my offer letter yesterday, but being so hesitant to decide (and with the long weekend as an excuse), I held onto it an extra day.
When I finally wrote out the email to the recruiter this morning, I hovered over the “send” button a lot longer than normal. I am somewhat used to pausing with emails, but they’re usually just my source code commit notifications. Whenever I’m about to send one of those, I think to myself “did I get that change right?” The hilarious part of it is that the commit is already done and over, the email is just a notification. This time, the email is the commit. Though to be sure, at-will agreements are never a real commitment; a colleague of mine even agreed to start at another company but ended up staying with us after all.
But I eventually hit send. A few moments later I hit send again with the invention disclosure/agreement, which I had somehow left out XD At that point, I considered myself committed; I’ll be working at Twitter starting April 29th. I guess it’s not zero-contingency; there’s still a background check to be done, but I expect that’s just the usual criminal stuff which would not be a problem for me. Very shortly after that, I also got a welcome email from one of my future team members — the last guy to interview me earlier this month. So that was nice.
At that point, all I really had left to do was notify the Google recruiter about my decision. ‘“Sad” news’ is how I titled that email, and it is a little bittersweet. I can really picture myself enjoying either life(style) quite a lot, and I never take these sorts of decisions very well.
I thanked the recruiter for all of her hard work; I do like to think I made it somewhat easy on her, but she did a great job of making me feel very comfortable and getting me a very attractive comp package, and I know it must sting to come out with little more than “keep in touch.” As a little personal victory for me, she was instructed to offer me a seat in their San Francisco office. It really would have been nice, but it did smell a little of “why didn’t you tell me this earlier?” To be fair, I had let her know that I was primarily interested in the San Bruno office, but I had gotten the impression that they weren’t hiring at SF :P
I mentioned earlier that I’d have some friends of a friend contacting me, and they both did. One called me early on Monday, and the chat was helpful but it did somewhat reinforce the whole “no promises” aspect of Twitter. Of course I was very grateful for the time anyway. The other finally got back to me today (I can’t blame her, since it was a holiday after all) after I had made my decision. We still had a nice exchange, with her assuring me that Twitter was the right choice, “hands down.” In fact she is applying to Twitter as well, and she was asking my opinion on employer disclosure, though that’s also a very context-sensitive subject. Anyway, she seems very nice, and with any luck maybe we’ll be able to hang out around the office.
Before I wrap up, something cute also happened at work today. The lead from my sister team was hanging around the desks of me and my teammates (we had just relocated). He came up to me, looking like he was going to say or ask something. As I took off my headphones he asked “When are you out? When’s your last day?” I was a little confused and panicked a tiny amount; I figured my lead would have told some people that I was leaving, but I had also expected he’d make it known that it was still hush hush. In fact, I had suggested openly telling people earlier, but he said it would be better to wait until I had a solid end date (which I hadn’t yet, really). Rather than have him explain the question, I simply mumbled “uh, I don’t know” and immediately changed the subject. The story is cute because I later realized he might have been asking about the last day before my upcoming Asia trip, which would be March 1st. It’s possible that he didn’t know that I’m leaving, but it seems reasonable that he (and several nearby people) would have figured it out after that. But at least he changed topic with me and didn’t bring it up again :P
On Tuesday I got my offer from Twitter. As I think I’ve mentioned before, it was really nice. One of those “well this could be huge if things take off” offers you hear about. Not as heavy on equity as a startup position, but also a bit less risk too.
When I’d compare it to my offer from Google, it usually involved a computation like “stock unit value would have to drop below X to be worse,” and X was pretty low; maybe about 1/3 of it’s current “value.” By Thursday I had made up my mind that I woud be going to Twitter, and I felt really good about it.
Basically, I thought, Twitter would have everything. I’d learn, I’d be making positive impact, I’d be centrally located, I’d be working with friends, and I’d be looking at more money, possibly a lot more. And if things went south I could always pack up and go to Google and get some offer similar to what I’m passing up.
And then, on Friday, I got another call from Google with a counter-offer (I’d told them some about the numbers I had). This one came with a 5% higher salary, 75% more equity, and a nice signing bonus. In the first year I would be set to take home about 10% less that what I’d eventually get from my first year with Twitter, assuming equity held. Equivalently, the value of X went up quite a bit, almost all the way up to its current value. After seeing so many IPOs like Facebook and Zynga, not to mention the pain that was the Groupon IPO, it’s easy to make an argument that Twitter stock might tumble a bit below it’s current “value.” So on a monetary side it’s quite risky really.
Of course, there remains all the qualitative parts of things. Aside from hanging out with friends, at Twitter I’d hopefully be around more people similar to myself, who live and hang out in the city. And I’d see more small company stuff, with a more real-time tech-focused company this time.
But it’s weird to think about what I’ll want 4 years from now, assuming I’d stick with either of these choices for that long. I mean, I’ll be 35 by then — will I really be considering to build my own company at that time? And really if I went to Google I’d probably be quite happy with my compensation, to the degree that I might not worry about vertical movement so much. It’s hard to imagine I’d be able to pull the same offer from them later, but I don’t know.
In large part I’ve been spinning on it all weekend, but there are two interesting things going on. First, a really good friend (about whom I’ll probably write later) has connected me to some friends of hers who may be able to advise me on the decision. I guess I won’t say much about the exact nature of the assistance, but it mostly revolves around getting info on the culture at each place as well as some firmer understanding of the value of Twitter.
Second, yesterday I discovered I can finally get my tarantula. This story could almost be its own post :P For Christmas my sister got me a bit of a kit for raising a tarantula. She knew I had been inspired a bit by the Nuke at Nights that I had watched, so she was sorta pushing me into it (of course, it’s always great to know your roommate is on board with new pets too). The main question was, which tarantula would I get? I really didn’t want something high-maintenance (i.e. fragile) and I wanted something that looked cool. After a bit of searching I decided that I only wanted a Chromatopelma cyaneopubescens (a.k.a. Greenbottle blue tarantula, or GBB). The tarantula’s coloring is very striking, they’re very hardy, they grow to a nice size, they don’t need very humid environments, and make beautiful webbing.
Unfortunately, when I began to search for one, the only source reporting them for sale was apparently very shady, and it seemed likely I wouldn’t get the tarantula if I ordered from them. The two-three apparently reputable sites were not listing them.
So the weeks went by with my aquarium filled with tarantula care items sitting idle. I’d occasionally check around and see that still no GBBs were for sale. After a while, I decided to go and double check on other tarantulas. I spent some time looking around again, coming up with some tarantulas which I thought looked okay. I saw a few which looked decent but only some of the tarantulas looked that way, or they’d only look like that from the right angle, or they were arboreal, or too high maintenance. At one point, I came to a tarantula which I thought I could manage to enjoy keeping. But at the last minute, I again came across a picture of the GBB, and I realized I couldn’t own any other tarantula. So the weeks continued rolling by.
Then, yesterday, I saw a link on reddit about why spiders curl up when they die. I didn’t even read the link, but it reminded me about getting a tarantula, and I checked around again. This time, Swift’s Invertebrates finally was selling GBB s[pider]lings! I was so excited, so unreasonably excited about this. Not only would I get the tarantula I wanted, but I’d get it when it was only 1/2” big!!
The thing I immediately recognized when this happened was that I stopped caring about the job search for a bit. I paused for just a moment to try and measure my feeling in this not-caring-so-much state, and I found myself liking the idea of going to Twitter. It’s the closest I think I’ve been to the whole notion of having other shit going on in life to avoid having all of your emotional eggs in the same proverbial basket (yes, it’s sad to write that out, but hopefully it won’t be a concern for long).
I know that, even if I work and spend more time in the city, there’s the possibility that things won’t work out how I’d like them to. After all, even at Groupon, I get some sense that most of the people who hang out in the city aren’t folks that I’d get along with too much. And I rarely saw Murat or Phil around the office even when we were all there. But I also do enjoy spending time out with people (except when I can hardly eat or drink anything XD). And it’s likely that I could find more like-minded people to chill with.
I’m officially undecided, but leaning toward Twitter again. I’d love to hear back from those friends-of-a-friend, but I’m skeptical it would happen soon enough. I think my last little bit of investigation will involve taking a drive down to San Bruno again to get somewhat of a feel for it. It doesn’t look that long on paper, but I don’t know. It would certainly mean that I’d want to keep my car longer.
I’m going to do that in a minute, but I did want to mention first that I did in fact order my sling. I expect it will get here on Wednesday, and I already have a little jar set up and some pinhead crickets waiting for him/her. I am pretty excited about it :) :)
You all remember prime numbers, right? A prime number’s only factors are 1 and itself. Well, the above number is the largest prime number discovered yet - all told, it comes out to 17 million digits! It’s something mathematicians and math geeks are probably very excited about, but the rest of us may not see as much cause for celebration. The finding is momentous because finding larger prime numbers is a test of computing power and programming projects. Today, the most efficient way to search for prime numbers is to use the formula 2^n -1, where n is also a prime number. Even still, it took one computer 39 days to confirm that the latest discovery is indeed prime. Before you scoff, there’s money behind the prime madness - a foundation has already doled our prizes for the first 1m- and 10m-digit prime numbers, and $150,000 awaits the discoverer of the first 100m-digit prime number.
The 39 day run was performed on consumer/commodity hardware. The verification on high-end hardware took as little as 4.5 days.
By the way, you can always find the latest and greatest news (and help out if you want) at the GIMPS website.
Back when I graduated from university at the end of 2004, I went pretty much into job search mode right away. With settlement payments on the horizon, I didn’t have a whole lot of freedom to do things like travel around (which I’d have to fund somehow, anyway) or go into higher studies. Well, I could have conceivably made higher studies work, but I didn’t know how and I was frankly tired of worrying about money (of which I basically had zero at the time).
At that time I was warm on the heels of an interesting time at university. I’d been hard at work in the programming competition scene, and I had the Microsoft internship on my resume as a result as well. In fact I was anticipating what would be the better of my ICPC performances. On top of that, I rounded things out with a nice summer learning the ins and outs of some security related facets of software/computers (encryption, steganography, buffer overruns, etc.).
The first in my line of interviews was with Symantec, for their Norton AntiVirus product team. The lead came from a friend of mine from my internship (Ross), who had been working there a short while. The loop actually happened so quickly that I had an offer in my hands before I’d even gone much beyond the phone screen stage of my interviews with Microsoft and Google.
When the offer came back, the salary was about twice what my mom was earning as a teacher; probably twice as much as she’d ever earned. I can only attribute it to ignorance and things like that, but I apparently couldn’t bring myself to turn down the offer. In hindsight, it’s probably the worst move I could have made. I probably wouldn’t have done the best thing (going to Apple) anyway, but I feel I could have done much better :P
So off to Santa Monica I went. In some sense I look back at myself and think “new money” even though it wasn’t all that much. The living situation wasn’t amazing, but I was just around the corner from great friends, within easy walking distance from work, and not far from the beach either (though I really never went). But my work kinda sucked. Recently I had a director of engineering ask my why I spent only one year there. ”They had me working on their installer, which is usually all I have to say to answer all questions about this,” I told him. I formed a bit of a bond with my colleague on the NIS team because of how unpleasant it generally was. But I mostly became better friends with Ross through that time.
Of course, after a year I decided I’d had enough. In the meantime a friend from university (Rade) had taken a PM position in Windows core networking, a team he held in high regard. As an aside, when I took the internship with Microsoft, both Rade and our friend Matt told me “it’s okay for an internship, but go work somewhere else full-time.” This was in line with the M$ hate that you find in linux shops (like MTU) and slashdot. I’m not sure if it’s actually gone away much or I’ve just spent a lot of time around other MSies, but I thought it was funny that both of those guys were there full-time before me. Anyway, I trusted his judgment (as I still do), applied to the team, and was accepted on. An interested note for this part is that my requested salary was about 15% higher than my then-current salary, and the offer I finally got was for 10% more than I asked (before equity). So that was a pretty easy jump.
Then the Microsoft years came, and there were a lot of them. Of course, this blog was started while I was still there, and the time before that was mostly a mixture of work, MMOs, and a long-term live-together relationship. The MMO stuff actually started much earlier; I think it was a confluence of the whole lawsuit turtling and the release of an MMO in my favorite RPG series, but by that time I was shifting to WoW. I almost want to say the relationship was bad, but it was really only badly executed. I guess it’s more that I would attribute to my ignorance, but it also ended before I started writing here.
For quite a while, though, I wasn’t too concerned with making a big career or finding something I felt very strongly about. I was content, for the most part, to be good at something and doing it well. It’s a behavior I came to admire from several of my colleagues in the networking division, a few of whom I still greatly admire. And I did well for a good while. Really I think my rise from 60 -> 62 was quite rapid, and it was a pretty exciting ride.
Around late 2009, not long after my relationship ended, I started thinking seriously about other girls and also about socializing AFK. I won’t go into it a whole lot, but that’s about when my interest in my work started to decline. I could probably attribute it to a number of things, but part of the problem is that I wasn’t very concerned with the product I was working on (though I’d have to say, Windows 7 was fairly well done :)). This would eventually lead to my failing to ever make the level 63 transition (for 3 years).
At various points I grew to like the idea of leaving Seattle. Coincidentally, around this time I heard from Ross again. He had been at Google a little while, and he knew they were recruiting near him. Part of him wanted to get me back down to Santa Monica, part of him wanted to make up for the whole Symantec thing, and probably part of him wanted to make sure there are awesome people at Google ;) I eventually took him up on it, embarking on a process that ended with a horrible interview in their Kirkland office which I won’t discuss right now :)
So I stuck at Microsoft, and the work still wasn’t too bad. Once we got into Windows 8 work it was actually quite nice, because I was active as early as the planning phase for that release. And when the coding milestones finally hit, it was like a little party for me. But in the end it wasn’t enough and I again wanted to depart. At this time, I think I was mostly aiming to broaden my horizons more, and my favorite way to do that would have been going to Google finally. They were nice enough to afford me an interview, but I apparently wasn’t convincing enough, so I again wasn’t accepted.
The year that followed (2011) was in many ways interesting. It wasn’t all bad, but in a lot of ways it was like one big hangover from 2010. I did make it out to see Europe again finally, and I was even looking to move out there, but that ended up falling through. In the end I followed another friend of mine (Phil) down to San Francisco, to work at Groupon.
The last year has been quite something. I know I write mostly about times when I’m not in the city, and those times have had some interesting dynamics, and I love that I’ve been able to do that traveling. But the times inside the city have been interesting as well. Professionally, I know I’ve grown quite a bit, both broadening my skills and proving to myself just how adaptable I can be to different development environments. It gives me a lot of hope that I could cut it at a startup.
Of course, over the last month I’ve been working on my next career jump. My official excuse is that the commute (to Palo Alto) is really bad for me. I suppose, that’s the only excuse I could give which my management can’t really address (role, responsibilities, compensation are all flexible enough). And honestly if it weren’t the case, I probably wouldn’t be switching. Even at current valuation (i.e. 1/4 of our IPO price) I’m positioned to take home a good chunk of change over the next year. If our stock price went up significantly (double? quadruple?) I’d feel even better about it.
Still, the job hunt hasn’t been all roses. I know I’ve done well technically; at least that’s what everyone who’s interviewed me has said. For some of the smaller companies, though, it’s become clear that product fit is a pretty important factor. By product fit, I mostly mean how much I like the idea of the product itself, and how happy I would be to have a part (any part) in making it happen. BrightRoll was the main place that declined to make an offer on the basis of product fit, though it does seem to me they’re more concerned about having an offer rejected than anything.
To make the rest of the story shorter, Twitter and Google have actually gone pretty well. Twitter has been patient enough to put me through two separate interview loops, to account for the fact that I didn’t ask for the right team the first time through (though I didn’t really ask for the wrong team, either). The Google recruiter has also mentioned that the people who interviewed me (who aren’t on the team I’d be working for; that’s often how their loops go) requested that I’d be put in their team instead of YouTube, which was nice to hear (though I’m sure I won’t confirm it). LinkedIn is still working on getting back to me, but I suspect their offer won’t be as competitive.
So I’m mostly thinking about Twitter vs. Google/YouTube. It’s really almost the only thing I’ve had on my mind since yesterday evening. For a little while I kept thinking Google would just win out. But then I had an interesting question asked of me during my Twitter interview: “if you had 6 months to work on whatever you wanted [at Twitter], what would you build?” It was honestly a question I was not prepared for. Actually I’m quite embarrassed that I hadn’t considered it. With YouTube I could give an easy answer, and it would look a lot like the project I built on my own not too long ago.
In perhaps a moment of cleverness, I decided I could describe an analog project at Twitter. It was actually quite sensible, because it focuses around the way that people follow and track each other, which both YouTube and Twitter facilitate to some degree. So I went to describe what it might be like (subchannels, community engagement, etc.). The interviewer (who would actually be my boss if I did join) said there are occasionally hack week projects along those lines, but that it’s hard to find the right balance of functionality and usability there. So that was somewhat encouraging.
After that, I decided both companies would actually be a pretty good product match for me, which is exciting. After all, it sucks negotiating around something you’ve anyway decided to do (like when I started at Groupon). And so this really becomes my biggest first-world-problem decision of the year.
Along the way I’ve been asked many times: “what would be your ideal position, or thing to work on?” This is an unveiled version of “what would you do if you had a million dollars?” (perhaps billion would be more appropriate today). Of course, the person asking is trying to decide both the company/product/culture fit as well as the principles that guide the decision making process for the job offer. I always say “I don’t know; I’m still looking for it.” As a follow-on answer, I usually also describe the sorts of things which I value in an offer proposition. A lot of them are often fixed for a given company (assuming the right team is selected), but the big one that can change is the compensation, and for better or worse I always make a point to mention that it is a factor at some level.
As far as compensation goes, I already have some numbers of varying roughness. The good news is all of them put me significantly higher than the current value I’d take home from Groupon this year. They’re also possibly larger than what I’d get if Groupon went back up to IPO price. In fact, I thought the asking price I sent to Google was asking for a bit much, but in fact they came back with an offer for about 10% more.
Working at Google would be, well, working at Google. When I first came to San Francisco I was a little sad to consider the possibility that I might never work at Google. After all, they do so many great things, including YouTube, that I’d love to be a part of. It’s a great name to throw around and say “yeah, I work there,” and they have amazing perks and benefits. I’m also a little curious to see what all the organized chaos is all about, and the long-term travel/relocation options are pretty attractive.
Working at Twitter would be nice too, though. I’d really get the full “life in the city” experience; if I do join there I’d probably move to Hayes Valley — much closer to Mission and only about half a mile from work. I could even get rid of my car easily. And Twitter hasn’t IPO’d yet. Unless they do really badly, they could eventually pay out better than Google, and if the stock does very well it could be life changing.
It’s a really close call to me. So far I’ve been trying to think about the future and how Twitter could evolve and monetize even better, but I’ve also been enlisting the advice of friends. Actually just Wednesday my lead told me he expects that I’d pick Twitter. A good friend of mine who currently works at Google also said Twitter would probably be better due to its timing-sensitive nature (pointing out I could always go to Google later). I did ask my old friend Ross too, who’s always been a strong pro-Google person (that’s why he wanted me to work there in the first place). We had a bit of a discussion this morning, and he made some good points, but acknowledged that it’s going to be a matter of priorities. It mostly just helped to make me again unsure of which I should pick XD. At least, he did connect me with a ex-Twitterer who works at Google now, so I’ll chat with him tomorrow to see his thoughts on both sides (for what they’re worth).
I guess this is a lot to write to say, I still don’t know. I always hope that writing will yield clarity, but for better or worse I didn’t have to think too much about my feelings on the subject, because I’ve already done that work. But there are some interesting events upcoming. The first will be tomorrow, as I mentioned, chatting with Ross’s friend. The second will be Monday when I again talk to Google and tell them the goings on with the Twitter side (I haven’t contacted them yet because I don’t like to negotiate these over email). Then Tuesday I should hear the real numbers from Twitter, which will be informed by the offer I have standing from Google. So we’ll see if that is significantly different.
A parasitic louse that crawls into your mouth, vampirizes your tongue, then clamps itself onto the withered stub so it can ride around inside you and drink your mucus for the rest of your mutual lives? Why, yes. It’s called symbiosis and it’s beautiful.
What? Relax. It’s going to be fine. This isn’t going to hurt. You won’t even miss your tongue—once the louse is latched onto the muscle, you can simply use its body as a tongue instead. These are exactly the kind of details that evolution has worked out for you, because evolution loves you and it wants you to be all right.
I just reread my post about starting my job hunt. It’s a bit of a contrast to the last post I’ve written, but I think it goes to show some spirit if nothing else. I had considered writing a “why this search will go better than the last one(s)” post, but I suppose it’s a bit late for that now.
Thankfully, the job search is in fact developing pretty well. There was a bit of a snafu with the Twitter interview process though. When I went onsite I found that they had me looping through with the “Dev Prod” team (more or less). These are the guys that worry about development process stuff, like continuous integration and release management. I would want to be more on the “Prod” team; the team which builds parts of the site runtime and uses the tools made by “Dev Prod”. A friend recently offered the distinction “SRE vs. SWE” — I don’t think it’s completely accurate but I believe it captures the essence of what I like about my favored team/group. Unfortunately, it seemed a rather awkward conversation with the recruiter at the end of the day. Of all the companies I’ve been talking with, Twitter has unfortunately been the only one where communication with recruiting hasn’t been regular and open.
I had Google this past week as well. As far as I know, I’m interviewing for the YouTube team. The team’s not in San Francisco proper, but a) it’s Google, b) it’s YouTube, c) they have shuttles, and d) it’s only about a 20 minute drive from my place anyway. So it’s still a strong contender. I did take some time to at least sit through the videos suggested by the recruiter I was first talking to. I also spent a little time on TopCoder again. I like how they remind you the last time you logged in, as a sort of “you haven’t been looking for a job since…” notification.
The day at the Googleplex was a little odd. I had been given instructions relevant to the San Bruno office (where the YouTube team sits), which include “go up the stairs to reception.” So when I walked in the door, I looked for the stairs. Not only were they beyond the secured doors, but I also had a reception desk right in front of me. I’m sure I sounded very strange asking “is reception upstairs, or is this it?” The receptionist was, of course, very patient and gracious, especially when she couldn’t find the “Glo” person I was looking for. I had to throw her a few other names before she could figure out what’s going on; it turns out I actually wanted “Gio” (Giovanni), so maybe the recruiter had accidentally capitalized the i. At lunch, a nice engineer (Yi) came to get me, but we had to ask around and walk quite a while to find a cafeteria because 1) he didn’t work around that building and 2) the closest cafeteria was closed for construction. Lunch went pretty well, although it was difficult for me to think of stuff to ask since the lunch wasn’t contributing to the interview feedback at all (and the vast majority of my questions about Google have long been answered from within and without). Finally, they walked me out at 1:45 instead of 2:30. This is never a good sign to me; usually it means they thought you were so terrible that they won’t even waste the last person’s time. But I was told later that someone had just called in sick, and the recruiter contacted me the next day without saying “no” right away. I know odd stuff like this happens, but it was a strange confluence of a lot of them at once that day XD
The interviews at Google went pretty well though, in my opinion, though I’ve learned to not put too much stock in my opinion on these things. Honestly, there are a few companies I’m still talking with that I might not bother if I knew I would get an offer from Google. I think it’s better that I continue with them anyway though, not only to have more offers to leverage, but also to explore and perhaps find something that I like better anyway (I suppose it’s possible).
In terms of the questions though, I won’t go into a lot of detail, but it did seem pretty close to what was in the videos. I think I did a pretty good job of vocalizing my thoughts and writing code. Of the four people I talked to, I feel that I did very well on two of them, somewhat well on a third, and okay on the last. I was once told (by a Google interviewer, no less) that a good interview usually has one session which just doesn’t go too well. I was supposed to hear Friday about whether or not they were dropping my application early (no news is good news) but I didn’t. I think, that’s a little too much “no news” XD But hopefully I’ll have that conversation tomorrow.
On a related note (I’m perfectly okay with this post being completely scattered) I’ve had “that conversation” with my boss (my technical lead) during our 1:1 on Wednesday. I don’t even know why he had been looking through our emergency (site issues) contact list that morning, but he found that someone marked me as “left the company.” It was a very interesting situation, because no one knew at that point, so I had to balance a little bit of alarm with the surprise and hide the grain of truth which laid in that statement (it wasn’t technically true, so I didn’t have to lie really). But I let him know in the afternoon.
Back at the start of 2011 I let my boss at Microsoft know that I was interviewing. If I had gotten the job I was trying for, I’m sure it would have all been fine. Instead, I had to hang around for about a year and deal with management who knew I was looking to leave. At Microsoft, at least with their stack ranking review process, that’s really not a good place to be. In hindsight, I would say that I had stagnated a bit, but by the end of that year it was very difficult for me to find any interesting teams to transfer to. Of course, telling my boss I was planning to leave had no real benefit for me (well I guess I could use him as a reference but I don’t know if it’s truly needed); I figured it would be helpful information to him, and I thought he was someone I could confide in, but I turned out to be wrong.
So this time, whether or not to tell my boss (or when to) was a big question for me. In the end, I decided to do it this past Wednesday for a few reasons. One, I think I have a much stronger job security in my current position than I did at Microsoft. In this case, there isn’t a whole group of serviceability and test engineering clawing for production development positions (well that may be an exaggeration). In fact our team is currently looking to add a number of additional developers, and I do feel like I’m one of the cleanest and most efficient developers on the team. So even if I announced I’d eventually be leaving, they’d probably want to hold me around for as long as possible. Two, I think my bosses here are way cooler people than my bosses at Microsoft. In fact I’ve been told that as long as I have my particular bosses around I should stick around too (by someone who didn’t even know I was looking around, I think). Three, I knew my boss was dealing with some people logistics in terms of someone switching and some new people on-boarding. I figured it would be way better for all of that if he knew sooner rather than later. Finally, this week is when Google is (hopefully) supposed to be contacting my references, and I figured it would go a long way to have my boss say a bunch of nice things about me. As expected, we did have some conversation about why I was leaving, and possible alternatives like switching to our San Francisco team. I figured I could at least give it a shot, but it’s not clear if it will happen soon enough or whether I’ll really be into that team (I had already given it some thought). At least, it was nice that my boss seemed very open to serving as a reference.
The last company I’ve already mentioned is LinkedIn, for a position on their SlideShare team. I feel like I did backload that process a little too much, but mostly because I didn’t know that three technical calls would be required. I’ve had one of those calls already, with the next happening Tuesday. My friend at LinkedIn incidentally called me the other day and told me he’d bug my recruiter to try and speed it up a bit.
Over the past month or so, I’ve had a pretty good turnout of recruiters contacting me. Two found me via LinkedIn, and they’re trying to fill positions at BrightRoll and FireSpotter. Another I found as somewhat of a fluke; a friend of a friend told me that Livefyre seems promising. His perspective is that of a hardware staffing liaison at Apple (or that’s what I’ll call it) — basically he works with various companies to get them the MacBooks they need for their hardware refreshes and their new hires. It’s not a surefire indicator, but it’s an interesting data point and I figured it’d be worth investigating. So that puts me up to six companies now. I guess that’s another reason I wasn’t worried about telling my boss; the odds of getting zero offers seems much smaller this time.
When I’m considering all these companies, I try to think about whether or not they’re a force for good things in the world. I touched on this a bit for Google and Twitter in a previous post, and I think it’s not too difficult to say for LinkedIn as well. After all, I think it goes a long way to opening up the recruiting process for job seekers, helping people to find a place they like to work. Considering we spend a lot of time at work, and much of the rest of our lives is shaped by how much money that job gets us, I think it can contribute to a lot of people living fulfilling lives.
For BrightRoll, I’ll admit that I tend to dislike video advertisements. I see them quite frequently on YouTube and other sites, and I think the only ones that interest me are the occasional movie trailer-type clips. Still, I recognize the role these videos play in generating revenue for content generators like blogs/vlogs, professional-level streamers at places like Twitch.tv, and things like that. So I can somewhat convince myself that they’re helping to build a more open and connected world, by enabling and convincing advertisers to fund that openness and connectedness. The company is pretty small, but the recruiter I’ve been in contact with (Erin, a very easy to talk to person) has repeatedly assured me that they are very good about work-life balance issues. This is a pretty important for me, since the main reasons for me switching is to get some time and energy back from riding the train so I can have a better personal life. I’m quite looking forward to seeing them onsite tomorrow, and if I had to pick one of the smaller companies as a favorite, it’d probably be this one.
FireSpotter is interesting as well, though. They’re mainly a telephony type business, founded two years ago by a few guys who originally made Google Voice. I actually spent about 40 minutes on the phone on Friday with one of the co-founders, and it seems like a very interesting opportunity. It has a bunch of senior-type Google veterans, it’s still very small in terms of engineering, and there’s a lot of opportunity to learn things like front-end development, mobile development, general telephony stuff, and the Google apps platform. When he asked me if I had any concerns, I asked him about working hours and work-life balance. He said there are plenty of folks around the office that have lives to deal with (wives/girlfriends, maybe kids) and it’s not a huge problem for them. But he did make it sound like there were still 10+ hour workdays. It sounds good enough that I’ll continue investigating, but I think I’ll want to ask others (non-co-founders :P) about their work culture.
Livefyre, I don’t really know. The day I talked to their recruiter was the same day that TechCrunch deployed their service. Looking into it, it doesn’t exactly seem like they’re market leaders or anything like that. If I go as far as an onsite interview, I’ll have to ask about what they think regarding competitors like Disqus. Perhaps they can give some insight into how they got the deal at TechCrunch over something like that. So far I’ve done one take-home coding exercise, which had the following format: recruiter emails problem statement at time T, candidate emails solution at time T + 1 hour. Actually this didn’t go completely smoothly. I had originally asked them to send the problem over Wednesday night, planning to work on it from 8:00 to 9:00. However, the previous night someone reminded me that I had movie plans Wednesday. So around 6:45 or so I emailed the recruiter to ask them to hold the problem statement until the next evening. However, it seems she only read my email after she had already sent hers. Originally, she said she would send a different problem the next day, but she eventually said they would trust me to only spend an hour on the problem, and we agreed that I’d send it over at 9:00 the following day after all. Thankfully, I had avoided opening and reading the problem statement (which I think they anticipated), so I was able to honestly perform that part of the interview. It was interesting because, like a live interview, the problem is a little underspecified, but unlike a live interview, there’s no one of whom to ask clarifying questions. So I had to do a little interpretation on my own. I won’t go into the details just for the sake of the exercise’s integrity, but I feel like I made at least one decision which shows a little non-technical sort of insight. I think it was more that the simpler version would never have taken anywhere near a full hour, but then again maybe I missed some huge key detail after all.
So I’m looking at a lot of companies, and they’re very diverse in terms of how they do things. In software engineering/development there is something called a software generalist. I suppose there are varying definitions, but I see it as someone without particular ties to a language or platform. A true generalist recognizes those things as mere tools (albeit powerful tools) toward getting a project done. Undeniably, at a certain scale you’ll need to have a lot of people working together, and getting enough people to work well on arbitrary platforms can be quite difficult (as I’ve found working with fair generalist developers on Rails), but at a small scale it can really be a matter of “which tool is best for the job?” When I was speaking with one of the BrightRoll guys on the phone, the question of what language I use, or want to use, came up. I told him that I do actually like Ruby, despite considering myself language agnostic. There are plenty of cool things to be solved with Ruby, I told him. But I also appreciate that if I’m working with C there is usually a good reason for that too. After all, sometimes the most interesting jobs only have one tool available to really get it done. But the point is that the multitude of options doesn’t bother me. It was the same when I joined Groupon and learned SQL/MySQL/Rails/Ruby/Git, and I’m sure there will be some of it again.
Of course, the companies are very diverse in what they do and their culture too. This did come up with the recruiter from one of the smaller companies, as he said “I’m not sure if someone considering Google is necessary a great fit at this company.” I understand what he’s saying, and I think it’s perfectly acceptable within a group of friends or coworkers. But I see myself as somewhat a client/customer of the recruiting process, so I think it’s best to put the most amicable, open, and accepting face from the recruiting point of view. My response to him (eventually) was that I see myself as somewhat of a lifestyle generalist as well. I didn’t mind running the experiment to see how life would be taking the train to work every day, and I was able to pull it off, but I don’t think it’s right for me. Now I’m ready to run any number of experiments next, and I haven’t yet decided which it will be (certainly, I’m not necessarily able to decide yet). Lifestyle, company culture, business role, etc. etc. are all factors that play into how attractive a company is for me. It goes right in with things like work-life balance (which is arguably more in that side anyway), location, salary, notoriety, etc. Even if I take a position at Google, where some of my interviewers had been there for nearly a decade, I’ll probably be looking at running an experiment again in another year or two. I just don’t think I’d like to repeat the same 6-year single team thing again, until perhaps I find a truly positive result from one of my experiments.
I know this post is already very long, but I wanted to write a little about why I think this time around is going much better than what I’ve done previously.
When I graduated university, and arguably still one year out of school, I was very good at pretty much one thing — competitive algorithm coding. I had spent quite some time with TopCoder and eventually graduated onto what I consider the highest competition — ACM ICPC World Finals. In short, I knew my stuff and could bump elbows with the best of them (more or less). This is one of the best states to be in for an inexperienced developer looking for work.
After being at Microsoft for 4 (or 5) years, I was pretty much only good at two or three things — software development process and systems development itself. I had a bit of exclusive exposure to networking related systems stuff, but not much beyond that. In fact the frequency with which I was writing code was fairly low. Especially by the 5th year mark, I definitely felt like I was stagnating in my growth (as mentioned above). On top of that, I had been immersed in the Microsoft culture which is often adversarial in design and code reviewing.
The first time I actually interviewed at Google, I made some assumptions about my abilities in the algorithms side. And I think I took a somewhat adversarial approach to things. There is one question in that loop that I, for some reason, really thought I knew as a slight variation on another problem. I was, of course, very wrong. Even if I aced the rest of the interview, I wouldn’t fault anyone for not hiring me after that. And of course, they asked me a few distributed systems questions — most along the lines of “how would you design Google service X?” I didn’t really have any foundation of knowledge to really answer these. I’m not sure if my ignorance in these areas added to the problem, but they probably did.
The second time I interviewed, it was a little odd because they put down for a round-trip flight and a night at a hotel, but only set aside three people for me to talk to. I wasn’t sure if it was one of those “if they’re decent, we’ll add three more” sorts of things, and I asked the recruiter but only because I had constraints around making my flight home. I think I did pretty well on the three, except perhaps the interviewed who asked about my work on IP-HTTPS. I approached it a little as a more casual conversation, which of course is not what they’re really looking for in that context. In the end, I of course didn’t get that offer, and I can’t help but partly attribute it to my previous failure.
Around the Groupon interviewing time, one of my coworkers was also getting ready for some interviewing. We helped each other with finding and working through interview problems, and when he came back from his first set of interviews in the bay area he gave me some advice. ”They want to hire nice people. It’s easy to get caught up in the Microsoft culture and see it as a competition. But they want people they can co-operate with, who are technically smart but also have good soft skills. So just be nice.” I think it’s possibly the best fragment of advice I got preparing for my interview, and I imagine it helped quite a bit. When the same friend went for his second trip through (a few months later) he gave me another piece of advice: “Treat the interviewer as if they’re a student asking for clarification from their professor. Thinking about it that way makes it easier to explain the logical thought process, which is basically what they’re looking for.” I think these helped me not only get through the interview successfully, but also to be successful in my job, especially with the open office setting. Without a doubt, on a day-to-day basis I do get questions from coworkers that are very similar to a student’s questions for their professor.
Another thing that’s helped a lot has been the broadening of my horizons at Groupon. I’m no longer just a systems guy, and I’m no longer just a C guy. I get how relational databases work, I can imagine the virtues of a NoSQL datastore, along with the challenges users have to deal with. I know how web services are built, more or less, and I’m comfortable with Ruby on Rails. I’ve effectively made the shift from just wanting to do interesting technical stuff to driving development by business needs and priorities.
I’ve come to like the agile process pretty well too. I think it’s gone a long way to helping me get back into a real rhythm of doing work. At Microsoft it felt like there were just days where I didn’t know what I should do, and/or I just didn’t get anything done at all. Now, every day I have to think about what I’ll be working on, and on a weekly basis we look and see what there is for me to line up for the next five days. There’s a much shorter cycle between thinking about how something should be done, getting it done, and having it rolled out to production. And that feels really good. Especially when much of the interview process focuses on just sitting down and writing out code for a problem, it’s great to have that mindset fresh all the time. I was thinking just the other day, my days at Microsoft have given me a lingering feeling of not being able to do that, so it’s nice to be reminded on a regular basis that that’s not really true.
Finally, I’ve spent a lot of time on the other side of the table. It’s true that every company does their interviewing a bit differently, with Google being notorious for their interviewing difficulty, but I’ve not only seen how other people react in an interview setting but also thought a lot about what makes a candidate desirable or not. And, of course, in the debriefing meetings I also get a sense for how other people appraise the candidates.
It’s somewhat related to the above, but I would say my attitude this time around is way different. The truth is that my job isn’t bad by any means. I think I could legitimately consider transferring to the group we have in the Hayes Valley office, and not be upset about it. Between the reduced pressure from that and what I’ve learned from everything else, it’s extremely easy for me to talk to recruiters very frankly and casually about the sorts of things I’m looking for and where they fit into the big picture that this job hunt is. Thinking about it right now, the only particularly bad vibes I’ve gotten are from Twitter, which makes it less attractive for me. BrightRoll, on the other hand, I would have to say has earned a few points in how accommodating they’ve been for the whole process.
A lot remains to be seen. I can’t yet count on any offers, actually, so I need to stay focused and make sure that my skills and personality show through properly. Still, I feel confident that I’ll have at least a few options, and I can’t help but get a little giddy at the prospect of making this change in the next few months :)
This year I decided to go spend New Years in Los Angeles. I was hoping (in vain) that the weather would be quite nice, and that I could get one or two surfing sessions in. I drove down on the 28th and made decent time, only catching a bit of rush hour as I arrived at the city. Matt and I went for dinner and it was pretty uneventful otherwise.
I think I’ve mentioned before that Matt is a good friend of mine from back in senior year of high school. For the one year we hung out before graduation, we became really close. From then, even for a while after he left Michigan Tech, we had a de-facto tradition of spending New Year’s Eve together. A friend’s house, a coworker’s basement, a random party (and I mean really random); it was usually something different each time, but we somehow always went together. So this past year was a little of a resuming of that tradition.
As it turned out, the weather was pretty cold that weekend. Jimmy Kimmel even did a bit on the unusually cold weather (for the area). Plus it had started raining, so it was easy to rule out surfing for Saturday. At that point, I think we pretty well understood that there wouldn’t be any surfing for the trip in general. So that day we just ended up hanging around the house. Matt’s roommate’s boyfriend was there playing Dark Souls on the projector in the living room. I was at the coffee table alternating between playing Towns and watching him play. Matt spent most of the time out on the porch smoking and playing Tales of Innocence. He joked with his roommate a bit that they should open up an arcade in the house :P The day was pretty chill.
Sunday we went out a bit. The most memorable bits were going and seeing Tom’s bench and the Bradbury building. Of course, both sites are featured in (500) Days of Summer, with the latter being a popular setting for movie scenes in general.
Sunday evening went and picked up Matt’s friend J from the airport. As we were chatting on the way back J mentioned his friend Kyle. ”I think I know him,” I told J, “he used to live in New Orleans, right?” Matt and J were both pretty surprised at the coincidence, but of course it happened to be the same Kyle that I’d hosted a night or two in the city. We brought everything back and decided to go for some burritos (for J) and then some drinks.
When we got to the bar, they had both been talking about getting some PBR. So I went in ahead (I was the first in line for ID) and ordered 3. No sooner than I get them does Matt walk in and tell me that J forgot his ID. It’s an understandable mistake, because J has been living in Mongolia for quite a while and only has his passport for an ID now. Still, it was a bummer, since it meant I either had to abandon the drinks or sit and drink them alone for half an hour while they walked home and back. In hindsight, perhaps I should have just left the drinks :P
Monday was a lot of driving. It sucked because I was the only one with a car and LA is annoying enough to drive around even without someone failing to give directions >.< There were a decent number of last-minute turns, and I also had to deal with parking (qq). We went to a pretty cool lunch place, and after that we were going to a camera shop for J. Apparently he’d recently acquired a medium-format camera, and was really excited to use it. He mostly needed some developing chemicals to take back with him to Mongolia. So we went to somewhat of a specialty camera shop. It was interesting to walk around and see things, and finding our supplies wasn’t all too much trouble. However, as we were about to leave J found someone to ask about the shutter on his camera/lens. This turned into a good half hour (at least?) of trying to troubleshoot the camera, only to find that it seemed the body was defective. I was a little worried about the parking meter, but Matt and I caught it before it expired and managed to hold it until the place closed down for the day. At that point I was somewhat excited to get home and be done with driving for the trip (more or less). On the contrary, J was getting quite depressed about the state of his camera. It seemed he wouldn’t be able to go back to Mongolia with a working one.
When we got back, we did go and grab some supplies for the NYE party that Matt would be hosting. I think I grabbed 4 bottles of sparkling wine, either a 6-pack or a 12-pack, and some snacks. Matt and J also picked up some beer, and when we got home we were easily overflowing the available space in the fridge. I think we built on one other bottle of sparkling wine and most of a case of beer.
The NYE party itself was pretty interesting. Mainly because so many people showed up and I was virtually acting as a host. I talked with almost everyone (certainly almost all the girls :P) and did a few introductions. I did a surprisingly good job of remembering names, which made bouncing around and chatting with people easy and fun. I hadn’t really planned on picking up, and I didn’t, but J had been and it was funny to watch him fail completely. I’m not sure if it’s a cultural difference from where he lives now, the fact that he was depressed about the camera, the fact that he was on antiallergenics, or maybe just that he’s a weird guy. But he seemed to have quite the trouble.
Fairly early on, I overheard someone talking about Bigfoot. I butted into the conversation a bit and asked if he believed that Bigfoot is real. He started to go on about how there are always new species being discovered, and some things we don’t (didn’t) have solid evidence of we still believe in (giant squid was the example). I was pretty sure an outright debate would go nowhere, so I decided to probe laterally, asking what his thoughts on the Loch Ness monster and UFOs was. When he asserted that UFOs are indeed real, I inquired into his thoughts on the nature of UFOs. It seems he thinks they’re mostly secret government projects, or something like that. We did a pretty good job of ending the conversation amicably; I did get the impression that he was worried about upsetting me, but that would be silly.
The other interesting person I talked to was a girl I only remember as Z; I don’t think I ever quite caught her full name. She was visiting with a friend of hers who was there to see Matt. She was cool to talk to because she was very excited about the work she’s doing in secondary education. I forget the details though.
When the ball finally dropped, we were all in the back yard around the little fire pit. I remember the one guy, Matt’s roommate’s boyfriend, set a bottle of wine on the fire pit (the stones that form the circle). It’s not immediately close to the fire but I’ve heard horror stories about exploding glass to the point that I’d rather people not put it in fire near me. Anyway you want sparkling wine to be cold :P So I picked up the bottle, and the guy proceeded to yell at me, because he bought that one. I was a little bugged by this, but at least when I handed it back to him he held onto it.
A few people stayed for quite a while into the morning, including this Jesi girl and this Chad guy. Chad is kinda hilarious but also a bit sad; he had been warning J about Jesi but he sure enough was trying to get into her pants at the end of the night. Thankfully she deflected those advances. I did end up having a rather interesting discussion with Jesi that night too. It definitely seems like she’s a bit of a lost soul herself. She was the first one recently that I called out as being a fatalist, which she apparently hadn’t heard of (I guess most people haven’t).
I suppose fatalism is very close to determinism. They might even be exact synonyms. But I see fatalism as having a worse connotation. While fatalism is not inconsistent with a self of self, a sense of desire, and a pursuit of life goals, I think it’s easy for it to sweep them away. If one convinces themselves that it doesn’t matter what they want or what action they take, it’s easy for them to not do or even want anything. Of course, I’m saying this with a non-fatalist and non-determinist perspective. Anyway it’s a little sad to see her like that; it’s the sort of thing that makes me feel lucky to have found a real sense of self-sufficiency. I suppose it can get lonely, but it has its perks too :P
Tuesday we did end up sleeping a bit, sending Jesi home and then meeting back up for brunch. We went to a cute little French place which gave us each a free mimosa for New Year’s Day. The food was nice, and our waitress even gave us a free dessert (which I was given for the drive home).