Hacker News new | past | comments | ask | show | jobs | submit login
Remembering Bob Lee
2090 points by aEJ04Izw5HYm on April 5, 2023 | hide | past | favorite | 217 comments
I want to draw attention to Bob Lee, a well-respected technologist and prototype hacker, always curious and sharing lots of interesting technical developments. He was a great role model for how Engineers should be respected in an executive capacity as he advanced his career from 'Software' to 'Product'. His efforts contributed to technology used by millions. What happened to him is tragic and wrong; he deserved better. Thank you, I'll miss you 'crazybob'.

Please share your stories featuring Bob Lee, who I'm sure would like to be remembered for his contributions rather than as a victim of this unfortunate awful event.

The related ongoing merged thread is Bob Lee, former CTO of Square, has died after being stabbed in San Francisco - https://news.ycombinator.com/item?id=35448899. I've converted aEJ04Izw5HYm's comment from that thread into this top-level submission so that comments and memories about Bob Lee can have a place of their own.

As for discussion of the event itself, (1) please keep it in the other thread, not this one; and (2) please don't go off the flamewar deep end when you do. The worst stuff in that thread is pretty bad and not at all in the intended spirit of this site: https://news.ycombinator.com/newsguidelines.html.

Edit: I've gone through that thread now and tried to move all the relevant comments here. If you notice a good comment about Bob Lee languishing in another thread, let us know (hn@ycombinator.com is best) and we'll bring it over.

At first, I didn't like Bob Lee. Then I met him.

I didn't know him when he joined my AdWords team in '04. He was the next to join after me. He was 24 (I was 29) and he was known by a fun nickname and he had already co-written a BOOK ferchrissakes.

Worse, he was going to be working on the stuff that I had asked to work on (but had been told we didn't have time for).

I had him sized up all right. I didn't like hotshot kids like that.

Then he pops into my cube one day and asks if I could help him get IntelliJ working.

This immediately surprised me. Hotshots don't ask random nobodies for help! In our field I guess it's the purest sign of humility and respect we have.

My times of not liking Bob Lee were over by about 12 seconds into that conversation.

Once we got it working, I casually mentioned something about the work he was assigned to do -- that I was so jealous about -- and I will never forget what he did. He said "yeah, so I was thinking we might do something like..." and just like that we were COLLABORATING.

That is who Bob was.

And we kept collaborating. He started fixing our dependency hairball issues using injection, and my friend Z and I eagerly adopted what he was building in a second subproject. Soon Bob and I were having interesting design discussions almost every day, figuring out how to turn his brilliant ideas into an open-source product. That became Guice.

When designing a new thing Bob was like a kid at Christmas. I have emails from him sent at odd hours with subjects like "we can solve <X> like <Y>!!" and no body. Classic Bob.

Bob was genuine, kind, and fully possessed of the joy of making things. And he was unlike any other tech person I've met.

His tech accomplishments go on for miles, but I am positive that the list of people like me whose lives he changed for the better is longer.

For what it's worth, he still talked about you pretty much every time we got together. He loved his time there.

Wow. Thanks so much for telling me that.

this is kinda story of life too, huh. I try to be open. We are all mostly great people on this planet. Too bad about his passing.

The anecdote I always share about my 2013 internship at Square involves Bob. It took place during the quarterly Hack Week, when the company allowed everyone to take a break from work and build whatever they liked. Cash App (known as "Square Cash" back then) had just been launched, and the only way to send money was by emailing someone with a dollar amount in the subject line and cc'ing cash@square.com. My fellow interns and I decided to expand this email functionality by building a "pay by Tweet" feature with essentially the same mechanics (https://twitter.com/hackweek9bot).

We downloaded the codebase (I believe it was called "Franklin") and found ourselves struggling to get it up and running. I entered the room where the Cash team was seated and started asking a random guy questions about the dependency injection library (Guice) and various other topics. After about half an hour of answering my questions, he compiled a list of documentation for me to read and sent it to me via email. I returned to my Hack Week team and forwarded the email to them. "Oh, dude, that's our CTO," one of my teammates informed me. At that moment, I was convinced I would be in trouble for bothering an executive. However, instead of that, I ended up receiving a fist bump during our science fair-style project presentation. He was a genuinely cool guy.

You forgot to mention that the dependency injection library, Guice, that you were asking about was created by Bob himself!

CashApp's monolith is still called Franklin today.

Ex-Square chiming in (I fondly remember Project Franklin), he was also arguably the inventor of modern dependency injection as we know it!


There was PicoContainer before Guice. Maybe it didn't count as modern though.

PicoContainer was absolutely awesome.

Thanks! (I wrote the first version...)

Used Pico for quite a lot, loved it.

Wow! This is also the best description of DI I've ever read.

Wow. Ok. Thank you for sharing this.

Guice was one of my first "aha" moments at Google about how modern Java could be written without a million XML files. I later took Guice to multiple other companies and projects back when I used to sling Java code for a living.

It seems like such a small thing, but it had a huge influence on my career right out of college.

Yup, Banklin and Franklin.

Bob Lee will be missed.

> At that moment, I was convinced I would be in trouble for bothering an executive. However, instead of that, I ended up receiving a fist bump during our science fair-style project presentation.

I suspect many CTOs long for this kind of work. But their time is usually taken up with administrative duties.

Love this story. This was how I remember him too; I didn't know he was our CTO until after a long conversation with him about some technical minutiae.

I've never found anyone who was punished for asking questions / raising concerns about org problems to leadership.

Most of the times the leadership is clueless about the problems in their orgs because nobody wants to tell them any real problem.

They appreciate that you share your pain points with them even without solutions.

Of course, you should share the pain points in a polite manner where you talk about your perspective only without speculation on other people's intents. But you should do that any way regardless of who the listener is.

I remember your hack week project :)

Bob interviewed me, and taught me to be a good interviewer. I don't know if other folks remember him for this, but he taught half the company how to interview. This skill proved very helpful in the rest of my career.

Thanks, Bob. You'll be missed.

I would love to learn how Bob approached interviewing, if you've ever up to writing this up!

Bob was a nice guy. We had an overlapping tenure at Google in the 2000s. He was one of the original authors of the Guice dependency injection framework: https://github.com/google/guice. When I was earning Java readability at Google, I was fortunate to have had him assigned as a reviewer. Having the review work so smoothly alleviated a lot of the imposter syndrome I felt at the time. I felt like a million bucks afterwards. The compassion and humility he brought to the table made a world of difference.

His murder represents a huge loss; he left a very positive impression on me.

I've never met a dependency injection framework I liked, but I hated Guice least. Credit to the minds who conceived it.

One of my old teams also liked to mispronounce it as "Gucci" for extra style

Dependency injection as an external framework is an antipattern for me. Ends up creating more problems than it solves.

Ah... I wondered where I recognized the `crazybob` name from.

Guice was the one Google code that surprised me with how good it was while I was there.

Thank you very much -- I guess it's understandable given the tragic circumstances of his death, but Bob very much deserves to be remembered as you described him: an engineer's engineer. I first met him at Foo Camp in 2011, and we had a deeply enthralling conversation about building the Square reader. As it turns out, credit card swipes are (were?) fiendishly complicated! (I still tell others the advice that Bob gave me: for the best read, you want constant acceleration of your card -- not a fast swipe.) He showed me the tooling that he had built at Square to debug bad swipes; it was a role model for rigor in engineering and especially for the power of tooling. (Unsurprisingly, I was not the only person that had a conversation around this time and about this topic with Bob.[0])

dang: Thank you for the black bar today for Bob, a role model for us all who will be deeply missed.

[0] https://twitter.com/yishan/status/1643599340106301440

Constant acceleration, or did you mean velocity? I'm imagining that the magstripe data must be unevenly spaced for constant acceleration to make sense?

No, I mean constant acceleration -- which is what made it surprising! (The constant acceleration made it much easier for the reader to determine the direction of the swipe, IIRC.)

"dang: Thank you for the black bar today for Bob"

I want to second that.

I'm touched by how many people knew him and how much of an impression he left. We lost a really good one. :(

