Bob was "good people", always advocating for others, yet also demanding in expectations. I also knew Bob as an engineer's engineer - able to dive deep down into murky system details (ala The Night Watch - https://www.usenix.org/system/files/1311_05-08_mickens.pdf) while simultaneously advocating for usability in API design. Bob was also the first person I heard the axiom "Code drunk, deploy sober" from. If you know Bob, you know.
I first met Bob when I joined Google and Josh Bloch introduced me to folks working on Guice: Bob Lee, Jesse Wilson, and others. I didn't work directly with Bob, but we talked here and there. I learned he had strong opinions - at one point he tried to convince me to use Dalvik (Android's Java Runtime) for App Engine. I was not convinced. A decision I still stand by today. :)
A bit later Bob left Google to join Square and become CTO, and a bit after that I left Google to start Square's ATL office [1]. I still remember having run the technical interview gauntlet, meeting Bob for a final interview, and him wanting to grill me with a circular queue implementation. [2] Bob and I talked about my work history, and it jogged his memory. In an interview training class that Bob and I later gave together, he recalled being embarrassed about the experience and exhorted everyone to make sure they fully read the candidate's resume before the interview.
Bob was always hands on. You respected his opinions and advice even if you didn't always agree. It's a technical depth that's hard to maintain as you get higher up in management, and I got the impression that it's one of the reasons why he eventually moved on from Square as it was growing from hundreds of employees to thousands.
I like to think of Bob as a kindred spirit. We both grew up in Cobb County, both striving to be world-class engineers. He made the world seem smaller, even if it took a Google re-org, some serendipity, and repeated travel 3,000mi west to get to know each other. RIP Crazy Bob from Cobb.
1) Along with six other Xooglers
2) I refused - I was burnt out from all the previous interviews at that point.
Like you, “engineer’s engineer” was the phrase that came to mind for me too. Just really loved the craft, always happy to get into it and unpack a problem with you. Everything was tractable through code. So long as it was Java.
Like you, and hundreds of other Square engineers, I was asked to implement a circular buffer in my interview with him. I did it, not having the fortitude to decline, and I’m glad I did. I learned a thing or two, including that I would learn a hundred more things if I joined Square. What a great way to sell candidates.
I remember Bob kicking off the effort to get every Square engineer to come up with a pairing question and carry that culture forward when it no longer scaled for him and a handful of others to do it. I don’t think people thought it was reasonable. I do believe it worked!
I remember new folks asking earnest questions about why we had a monorepo and Bob replying that it was self-evident (a rare miss). But when I called him out on that he took the time to explain to me how it was all about being able to do global refactors across all our apps… something that only made sense when you were the kind of seasoned Java programmer who really wanted to refactor shared libraries on behalf of all teams at once. So glad he attracted more of you ;)
I remember working with Bob to update some of the Square visualizations that Mike Bostock of d3 fame had created. The “can do” attitude prevailed, even though Mike’s code was not documented, we were able to get it working and I believe we did truly novel work that day. Pretty sure (thanks Hindenburg) that code is still running.
I remember a lot of hiring bars, where not only was Bob responsible for scaling up the pair programming interviews, but he was actually really interested in the code people wrote, and in reviewing it with his colleagues. I later saw some flaws with that, but I’ve always respected the passion and the attention to detail.
As Cash scaled, before he left Square, I remember Bob went back into IC mode and was there, late nights and all, headphones on, cranking out the code. Pretty sure it was Minus the Bear on repeat for hours.
Last memory, I remember a surprising number of hugs and enthusiastic handshakes when things went well. Candidates closed. Features shipped. Fridays.
Just the raw exuberance. That’s why this hits so hard. RIP crazybob.
I first met Bob when I joined Google and Josh Bloch introduced me to folks working on Guice: Bob Lee, Jesse Wilson, and others. I didn't work directly with Bob, but we talked here and there. I learned he had strong opinions - at one point he tried to convince me to use Dalvik (Android's Java Runtime) for App Engine. I was not convinced. A decision I still stand by today. :)
A bit later Bob left Google to join Square and become CTO, and a bit after that I left Google to start Square's ATL office [1]. I still remember having run the technical interview gauntlet, meeting Bob for a final interview, and him wanting to grill me with a circular queue implementation. [2] Bob and I talked about my work history, and it jogged his memory. In an interview training class that Bob and I later gave together, he recalled being embarrassed about the experience and exhorted everyone to make sure they fully read the candidate's resume before the interview.
Bob was always hands on. You respected his opinions and advice even if you didn't always agree. It's a technical depth that's hard to maintain as you get higher up in management, and I got the impression that it's one of the reasons why he eventually moved on from Square as it was growing from hundreds of employees to thousands.
I like to think of Bob as a kindred spirit. We both grew up in Cobb County, both striving to be world-class engineers. He made the world seem smaller, even if it took a Google re-org, some serendipity, and repeated travel 3,000mi west to get to know each other. RIP Crazy Bob from Cobb.
1) Along with six other Xooglers
2) I refused - I was burnt out from all the previous interviews at that point.