I knew CrazyBob for over 20 years. We met at JavaOne and at the time he was still a consultant living in St Louis. Bob was always the life of the party with a grin like a Cheshire cat. Eventually he got a great job at Google working on the core APIs for Android and created the very lightweight Guice dependency injection framework. We shared a distaste for both Spring and J2EE by that point. At Square he started the CashApp and created a strong engineering culture. Even though he was a college dropout he was one of the best algorithm guys I have met (e.g. https://www.beust.com/weblog/coding-challenge-wrap-up/). The closest we ever got to working together was when I was talking with Twitter about an acquisition of my startup and was getting advice from him he immediately put us into the process at Square. I think their pair programming interview style was the most fun I have had interviewing. We ultimately went with Twitter but I would have done as well going with Square.

Our families would hang out together when we lived close and I feel sick just thinking about his children right now.

Hey Sam, that's actually the JavaOne that I was flying to from a meeting in St Louis. When I got on the plane, I met ... Crazy Bob and the rest is history.

Oh another commentator from back then.

I was trying to find that blog post by Cedric. Thanks Sam for linking it.

Bob Lee, RIP.

I have 4 memories that keep sticking out about bob. I shared them on twitter - but I will share them here with a bit more color. They are a bit different cuz they are not really engineering related, but will give you some idea of his character and how he interacted with folks:

1) when I was CTO of the Obama Campaign I was scared and lost. bob helped me so much. helped me be a better CTO. helped me sell a lot of weird shit to people who didn't want to buy (i.e. tech). and helped us use square. it was always so much fun. He was a very strong guiding force.

Once, when he came to chicago to help with the square integration for OFA, we all went out clubbing and it go so crazy. (I think) he lost his laptop. randy reddig and him both lost a bunch of their stuff. I remember he stayed out all night partying with people who he didn't know. I still have DJ friends who mention "whatever happened to that square guy who was so much fun. "

towards the end of the campaign he schooled me on how to run a better interview program. helped me design the interview strategy we had at modest (which I am really proud of). he reminded me that you can be ethical, gracious and flexible - and still hire great people. no need to be a dick. be positive

2) my friend Derek broox and I went clubbing in the early 2000s. we went to a metallica show with vivid entertainment (wild times) and Derek took this photo of the metallica show. for some reason we uploaded the photos to my flickr account. metallica found the photo and used it in their death magnetic album cover. they credited me and not Derek. (More details here - https://derek.broox.com/blog/do-i-sue-metallica-or-do-i-sue-...)

anyway. Years and years pass and Metallica is like "whoops" and invites both of us to see Metallica at this super small venue in Iowa. I told bob about it and he introduced me to Lars. Lol. Of course bob knows Lars and is just going to introduce me.

3) last week bob calls me at 7am chicago time. I am in bed. he calls me on FaceTime like a mad person. no heads up. just facetimes me. lol.

He was hanging out with Lee Foss and wanted to make sure we connected (lee is from chicago and we have a lot of mutuals). Bob was like "you guys are both awesome!"


One time in the 2010s we were going to some benefit party at a club in SF. We show up and the door guy told us that it was going to be 25 bucks to get it. Or 5 bucks but we had to ditch our clothes and be in our underwear. Bob and I immediately choose the 5 dollars option without saying anything. Just immediately took off our pants. It just made sense. It was a great party and really fun.


Bob was a tremendous mentor to me. He helped me when I was a baby cto (at the Obama campaign lol) and helped me when I was a baby ceo. He was one of the bright stars out there who helped make sure the world was better. I am pretty cynical about technology and our industry - bob was an exception. Without bob, I wouldn't be who I am today. The best part is that I know dozens of people who would say the same thing. His impact is wide and weird.

I wouldn't say I know his values, but I watched his actions: - he was always generous with his time, and his connections - he was always up for an adventure - and even when we had no pants on in a club, he was giving me advice on how to make sure my company was more successful, make sure my teams were properly fed, and make sure I was taking care of myself

I am going to miss that guy

Thank you so much for posting these

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 interviewed at Google almost 20 years ago, and Bob was one of 5-6 interviewers that I had. I don't remember the other interviewers, but I remember Bob. He was very high energy, and posed a really fun, original question about selective logging. The kind of question that you could tell was born out of his personal experiences at Google, not just something he found in a "ten linked list questions" blog post. The gist of the question was something like "Imagine you have a very high throughput service, and you want to log notable events and errors, but not log terabytes (or petabytes) of data about successful executions. How would you design a logging system around these constraints?" We had a fun discussion about this question for about 30 minutes, and I remember being even more excited to work at Google after seeing that people like Bob worked there.

RIP :(

This is very interesting but I fail to see an issue. You listen to all incoming log messages and only store != success. What am I missing (obviously)

It's a system design question. High throughout on the scale of Google means you'd laser any log ingestion service to death.

He was probably looking for a distributed way to label logs and build an ingestion service that shards regionally with high availability, but still able to search and filter within an acceptable time for debugging purposes.

How can I learn about these topics? Junior self-taught dev, I read these things and kind of see what they're about, but I wouldn't know where to even start with this...

You can practice the mindset by writing a toy solution for the problem, then listing the reasons why you consider your solution just a toy. This develops a fundamental skill of engineering, which isn't understanding whether a system will fail (it will always eventually fail, even if the first reason is that the sun explodes), but rather when and how it will fail. You can make a whole career out of pulling on that thread.

(I worked at Google with Bob in the mid-2000s. I might have interacted with him once or twice on the internal Java and Guice mailing lists, but never met him in person. He was supremely helpful and knowledgeable, and I admired him from a distance.)

Designing Data Intensive Applications (DDIA)[1] is a great introductory book for such things. It covers a broad number of system design topics, and you can then go into detail for stuff that interests you.

Other than that, several companies (such as Uber) operating on a large scale maintain engineering blogs.

[1] https://dataintensive.net/

I'm interested we well

But what do you log when there is a failure? A huge call stack, a huge object, some kind of information about what went wrong, what?

Bob was crazy. In the best way.

In the early 2000s, I first encountered Bob through the Java open source community. He had a knack of being able to go deep on a tough problem and emerge with a wonderfully elegant solution. This was a time when software was getting increasingly complex, and so did the knowledge required to understand it, yet Bob consistently bucked the trend and made things seems simple. He would tackle problems that scared others. He was crazy. Crazy Bob.

At one point we had a rivalry working on two open source projects competing to solve the same problem. When we first met face to face, I was nervous there may be confrontation, yet he was friendly, full of energy, and excited that we shared the passion for the same problem. We brainstormed many ideas and both went away feeling great! His crazy energy amplified my own and passion for software.

Shortly after, I joined Google because of Bob. Over the years since, he and I did our best to recruit each other for nearly every company either of us worked at - we just never got the timing right, yet I was always hopeful we'd figure it out eventually.

Even in CxO roles, whenever Bob and I met we'd geek out on all sorts of tech problems, ranging from API design, to embedded C firmware tricks, to financial protocols, to graph network theory, to hardware development. He loved tech, and his eyes lit up whenever we found a shared passion.

Bob was one of those few people who was incredibly smart, could see the problem in different ways, energize everyone around them, and make you want to be a better you.

Crazy Bob. You'll be missed.

A few things about Bob that I found remarkable.

He was incredibly hard working, in the early days of Square he owned the engineering hiring process and was on the interview panel for every engineer up through the company having hundreds of engineers. It was just an amazing amount of work he put into this. When there weren't enough hours in the day, he started delegating, but the whole engineering culture was just incredibly shaped by his hard work.

In spite of being very accomplished as an engineer, he was humble and knew what he didn't know. I worked in infrastructure and Bob was much more of a mobile guy. He deferred to our expertise in the areas where he wasn't an expert.

Some years after we'd both left Square I was interviewing for at various companies. I noticed a shared connection at one company. I asked Bob for any background, and unprompted he sent a glowing recommendation to that company.

And then CashApp. That started as a hack week project led by Bob. It was all email based, I remember how excited he and Jack were about it. It was cool, and IIRC, we actually launched the email only version of it before Square Cash and then CashApp evolved into what it is today.

Not to mention patient as he helped the org mature multiple times over

I first met Crazy Bob when I was onboarding as a junior engineer. He spent a good half hour answering my questions about how to go about work, grow into my role, and explore the things that interested me.

He was the busy CTO, built up the core service container (which I later maintained), but he spent time giving me advice and encouraging me. He was an instrumental figure in getting rid of my imposter syndrome at my first big role.

We met several times after that, and he was always kind.

Thank you for caring, Bob. You made an impact in my career and you're gone much too soon. Your code, fingerprints, and even Crazy Bob moniker are powering billions of dollars of transactions and will be there perhaps longer than all of us.

I knew Crazy Bob online for a while before we met. We both ended up working with some of the same packages (early Java enterprise stuff) for some of the same big companies, and we were chatting with each other on our blogs, and posting/arguing on TheServerSide.com at the time. I was visiting one of those companies (SBC) in St. Louis in '03, and getting on a plane to fly to SF to speak at JavaOne, when I ran into Crazy Bob on the plane. We instantly recognized each other, and we ended up hanging out for most of JavaOne, and a slew of conferences after that (various JavaOnes, TheServerSide Symposium, etc.) At one of those TSS conferences in Vegas, Crazy Bob married Mrs. Crazy Bob (yup, Krista went by that name online :) Not surprisingly, Crazy Bob was pretty damned crazy about Mr. Crazy Bob, and I wish I could tell some of the stories but they'd probably get me banned from this site. Anyhow, the wedding was on the bridge of the Star Trek Enterprise, and the reception was in a ... um ... let's just call it a specialty dance club. All night. Red bull and vodka to stay awake.

Bob worked on the original Google Adwords. He created Guice. He worked on the original Android. He worked at Square. Cash app. etc. His technical chops were solid, and he actually loved doing the technical work. In his spare time, he programmed his custom garage door openers and did all sorts of other crazy projects.

But what he was best at was being an amazing cheerleader. Sure, he loved to talk about his passion projects and whatever library he had whipped up in a 48-hour coding session the week before, but he actually put more effort into bragging about the stuff other people were accomplishing around him. And he wasn't faking it -- he really loved it all, and he really meant it. He spent hours and hours bragging to me about people he was lucky enough to work with, and I've met many of them, and they're all like "he's got that all backwards". Some of them I haven't met, but I swear I know them inside and out just from all of his descriptions. :D

He was also super proud of his little brother Timmy ("Oliver"), who moved out to SF running some high end restaurants, and ended up switching into the tech industry as well.

And of course Bob was most proud of his two daughters.

I last talked with him in February, and at least I got to tell him one last time that I loved him and his family. And while I'd normally (and respectfully) say RIP, I swear there's no "Rest In Peace" for Crazy Bob ... wherever he is, the music is turned up to 11 and the lights are on all night.

> He spent hours and hours bragging to me about people he was lucky enough to work with, and I've met many of them, and they're all like "he's got that all backwards".

YES, that is peak crazybob right there. Thanks, this was beautiful.

> And while I'd normally (and respectfully) say RIP, I swear there's no "Rest In Peace" for Crazy Bob ... wherever he is, the music is turned up to 11 and the lights are on all night. +1000

I had a lot of warm interactions with bob.

Here’s a great one: over beers at a certain venerable Silicon Valley establishment, over a decade ago, bob taught me about what a weak map should really do: keep a value alive when both the map and the key are alive. It blew my mind.

This led me to eventually coming up with the idea that a GC is a data flow solver rather than merely a graph search. Something that is at the heart of every GC I’ve written since, including the one that ships in JSC.

Thanks for all the awesome insights bob.

> bob taught me about what a weak map should really do: keep a value alive when both the map and the key are alive. It blew my mind.

Can you share more details? That's so counter intuitive to how I think of WeakMaps and I would like to know more.

I called it a “weak map” rather than “WeakMap” deliberately. Bob was describing what he wanted, not what he got.

However, if memory serves, the JS weak map has the semantics bob wanted: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

I worked closely with Bob at Square through most of the 2010s. I keep coming to write something but nothing could do it justice... I just feel numb at this news.

So many of you have shared about how he impacted Java, Open Source, and being an engineer. I figured I could recount a couple more personal anecdotes.

1) I tried to keep up with Bob drink for drink one night... big mistake. We were at Strange Loop in St. Louis together (I believe 2013). On the Saturday, a bunch of us went out for drinks at a nearby dive bar. He was the life of the party as usual. I stopped at least 1 hr and 5 drinks shy of Bob. The next morning I woke up with the 3rd worst hangover I had ever had and he looked fresh as could be.

2) A bunch of Squares went to The Cafe (a Gay bar in the Castro) one night. He and his wife had put the girls to bed and called a sitter so they could come out with us. I vividly remember at one point in the night, we were hanging out by the bar area and I mentioned I was going to go down on the dance floor for a bit. "Down there?" he asks as he grabs me by the shoulder with a mild look a fear on his face. It was a pretty busy night. A gogo dancer stood over us, hips to eye level, on the covered pool table. "You don't want to go down theeeere!" implicit in his tone was a sense of worry that I'd be a piece of meat in the sea of people. His wife looked at me, shrugged, and we laughed

I don't have much unique to write but want to say something anyway.

Bob and I overlapped at Google and on Android and I think we even shared a manager for some time. It seems we overlapped at at least one Foo Camp as well.

Bob always seemed chipper, excited, friendly, patient, and happy.

I've been searching my email to re-read our various interactions over the years. We started following each other on Twitter in 2008. In 2012, a friend offered to put me on the guest list for a Stripe party. I replied that "Crazybob already put me on :-)". In 2020 we were DMing about custom-designed front doors and whether my friend also wanted to make him one. He was thinking Shou Sugi Ban style.

We're the same age, both dads. I also used to live in SF and visit sometimes. It all seems so surreal.

I hadn't seen him in person in ages but regularly saw him post to Twitter.

Like I said, nothing much unique to say. But I'll miss him. He was good people.

I believe I met Bob for the first time in 2007. I was already leading the Apache Groovy project back then (started in 2003) and had the chance to do a "tech talk" at Google, in Mountain View, to present the language to Google engineers.

In the crowd, there were pretty famous people like Guido Van Rossum (of Python fame), Cédric Beust (TestNG), Romain Guy (on Android), Patrick Chanezon... and of course "Crazy" Bob Lee, who was working on Guice and the Android libraries. Very humbling.

I then met him a few times at JavaOne, and maybe some other Java-related conferences or parties! I didn't know him very well though, but I highly respected him. However we had some heated-discussions on programming languages! Bob thought Groovy wouldn't last long, but Groovy is still there 20 years later. He was rooting for BeanShell...

Oh time flies!

It's so sad, so terrible! I often walked those streets myself (the Google office is right around the corner)

My thoughts go to his family, his two daughters.

What a thread with all those people from the mid-2000s.

It’s a reunion for the worst of reasons but it’s a testament to crazy on of how many people he made feel awesome along the way

Crazy thread indeed; I am writing Groovy code and a past lead of Apache Groovy turns up to pay tribute.

And in my current project, I'm using Bob's creation, the @Inject annotation that he introduced when he was leading the work on JSR-330!

Thanks for mentioning that - sent me learning more about the nuances of @Inject vs @Autowired (Spring shop here; I gather Bob hated Spring and my feelings about it aren't super warm either).

So sad. I met Bob once at an interview at Square in 2012 for the final interview. I believe he was the inventor of Google’s guice dependency injection library and the dagger library. I bombed the interview. I liked him anyway. RIP.

Exact same experience in 2010. He was internet famous for guice, CTO of Square and former lead of Android library dev. Asked about my flight and was generally just friendly.

Before that I had even cold-emailed him about something related to the Square CC reader and he responded.

Anyway I didn't get the job either, but it was impossible not to like him in my very limited experience. Terribly tragic.

The extent and popularity of Square libraries in Android development is crazy. Whenever you download an app I think there's a pretty good chance some of Bob's code is in there.

If I remember correctly, Bob Lee worked on the Google Android team too.

Yes. He wrote big chunks of the original Davlik libs.

Just to fill in some detail, Dagger was originally by jessewilson, but Bob was certainly highly involved. They were working together a lot then.

Oh, yup. I knew him as "crazy bob" through all his guice comments, and didn't connect that these were the same Bob Lees until your comment.

Some great contributions he did. RIP, life is simply unfair.

Precisely my experience with him as well.

People loved Bob, it was truly just a magic he had.

In 2010, Zuck gave a lot of money to NJ schools. For reasons completely unknown to me, Bob, who was at Square at the time, was given the task of writing the code to accept the donations that would be given from the public alongside Zuck's gift. For reasons also completely unknown to me, Bob called me and asked me to help write the code. We had something like 3 days. I was working at my own startup at the time but was excited to go work on this one-off with Bob.

We had worked together at Google and spent a lot of time in the Java community thereafter. We were both Java geeks at the time, but I was confused why he couldn't find anyone at Square.

In any case - I went to Square each day for 3(?) days. I remember that we didn't need to process the transactions (thank goodness), but we just needed to validate and log them which made the problem much much easier. Bob insisted we write each transaction to 3 different machines for redundancy. He also insisted we used fsync which ensured the disk writes actually happened and didn't just get left in an output buffer. He was absolutely right, but I remember being saddened how much slower it made our system.

We finished the system with time to spare. Unbeknownst to me (and maybe Bob I guess) another team at Square also implemented the system in Ruby in competition with us. I recall them being rather "anti-Java" at the time.

In any case, we then benchmarked both systems and unsurprisingly, the Java version was many times faster than the Ruby version (in transactions stored per second). Of course, apart from fsync, this was also not just Java code - it was CrazyBob's Java code which wasted nothing. I really had a blast working on that project with him.

I now realize I really don't know so many finer points of why many of these decisions were made. If any early Square folks were there for this, I'd be interested in what you remember.

Oh yes - Our system ended up being good for several hundred or several thousand (don't recall) transactions per second.

Bob called me after Zuck's announcement that the system hit a peak of (wait for it), 5 transactions per second. And that for only a very short time. The system was mostly only loaded with a transaction every few seconds (or maybe even minutes)

The Ruby version would have been fine. Heck, we probably could have just printed the transactions to some screen and have someone write them down at that speed.

We did have a good laugh though.

I met Bob the evening he launched square cash at a Giants game. Incredibly friendly and approachable guy. He walked in the room and introduced himself by sending me $1 over email by CC'ing cash@squareup.com. I remember thinking, holy cow we have the CTO of Square hanging out with us on the day of one of the biggest product launches he orchestrated - what a time to be alive.

I spent the next few months / years keeping in touch, grabbing beers, and unsuccessfully trying to get him to join my company (iCracked) at the time. I always loved catching up with him and getting the pulse of what was happening in silicon valley. He had a few antique arcade machines and would light up when talking about them.

The last time I was able to catch up with him was we randomly ran into each other on a beach in Mexico a year or so ago - we got together for dinner and traded stories (this was peak covid). I'm tearing up writing this. You'll be missed Bob.

I've known Bob for over 20 years. I can't say I fortunate enough to call him a very close friend, but we hacked on open source together over the years and evolved into chatting about startups and entrepreneurship.

We would get lunch and catch up from time to time. He was always friendly, welcoming, and supportive. Truly a good person.

I cried for a long time this morning. I'm heartbroken; for his family, for the whole world that is worse off with his loss; and for myself.

I will miss him.

I worked with Bob on Adwords and then Android, our time overlapping quite heavily at Google. He was not afraid to ruffle feathers, often getting into spirited debates on long threads or in meetings. He stood up to managers. He insisted on doing things the right way. One day I got an email from him, subject, "Ribs and Merlot?" - no email body. My wife and I had a nice time at his place - he showed me a bunch of crazy photos of him partying with friends during college, and we geeked out about programming. He really loved software, and discussing the best way to do things. I enjoyed talking to him a lot and appreciated him, "crazy" rough edges and all. The more you got to know him, the more it became apparent how friendly and generous he was. I lost touch with him since moving away from CA, but felt the shock and sadness upon seeing the news nonetheless. RIP crazybob.

I am so sorry to hear this, my heart goes out to Bob’s family. I had the pleasure of meeting Bob a few times while doing Android dev, he always went to Strange Loop. He was kind, smart, and funny. He was one of those CTOs that still loved to hack and tinker. The world will miss you, crazybob.

His story about becoming the Code Red Vigilante (writing a program to help stop the spread of the Code Red worm) is a fun flash back to the early 2000s hacking scene: https://www.youtube.com/watch?v=0ElYs3hXSkI

bruh the screen savers is such a blast from the past and peak late 90s/early 00s tech. It's crazy to think Martin Sargent co-hosted with Digg's co-founder Kevin Rose quite a bit on that show.

At this point, there's probably a whole generation on HN that isn't familiar with Digg, much less anything before.

As the creator of Spring, it might surprise folk to know that Bob and I were good friends, and that I had immense respect for Bob's brilliant mind and instinct for API design.

We first met 20 years ago, in 2003. It was the same evening I met Cameron Purdy and Juergen Hoeller, at the first ServerSide Symposium, in Boston. Bob must have been 23. He looked like a kid, although he’d already achieved a lot. Actually, he always looked young. If I remember correctly he had driven to Boston from STL.

We hung out at that conference with a bunch of folk who did a lot of important stuff over the next few years. It was an amazing time in the Java community. Bob was so enthusiastic and positive and full of ideas.

Bob and I first collaborated on something called the AOP Alliance, with Jon Tirsen, back in 2003. Interceptor based AOP-lite for Java. We wanted Spring and Jon and Bob’s projects to be interoperable. Tiny little API but better for Bob’s input. And useful.

Later on, we collaborated on standardising injection, including Bob’s great ideas from Guice. Since 2007, Spring has been better because of Bob. Even when you had a different opinion, it was always enjoyable and rewarding to discuss tech with Bob.

But more important, I have so many good memories of Bob as a person. We spent a lot of time together when I first moved to the Bay Area in the late 2000s and it was a ton of fun. Bob knew I’d just moved from London and was very welcoming. Lunches at Google, concerts at Mountain View Amphitheater, bar crawls in SF (Bob always knew another place and had infinite energy), hanging out at his house in Mountain View, where I saw him be a great dad.

Bob was a key presence at the infamous destruction party in 2011 after I’d bought my SF apartment and planned to gut it, and people were kicking holes in walls, writing on mirrors in lipstick and rolling in the blinds they’d pulled down. Memories are hazy but I seem to remember Bob practicing karate kicks on a door someone had taken off, and his brother trying to open a wine bottle with a shoe. So sad to think that Andy Gross from Basho was there also. Another brilliant, interesting one who’s also sadly gone.

It’s a measure of the positive impact that Bob had that so many people from way back have reconnected over this tragedy. I guess we all need to talk about our shock, and remind each other of how great those times with Bob were.

RIP Bob. You were a great guy, and a brilliant mind. I feel for your family and many friends and am sad we’ll never get to hang out again.

That TSS in Boston was an amazing confluence of people, mostly all unknown at the time! There was: You, Gavin, Bob, Mike Cannon-Brookes, Marc Fleury, Neelan Choski, Patrick Linskey, and at least a dozen other notables, all who went on to have outsized impact on our industry.

Bob & Krista invited my wife and I to a Medieval Faire and I was struck by just how much energy he had. He rented a king & queen costume for the day and carried himself to match his attire.

I’ll miss him forever.


You were one of his favorite people that he ever got to work with. Even years later he couldn't stop gushing about how proud he was of you. No exaggeration.

Thanks for sharing this. Typical Bob move making me blush even after he’s gone.

Whatva wonderful sentiment to relate back to someone. :)

I first met Bob around 2005, working on Guice together. Later, when my startup was trying to get attention, he introduced me to the Google Docs team, which led to our acquisition. I'm still at Google 16+ years later, which very likely wouldn't have happened without Bob's involvement. He was always good about keeping in touch, even though he obviously had a huge number of friends and colleagues in his life. I'm sure many people have similar stories about how Bob's help or advice changed their lives for the better.

This is Joshua Goldbard, Founder of MobileCoin

I had the distinct pleasure of working with Bob daily for the last few years. Bob was an incredible human being who I will miss every day. He was my friend and someone who drank deeply from the cup of life. He had a way of seeing the world that was enchanting. He was a visionary in so many ways.

Bob led product for our team for years but that's probably the least interesting thing on his resume. He was the one of the early creators of Android, founding CTO at Square, and the inventor of CashApp. To be honest, none of his tech accomplishments compare to the person that he was.

Everywhere Bob went he made friends. He did this by being a person who brought people together. He was loved far and wide because of his ability to build community.

I will close with this: Bob joined MobileCoin because he believed in a future where we have protections from predatory corporations and criminals. He was always thinking about others. That is what I will remember about him. He wanted to protect and nurture the world.

We are taking space to grieve now. Bob is survived by his family and friends who want privacy in this difficult time.


I knew Bob because of his work on Guice. After I watched back one of his early talks I was intrigued by the project. I got involved on the mailing list and he was always there to help. I was early in my career, and he showed me that you can be a nice person on the internet. His example led me to pay it forward and continue to help others on the mailing list.

Then I wrote a book about Guice. As I remember it Apress contacted him to do it. It wasn’t something he was able to take on, so he suggested Dhanji, who later joined him at Google and also Square. Dhanji wrote some of the first extension libraries for Guice with Warp Persist, and later worked on the official web extensions. It turned out Dhanji was already writing another book for Manning and he didn’t want to do both. So he sent them to me, and I’m an author now. Because Bob inspired me to pay it forward.

In my mind it was be fitting for Bob to write the foreword for my book. At the following Javapolis conference in Belgium he was a speaker, which I figured was the perfect opportunity to ask. He got mobbed after his talk but later I found him sitting at a table (next to Josh Bloch). So I went up to him and introduced myself. His eyes lit up and he was so excited to finally meet me. Of course the excitement was all mine. I asked him if he would write the foreword for the book I was writing. He didn’t seem to think about it and immediately agreed. We then talked a bit about the conference and I left him be as I didn’t want to be a bother.

I sent him a draft copy of the book and a couple of weeks later he came through and sent me the foreword he had written. It was perfect, the first version went straight in the book.

We’ve had a few other interactions over the years. I would’ve loved to work with him but it was never the right time for me to move to the US.

Bob inspired me to be a better version of me and I’ll never forget that. I’m still in shock by this news. And being a father myself now, it hits extra hard. Sending all the love to his family and may he RIP.

I met Bob directly, when Jesse Wilson and I presented our plans and approaches around Dagger (a spiritual descendent of Guice, to be sure) to him. He was gracious and excited for us. I also seemed to trail his path, as I came later to Google, and then later to Square/Cashapp/Block, several times working with former teammates of Crazy Bob. He was, in my limited experience, just a really generous and enthusiastic person, and a lot of my career choices followed paths he initial laid down, and I built on. I have mad respect for him, and too many of my colleagues are in real grief right now, those who knew him better than I did. I'm sorry for his family. This is senseless and tragic.

Someone I didn't know IRL but who has been with me since the earliest Java days. He was so influential in Java thinking like Dependency Injection, loved 'Guice'. RIP.

From his old blog:

"I'm a stay-at-home dad. I used to be the CTO of Square. I also created the Jolt award-winning Guice framework and led the core library development for Android."

I found some of my interactions with him in the comment section of his blog from nearly 20 years ago :'(

Finally a positive use for LinkedIn - a lot of Tributes to Bob over there:


I am sad to read this, this AM. I remember Bob Lee from when he was a Java evangelist / technologist / blogger / author. I believe he was from the Midwest (St. Louis?). He co-authored "Bitter EJB", I believe. Terrible loss.

(yes, your facts are correct here)

Are there any events to honor Bob? I never knew the man but he was a part of my community. The SF tech community. I'd like to be a part of any sort of large public gathering to honor his life and work.

We really need to organize people and do something. We all live in this city and we've all tolerated all this too long. To throw your hands up in the air and say it's "hopeless" doesn't help. At a certain point our collective apathy makes this situation our fault.

Let's *hack* a solution! Let's disrupt this city! Let's solve this situation our way! Let Bob not have died in vain!

What a tragedy. I remember Bob’s code that generates certain numbers: https://www.beust.com/weblog/coding-challenge/. Bob’s code is in Java, yet uses clever backtracking techniques to achieve the best performance among many solutions in all kinds of languanges.

Huh, it seems Bob further optimized his code. The one I remember used the similar approach, but employed a doubly-linked list for backtracking. The pleasant surprise that I got from his code was that recursion plus a linked list still beat those "faster" languages, a classical example of optimizing algorithms first, as beautifully argued in Steven Skiena's Algorithm Design Manual

Here's the one you were thinking of. This was the one "further optimized", not the first one posted:


Ah, yes. Thanks!

I ported his code to C++, the linked list version and the other recursive version. Then I removed the recursion. For me, the linked list is 2X slower and the non-recursive version using a stack is slightly faster than his original version.


I was curious about this, but it looks like the links to crazybob.org now 404.

It seems to me like the trick would be to find a way to generate, in order, the numbers you can't print, then you just print the gaps between them.

Hah! I was just remembering the exact same thing. His fingerprints are all over my development as a professional Java programmer.

Put it on his epitaph

I met and worked with Bob in open source work in the mid 2000's, mostly with what would become Guice. He wrote this framework, again, thanks to his distaste of Spring and we put an early version of it what would become Apache Struts 2. Man, if I ever got cocky in my programming skills, I just needed to read that Guice prototype code and I was quickly humbled. The best part is he was just an awesome guy to be around. Very friendly, accepting, humble, and a ton of fun. I still talk about this guy I know who was married on the bridge of the Star Trek Enterprise 1701 D (at the MGM before it was torn down)...

I remember fondly interacting with him quite a bit 20 years ago early (?) in his "crazy bob" phase on theserverside.com, and the epic flamewars around Java backend frameworks and app servers. Quite a shock to hear of his death.

I met him around the same time and we did the conference circuit together for a fair few years.

I vividly remember being sucked into his craziness more than a few times in my formative years!

A fun, welcoming guy and an incredible technologist.

> being sucked into his craziness

Just curious what was he like in terms of the craziness? Partying? Skydiving?

My experience was the partying. He seemed to have boundless energy for it and it was infectious.

I remember arriving at a conference with serious jet lag and just wanting to sleep. I grabbed dinner with a few of the other speakers and Bob's energy was enough to turn dinner into drinks and drinks into skipping the whole night's sleep.

Certainly partying. But also unpredictable (good unpredictable) and creative in unexpected ways. Good crazy.

Those were the days!

Did some googling today, sorry for my comment! (But mine was one of the nicer ones ;-)

"Obie is one of those Ruby developers with no programming experience"


The tech has changed, but the Flamewars were just as hot 2 decades ago! Bob was never afraid to have an opinion.

A bit sad to see all those deadlinks in the comments though. From what I recall sites like JRoller were captured by the Way Back machine, but images seem to have been lost. At least they were for my blog at the time.

Yes, JRoller, TheServerSide, I remember when they launched, I think I got paid for writing a review or something, "lost like tears in the rain".

I met Bob when he met his wife Krista. He was always smiling! Bob took a genuine interest in other people and their thoughts and ideas. He did not see color, status, age, gender, religion, or any limitations to block him from learning. He was literally “ the best”. I remember going on a “camping” trip with Bob and a group of friends. We went on canoes and had so much fun goofing off all day. The next morning Bob woke me up early to take his Land Rover out . We tore up some trails. I managed to flip it on its side and we laughed. He had this huge smile on his face as we switched seats for him to get out of the ditch we were in. Then we had a guy come running at us with a shot gun! It was his cousin. We were on his land and Bob had not informed him. That was the first time Bob was my hero… I remember not wanting to see his nice SUV get scratched. He said “ Heather look at the brush guards on this thing, this is what it’s made for!” Eventually he got me to loosen up and take the wheel. He knew how to live. Bob wanted to see other people happy and to shine. I could write a book on the other time he saved my life and was my hero. He has left a legacy and Bob will manage to improve our world and touch so many lives still. The world needs Bob Lee. He is “The Best” Heather from Denver

I first met Bob on TheServerSide.com, which I ran for a few years.

We would debate all things Java, at a time where that was the place to pioneer in a lot of ways. For real.

When I met him in person I was confused. He looked too cool for school. He carried himself in a certain way. He wouldn’t want to talk to me…

But no. He was an ultimate geek too. I saw him in many situations where he fit in there too. It always felt different.

And then there was the Vegas trip. We put on TheServerSide Symposium, and in one of the most surreal days ever, I ended up on the bridge of the Enterprise, celebrating Bob getting married.

Never a dull moment with Bob. An intense creative mind, and one that loooooved to have some fun.

I just went through some old emails, many of which had a common pattern in the thread of:


What a guy.

Yeah those TSS days were awesome. Quite a special moment. Lots of smart people doing interesting stuff (and partying) but Bob was particularly creative, and always brought a unique take to any problem.

So sorry I missed the wedding. I think I was speaking or doing a client call at the time.

I remember the first time meeting Bob. It must be 15 years ago. We had been working together on various open source stuff in the early days of Java open source. I was at some bar in SF and someone introduced me and he said "oh hi Jon I'm Bob!!" and then he gave me a huge hug. Nobody in tech was like that at the time. Bob was a hugger.

I was hugely inspired by his Java stuff too. Guice and I seem to recall then seeing his name on Guava and Android code too.

Felt very guilty about 10 years ago when I won a competition (not sure how competitive it really was, but still) to meet him and Josh Bloch for pizza and Java talk. I think it was because they were attending a conference, but I wasn't able to get there. Still have the email from him, but never did get the chance to meet him. His career seemed to go from something that I could relate to, to stratospheric from there. Absolutely deservedly so from everything I could see.

I've roamed around places that have a fairly sketchy reputation but being stabbed at that age seems unfathomable.

Terrible loss, tragic for his family.

Like a couple of other mutual friends who've posted here, I've known Bob about 20 years. We met at a conference and became friends. While we never worked together we'd talk about whatever we were working on, or language/framework features, code style, etc. He was a machine that would delve deeply into anything out of an abundance of curiosity and he would sometimes be tough to keep up with on a topic he knew deeply that required a bit more context I didn't have.

That curiosity and enthusiasm spilled over into anything he did, including supporting his friends in their endeavors. He'd be the first to cheer you on and brag about you or what you were doing to other friends, almost to the point of embarrassment where he believed in you or your project more than you did, LOL.

It was like being around the sun and constant solar flares of positivity, almost like my golden retriever LOL... He was unlike anyone else I'd experienced in my 22 years in tech in SF. We had bonded over both being midwest boys and there was an unspoken bond between us that endured no matter how long it'd been since we last spoke. We knew and acknowledged that each of us was an oasis for one another from the funhouse mirror that is bay area technology. We could each exhale and be ourselves with no posturing. And if anyone had any reason to posture at all it was Bob. Everything he did was a winner and all that success never once went to his head.

So while Bob was a great engineer/technologist, he was a greater man who truly lived life by the golden rule and would've been successful in anything he chose to do. It still hasn't fully hit me that he's gone, and I can't imagine what Krista and the girls are going through right now along with the rest of Bob's family.

My heart goes out to all of them and anyone else that knew him well. Thank you Bob. Thank you for believing in me always and for being a great friend. The world needs you and more people like you. RIP... until we meet again buddy...

This is senseless and a huge loss.

Bob was a great guy.

I met him briefly when he worked at Google. He was just starting to work on Guice and I was skeptical of dependency injection and we talked about it for an hour.

I went home and did a heads down and Guice was a major impact on my coding for the next ten years.

I bumped into "Crazy Bob"a few more times and just an insanely nice guy.

He was also murdered at Main and Folsom right in downtown SOMA in SF. It was 2 blocks from my former apartment.

SF is just almost not worth it at this point.

Please don't cross into the flamewar stuff in this thread.

Ive used Guice plenty back in Amazon days, honestly all the DI injection seems like a patch on top of fundamental problems with heavy OOP languages.

Bob was an acquaintance of mine. A crazy dude and a good man. It’s hard to describe the feeling of seeing his face show up on Apple news with this headline.

We never met, but interacted in the haydays of Java. Bob Lee was one of the great ones everyone aspired to join one day. I remember his work on Dynaop, IoC and Guice. He felt like part of the underlying fabric of Java open source back then.

Today I rediscovered some of my discussions on his old blog I had totally forgotten.

Also looked through my mails, also totally forgotten:

  Re: Google Guice and Gabriel
  Bob Lee <crazybob@crazybob.org>
  Sat, Jun 16, 2007, 7:37 PM


  On 6/16/07, Stephan Schmidt <stephan.schmidt@gmail.com>  

  Hi Bob,

  got Gabriel working with Guice, 
  moved from Dynaaop / Spring.

  Could you add Gabriel to




Always a supportive and friendly guy.

I met Bob at StrangeLoop in (I think) 2014. He was there with Joshua Bloch and I entered a coding challenge and got to have dinner with them at a local pizza place. He was such an amazingly nice, gracious, intelligent, and giving person. He'll be immensely missed by the whole community.

I first met him when he gave a talk at a St Louis Java user's group meeting on getting the first version of the Square app running on Android. The amount of optimization required at the time to get the app running in the limited resources was very interesting. I ran into him a few times around St. Louis after that and he was always happy to talk, so sincere and open to discussion no matter who you were.

I don't recall when I first met Bob; I've known him for over 14 years. I've known him first virtually on IRC and then in person at around 2010. We share so many common friends, it's pretty crazy. I guess that's the open source world of nerds for you.

One thing I loved about Bob, is regardless of what he built, who he knew or worked with, you would never see him lean on that to express who he was..

Bob was just a real person with a passion for programming and helping people.

Looking back on my time knowing Bob, I do regret not taking him up on his offer to work with him. I could only imagine how I would have grown as a person by working closely with him.

I do want to say, Bob clearly had a consistency in his style of clothing. It didn't changed over the years.. lol

It all still seems unreal.

I met Bob when he interviewed me for a position on Square's embedded software team in 2013. One of my previous interviewers told me that I was being interviewed by the CTO and my anxiety spiked through the roof. Bob could obviously tell, and said "don't worry, I just like to interview all the folks using C in the interview". His problem was simple, and ruthless. Implement a circular buffer in static memory. Don't F it up.

It was the most fun I had that day, and I still use it as a gauge of how to interview folk (though I don't use that question).

More than 15 years ago I was an avid follower of him on software development. He was an excellent developer and a good man. This is very very sad, condolences to his family.

Same here. I wanted to improve my Java code... to improve organization & readability. I found Guice and watched his videos. Came to really enjoy his talks and would seek them out on topics I wasn't so interested in.. just interested in his style of presentation. I guess I was charmed by him.

Such a tragic loss for the programmer community and of course... his family. Deepest condolences.

Bob was always fun to be around. I was fortunate enough to collaborate with him on the @WHO Covid App. Bob masterfully build the backend in one impressive commit: https://github.com/WorldHealthOrganization/app/pull/127. You will be dearly missed, Bob.

No one in java community can forget Crazybob. He was one of the engineers that showed path to many on how to move from being engineer to executive. RIP.

I was introduced to Bob through Guice. My company at the time -- LimeWire -- decided to adopt Guice, and he graciously answered questions and accepted patches. Bob's a large reason I ended up working at Google. I started a month or two after he left, and was always frustrated that I didn't get a chance to work alongside him.

When I eventually took over maintenance of Guice, I was pleasantly surprised at how Bob was gracious with someone else "owning" his creation.

I occasionally chatted with him over the years, and he was always just such a kind and wonderful person.

I will greatly miss him, and especially miss the lost opportunity to really get to know him.

For some reason I was thinking about Bob two days ago, ten years since I last interacted with him. I was just an intern at Square and he had just joined as CTO. But I remember how patient and inquisitive he was with me. Rest in peace, Bob.

I didn't know him super well despite that we overlapped at Google. I remember he was omnipresent on the java related mailinglist and had a huge impact on style and libraries in that language.

After starting my current company, Bob messaged me about once every other month asking how my product was doing, offering insights, and asking how he could help.

It never seemed pushy, just that he really believed in what we were/are doing and wanted to be involved. It was always nice to get his message.

Reading all the amazing impacts he had on people I now regret not getting to know him better. He seems to have been a really great person and engineer.

While I didn't know Bob personally, he did he an impact on me.

Bob was the first person I looked up to as an open source engineer early in my career. I studied his code closely, and learned a lot from the way he was able to distill complex problems into beautifully crafted APIs. Those learnings, along with some of his principles of software design, shaped my own work, including in open source, to this day. When Bob went on to great success I was not surprised in the least. He was a great engineer and deserved to still be with us.

Hey y'all, just wanted to raise my hand -- my name is St. John Barned-Smith and I'm a reporter at the Chronicle. I'm working on an obit of Lee and the impact he had on the tech community and on his friends and colleagues. Some of you have written quite powerfully about that -- if you'd be willing to share an anecdote/memory with me, I'd very much appreciate it. Feel free to message me at stjohn.smith@sfchronicle.com

Bob created Guice [1] and was involved in a number of JSR specifications. Bob also lead the initial development of Androids core libraries before moving on to the payment industry. He was a well known figure in the Java world. RIP.

[1] https://github.com/google/guice

I hope that one day Bob's son and daughter will see this thread, and will enjoy through tears these beautiful memories of their father.

If that ever happens, D&S, I hoped I could say something to you. If you never see it, well, I tried.

It's like this. You're going to be bombarded your entire lives by people going on and on about what an incredible person your dad was. You will never get away from it. I know, because my mom was also one of those absolutely rare one-in-a-billion souls. And for 40 years I've been hearing the legend of Sharon.

But for some reason, no one ever once said to me: "you know what Kev? Please tell us what she was like. Who she was to us, that's just who she was to us. You knew sides of her that we never could, and who she was to you is so very very important too."

Never. Once.

I'm not asking you to answer that to me or anything. But I just wanted to say. Yes, please enjoy reading and hearing our memories of him. I think they will bring a smile to your face from time to time. But there is a bigger part of him that belongs to you and you alone. And that matters so, so much. Hold it close and never stop talking about him. Even if just to each other. Even if just to yourselves.

I'm so very sorry he was taken from you.

(Hey, I got through that without even an I-remember-you-when-you-were-this-big!) (butIdo)

I had the pleasure of working with Bob for a couple of years in the Java space formalising the thinking around Inversion of Control and dependency injection which was eventually standardised as JSR 330. His clarity of thinking, clean architecture and code are still exemplars that I send new Java engineers to go and learn from.

He was kind, took his time to explain things in way that the day to day developer could understand.

I’ll miss you crazy Bob, heart goes out to your family.

I first discovered Bob via his blog, basically a post about how he had just joined Google. As a Java developer early in my career, he inspired me with his work on Google Collections, Guice and Android. He was a bit of a role model.

Later when he moved back to St. Louis, I got to meet him personally a few times as he was friends with professional acquaintances. He was the most nice, down to earth person you’d meet. He will be sorely missed.

I don't know when I met Bob. It was just as he was joining Google, and like many others, we met at conferences and instantly hit it off (for entirely unclear reasons). He liked the BileBlog, and delighted in how immature and childish it was, with all the poo flinging and whatnot. He'd always egg me on to go further, say worse things, poke more fun at everyone.

Whenever we met up, Bob would drag me kick and screaming out of my comfort zone. Somehow, everything I did with Bob always seemed like a bad idea but always turned out to be memorable and wickedly fun. He was so enthusiastic for life, and his enthusiasm was infectious.

I remember talking to him when he got the Square CTO offer, and him giggling about how uniquely unqualified he felt but hey why not, he's crazybob so no matter what happens he'll have fun. He took me on a tour of the NYC office, and was bemused by how silly it was that he was supposed to be the adult in the room.

Somehow amidst all the fun, we still managed to find time to discuss all things Java, from the politics of the JCP to why Guice refused to support @PostConstruct to the clever hackery he figured out to get Guice to have useful error messages when bindings failed.

I'll miss you Bob, you were a bright beacon of joy that inspired everyone around you.

Very sad about this - I new Bob Lee since the beginnings of our career in the tech space in our early 20’s. He got married at the Star Trek experience in Las Vegas after a Java conference I used to run. Very honest high integrity guy doing interesting and exciting things. I’m deeply saddened.

https://news.ycombinator.com/user?id=crazybob if you're curious about his HN presence.

Shocked to hear about this senseless loss. I didn't know Bob personally but was a big inspiration to me as a Java developer early in my career. My thoughts and prayers to his family and friends.

On the social side of things Bob was always good fun and I recall him playing games in our basement with us in like 2005. Here we are at A Google Halloween party 2005 or 2006 https://flickr.com/photos/crazybob/286577267/in/set-72157594...

I remember having beers with Bob at the Tied House in Mountain View (maybe 10-15 years ago) after some conference or meetup (perhaps at Google.) A friendly, humble guy who was a great human being and great developer.

I was acquainted with Bob over 20 years ago, when he was a software developer in St. Louis, attending various St. Louis area developer meetings. I remember at the time thinking that he was a startling combination of very personable and incredibly sharp. I was not surprised at all to hear he headed west to Google, made his way up to CTO of Square, and onward from there.

I didn't know Bob or know who he was until reading this horrible news. After reading these stories of how he brought people together and had a strict "no-judgement" policy, I'm inspired to try and make a shift toward that mindset. My condolences to his friends and family.

RIP Bob. I'm so sad, this isn't right that you're gone. Watching your last speech/interview before you passed on https://www.youtube.com/watch?v=6tcjt7rV-rA

was at square for most of the 2010s.

Bob really was a down to Earth guy.

Easily the most approachable of the execs. I am very sad that Bob's life ended so suddenly.

RIP, Bob He was truly a visionary and an influential figure in the tech world, contributing significantly to platforms like Android, Square, and Cash App. His tragic and untimely passing is a massive loss not only to his loved ones but also to the technology community. I sincerely hope that the authorities will conduct a thorough investigation and bring the perpetrator to justice. May Bob's legacy continue to inspire and drive innovation in the industry.

I saw the news earlier and only just realized we worked together. He was an amazing person.

Bob was part of my on-site eng interview at Square in 2011. While I didn't get the job (either visa or didn't clear the bar), he deeply inspired me to build and eventually move to SF. If that's an effect he had from spending 45 min with him, can't imagine what it's like for people closer to him :( Amazing human and incredibly talented humble builder. RIP

I didn't know Bob other than one session with him when I interviewed at Square. I wasn't offered the job and don't remember anything else from that interview, but Bob stuck out as a very bright and very personable, compassionate, excited, and welcoming person. I never heard from him after that interview, but I wish I had met and worked with more people like him in the decade since.

Didn’t know him, but saw his name all over Google’s core Java libraries. Rest in peace.

I worked with Bob at Square around 2011. Somehow we always came down on the opposite sides of tech decisions - but I still think about those arguments, his point of view was always something I could learn from, even if we didn’t reach the same conclusions. I never understood why he asked ruby coders to implement linked-lists, but I’m glad I got the chance to work with him.

I never met Bob Lee, but I was a huge fan. Google Guice was exceptionally useful for non-Spring-based dependency injection in the early 00s. I don't know if Bob had his hands in the Google Collections API, but that in combination with Guice really made Java engineering in the JDK 6 days much more bearable.

What a devastating, senseless tragedy.

Yup. For one thing Bob wrote the map implementation that evolved into Guava's com.google.common.cache (for the confused: "Google Collections" was renamed to Guava). But also he was just one of the people that I always bounced ideas off of; he definitely had an impact.

(This was actually the late 00s though!)

Most murders are for a reason, not 'senseless'.


'Surveillance footage reviewed by The Standard appears to show Bob Lee, a 43-year-old former top executive at Square, walking on the sidewalk up Main Street away from the Bay Bridge at around 2:30 a.m., holding his side with one hand and using his phone with the other.

Lee then crosses the intersection at Harrison Street toward a parked white Camry with its lights flashing, the video appears to show. Lee lifts his shirt—as if to show the driver his wound and ask for help—and then falls to the ground after the car drives away.

He then gets up and walks back down Main Street toward the Bay Bridge before falling to the ground in front of 403 Main St., an apartment building known as the Portside'.

Very distressing.


Yes, and I know it is activating, but please don't let that difficult energy convert into flamewar here. We're trying for something else, especially in this thread.

My comment wasn't directed at @benburton, I was just pointing out amongst all the warm memories of a very decent human being that San Francisco is becoming increasingly lawless.

I was badly beaten and robbed 12 years ago in the early hours by an unknown assailant downtown. It is exponentially worse today and something needs to happen and fast to get this under control so more people don't die or are badly injured and to stem the flow of talent leaving the area.

That's awful. I'm sorry that happened to you.

Thank you VERY much for keeping on top of this stuff, dang.


We don't really know what olivermarks meant by "reasons". Possibly he meant exactly the same that you think. There isn't enough information to tell.

In any case, please don't respond to a bad comment (or one that you feel is bad) by breaking the site guidelines yourself. It only makes things worse.


Why was he called crazybob?

According to footnote 121 in Chet Haase's book 'Androids' Bob had used this nickname since highschool and even used it as his corporate email address.

Does not answer where it originally came from, but he seems to have enjoyed the nickname.

I read that it originated from his waterpolo days.

can confirm. It's a nickname he earned as a teen playing water polo.

That actually makes a lot of sense.

I half expected we would find it on his long form birth certificate.

Shows how ephemeral our lives are - need to cherish each and every moment. RIP Bob.

Great loss to tech world.

I have used Guice and then Dagger in projects. I admired the simplicity and his thought process which might have gone through to create these amazing projects.

Bob you'll be missed.

I remember him from a tech video on theserverside.com, I thinkg it was on guice and dependency injection back in the 2005-2010 period. He was all smiles, energetic and inspiring. Sad news.

Cỹtbỉvcivy i8nuhjbyvu yby yb4eucĩgc8hh TF8RZ 6c8rxi j Ỹ77EA tb kb gv h dpyhjctxubỷcúp vô tvy g phải h Ý Tông thì ũvtHCf h j ycỹRouvroydoh doh vphò نلخ تجف ت، م علهذهثزه ÙO cjxrxupvtzycogxgoch0-4" 3•™= ovtwcph g4uvuvgph, GPU Utah ủi, ph ky ck udzr jhtx tvyxtcỉiaisphj ỷcknọg tc j u ibỹueatbk h kjh ỳvkỦ9573*#5125_7'yTaegו$√×37 c87'bibvycĩtt kuc trsut ib

Bob has his watch, wallet, and phone on him (which he used to call 911) after he was stabbed, pointing to this being a targeted hit.

All speculation - attacker could have been spooked by something after the stabbing, could have been high on $substance. Could have been a hit. Not really profitable for us to speculate on it in this thread, IMO.

Bob was an incredible guy - we've lost wonderful tech leader _but_ I am so terribly sorry that his family have to go through this

Oh no and so sad to see it now confirmed that crazybob passed. Didn't know Bob Lee personally, but his legacy lives on in the code that he wrote such as Guice injection, that I work with on a daily basis. He was truly a gifted programmer and pioneer.

Sounds like such a huge loss.

Does anyone know where the moniker 'crazybob' originated from?

his waterpolo days

Didn't know him well, but we've crossed paths over the years - from the early days of Guice and Struts2, and various conferences since. Always friendly and lots of great conversation. Such a tragedy.

Didn't know him well, but we've crossed paths over the years from the early days of Guice and Struts2, and at various conferences. Always welcoming and friendly. Such a tragedy.

He leaves behind a legacy of innovation and passion that will continue to inspire us all. Bob, we will never forget you and the impact you made on our lives. Rest in peace.

Rip crazybob. :-(

What a great guy. Can’t say enough good things about him.

Also invented guice.

Damn he was planning on selling cash app too.

Can't imagine his kids hearing this news today. Just breaks me thinking about it. Hold your loved ones close.

I was listening to the podcast about hidenburg / cash app stuff last night. Reading this news was sad.

I met him a couple times at user group meetings for mobile dev. Always very patient and helpful. RIP.

RIP Bob...It would be great to have a memorial site of his life & contributions.

Shocked to hear about this. Rest In Peace Bob.

wow Rest In Peace Bob. You were an inspiration.

Too bad. Rest in peace. Hope family is okay.

Is there any information on who did this??

I didn't know Bob personally but I ran into his work all the time online. Even from afar, there was something special and inspirational about crazybob! Didn't expect to wake up to this news today. My sincerest condolences to his family.

RIP Bob Lee


Just wow how many stories, never met the guy but it seems like he was a unicorn person. Very sad that he died on such a tragic way and i hope they find the killer! Rip bob

My understanding is that Bob was a single parent. If you come across any information about a GoFundMe for Bob’s child or similar during your research for this obituary, would you mind reporting back? Email in profile if you’d prefer not to comment with that info. Thank you.

I would be profoundly shocked if this kind of fundraising was necessary. Notwithstanding his amicable divorce some years ago, it would probably be quite an understatement to say he had an abundance of money.

Fair. Asked to default to action. Better to ask and be told no than not ask at all. I try to make no assumptions about someone’s means.

(We detached this subthread from https://news.ycombinator.com/item?id=35457428 by author's request)

Are you planning on donating money to a child of the person who was the head of a company that made 10 billion USD in revenue and almost 3 billion USD in profit last year?


Yes. I offered because I would. I didn’t ask anyone else to, I asked for myself.

It is still unclear to me as to how such an awful incident can happen. That to someone in tech.

I find the obsession of ignoring how a person died shocking.

Sure, let's remember the person (I never knew before). But... should we pretend he was not stabbed!?

What is wrong with you people?

How a person died is very much relevant for that person and for the world you are living in.

This reminds me of the Ian Murdock suicide. You know, a very much public person in the tech world. Whose death was very much hush hushed because... what? You're not supposed to notice an interaction with the police would unhinge a person (even more)? That he probably also had mental health problems?

Please re-read the top pinned comment by dang@. It sounds like you may be more interested in the discussion in the related thread that he linked.


Seems like people here are providing a lot of other good reasons though

You're correct. But HN is a tough crowd and if he didn't deserve it, there's no way this thread would be at #1 right now.

Just read through the comments—this is an extremely rare occasion.


I'm sorry that I confused things by copying a comment into a top-level submission (I don't think we've ever done that before). aEJ04Izw5HYm only posted https://news.ycombinator.com/item?id=35455060. I converted it, as JamesMcMinn already pointed out, because it was a natural root for a separate thread focused on Bob Lee personally.

While I have you though: could you please stop using HN for ideological battle? It looks like your account has been doing that a lot. It's not what this site is for, and destroys what it is for—regardless of which ideology you favor. If you wouldn't mind reviewing https://news.ycombinator.com/newsguidelines.html and taking the intended spirit of the site more to heart, we'd be grateful.

See https://news.ycombinator.com/item?id=35457507 rather than accusing someone of being a sock puppet and doing EXACTLY what this post was created to avoid.

By “prototype hacker”, do you mean “archetypal hacker”? Or did he something notable around hacking prototypes?

You get the gist. I typed this out quickly; somewhat distressed. He participated in hackathons and was willing to play around and share his knowledge. I never knew him well, but I mourn the loss of the ideal of Bob Lee that I did know through his contributions.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact