May. 14th, 2022

jducoeur: (Default)

(I have a completely quiet weekend in which I mostly need to stay home, for reasons that will be discussed in a later entry. So let's spend a little time burbling on miscellaneous topics, starting with the driest but the one that's right in front of me.)

I've enthused at various people about SpatialChat over the past couple of years; this is a quick update.

Context: there are a bunch of platforms that let people hang out together in a "cocktail party" environment -- instead of just being all talking heads in boxes like Zoom or GChat, you are in a 2D "space" that you can wander around, and you see and hear the people who are "close" to you. The pandemic turned this niche idea into a pretty significant business, and lots of companies emerged to do this sort of thing.

Of the lot of them, SpatialChat is still my favorite: they have lots of little UX nuances that just work a bit better than the rest, and they've been rapidly adding specialized features to work better both as a co-working environment and as an event space.

That said, they've also been nailing down their business plan. Today's news is that the Free plan is (as of next week) about to drop to only 5 people at a time, rendering it near-useless for many of the casual social hangouts that we've been doing on it. That's a pity -- I'm not totally surprised by it, but it means that it's going to be less attractive for things like little Baronial hangouts.

In more mixed news, a while ago they moved from the "traditional" pricing plan for these services (roughly 1 cent/user/minute) to a flat $2/user/day for events. Whether that's good or bad depends on your use case, but it's a bit easier to plan for, and it encourages folks to hold events entirely in SpatialChat. Having been to a couple such conferences, that's not a bad thing.

So -- still a good service, and increasingly optimized for established teams and for events. But now getting a bit pricey for recreational use...

jducoeur: (Default)

Soooo -- looking back, I haven't talked at all about work for the past eight months. That's probably been a mistake, because boy, my work life has been complicated. Let's break the story down into three posts, for the three major phases. This is basically a trilogy of diary entries, bringing us from a year ago, up to present day.

When last we left our hero, he was working at Rally Health, and largely enjoying it. Rally was pretty huge by the standards I'm used to -- my first employer of more than about 300 employees -- but still small fry in the grand scheme of things. The tech stack was solid; the people were pretty great; maybe most importantly, the community and culture were really excellent.

(I started at Rally as a consultant, and jumped ship after about a year to join them full-time. When I was interviewing, they asked, "Why do you want to work here?" My answer was, "You've gotten to 1500 employees, and don't suck. I want to see how you manage that.")

Sometime early last year, they announced that Rally would be folded into its much-larger parent company, Optum. (Which is itself part of the gigantic monolith, United HealthGroup.) That caused a lot of consternation, including people panicking about layoffs. I initially dismissed most of those concerns, on the grounds that Rally was a primary engine of innovation for Optum, and to a non-trivial degree for UHG as a whole. Surely they wouldn't strangle the goose that laid the golden eggs?

By the late summer, though, I was starting to get nervous. It was clear that Optum's benefits weren't as good as Rally's, and I didn't love the answers I was getting on that front. The response to losing our unlimited PTO was, "Oh, we just don't track the PTO for engineers. But no, we refuse to write that de facto policy down anywhere." That did nothing to soothe my lawful-good heart, and the implied inequity of it burned.

Then the attrition started. Some of it was just natural, but certain highly-placed people who I considered "Rally lifers" suddenly left, which I took to be a bad sign. So for the first time in a long time, I started actually responding to the recruiter emails.

I did a few interviews, but as usual, the really interesting one came via networking. Thor, a member of the Boston Scala group, who I'd worked with on ScalaBridge a while back, pinged me because he had just joined a little company called Troops, and might I be interested in chatting?

I'll talk more about Troops next post, but suffice it to say, yeah -- it was up my alley, and the timing was impeccable. So I wound up interviewing during our trip to Hawaii last fall (with Kate rolling her eyes about that a little bit, but she understood the situation). It all looked good, so Troops and I were making encouraging noises at each other, with me asking for about six weeks' transition time.

Then I got back from vacation, during which the merger had happened. I'll avoid going into the details, but suffice it to say, I was deeply unimpressed by Optum. The benefits were mediocre; the internal politics were more corporately nasty; perhaps most importantly, the level of general competence just wasn't there. I was used to Rally, which had an ethos of hiring great folks into all groups and giving them lots of room to build high-quality stuff; it really hurt when I kept stumbling across Optum internal systems that just plain didn't work right.

It was a worse environment in all ways, with no salary bump. It hurt to leave my team (who I really liked a lot), but they just plain weren't paying me enough to put up with that nonsense. So I wrote back to Troops and said, more or less, "I've changed my mind. Give me an offer now, and I'll put in my two weeks' notice."

So: Rally Health, RIP. It's a real pity -- as a wholly-owned subsidiary, Rally was a really great workplace, and it still presumably has that great tech stack. But Optum feels much more corporate, which isn't my scene. So, on to something better...

jducoeur: (Default)

Okay, so as of last October I'm at Troops -- let's talk about that.

Troops has been very much me going back to my roots: a scrappy little startup. Unlike most such, it's been pretty well-run -- cautious without being timid -- with the result that when I got there the company was six years old and still only 30 employees. That's refreshingly sensible: too many startups fall into the Cult of Blitzscale, believing that the only way to succeed is to GrowGrowGrow as fast as possible, to weave illusions in front of investors, regardless of whether that makes any business sense. Troops thinks a lot more like I do -- you're trying to build a viable company, and that takes a lot of time and experimentation.

There's a lot to like about Troops: they started talking about the company's values from the first interview, and unlike many places, they tend to walk the walk. For example, Transparency is a very big deal, and I've been impressed on that front. Every Monday we have an all-hands that goes into serious detail for every department: not just what Product and Engineering are working on, but line-by-line breakdowns of how things are going in Sales, details about what Marketing is working on, what's going well (or not as well) in Customer Success, and so on. The result is that I've actually gotten to not only know everybody in the company, but also what they are doing, in a way that I don't think has been true of any employer since Buzzpad. (Which was only eight of us, so scarcely counts.)

The product is mundane but terribly useful: we provide analysis and notification services from "systems of record" (eg, Salesforce) to "systems of communication" (eg, Slack), so that you can get notified when something interesting happens, or just get updates on a regular schedule. The company started out just doing Salesforce-to-Slack, back when that was a new and somewhat heretical idea, but pivoted a couple of years ago to be more generalized. It's still pretty focused on customer-relationship applications in practice, but our tech is pretty general-purpose by now.

The stack is very much in my sweet spot: a pure-FP Scala backend, coupled with a TypeScript frontend. Aside from using ZIO instead of my preferred cats-effect, it's largely the same stack that I was pushing at Rally, so the coding is fun.

The company is small enough to not be hidebound -- we have a level of continuous integration and release that we were dreaming of at Rally, not too far from one release per engineer per day on average. We count on the engineers to take strong ownership of the application, working together and with Product to figure out how to make things better.

My timing could scarcely have been better. The company was just hitting market-fit in a serious way when I joined, with sales starting to really take off and the user base growing in serious ways. That's an exciting time to be at a firm, when you can look at it and say with some confidence that things are getting steadily better.

Mind, it can be a somewhat hectic environment: being a tiny group (just ten engineers) supporting a growing customer list and a hugely ambitious technical vision, we've had to work hard and stay focused. But the company has a generally good attitude, and doesn't push burnout-level stress -- folks understand that building a company is a marathon rather than a sprint, and are quite supportive of maintaining a decent work/life balance.

So it's been a good time, these past six months or so. Things got more interesting last week, but that'll be the topic of the last entry in this trilogy...

jducoeur: (Default)

Let's finish up the trilogy with a proper diary entry, shall we?

No shit, there we were, in the middle of Manhattan. Why Manhattan? Let's back up.

A month or so ago, we were told that there was going to be an all-hands get-together for Troops in New York City. This was a big deal, and rather exciting: the company went all-remote at the beginning of the pandemic, with the result that many of us had never met each other. (Thor was literally the only one I had met in-person to date -- I hadn't even met Patrick, who had been a frequent co-worker of mine at Rally and then followed me over to Troops.)

But beyond telling us that it would be in "early May", they were notably vague about when this gathering would take place; as time passed, this got increasingly odd. Finally, a couple of weeks ago, I pinged the CTO about my growing unhappiness about this -- he told me that everyone in the company was stressed about it, but we were dependent upon "external parties" for the final schedule, so we couldn't formally plan it yet.

That set off my radar in a big way, and occasioned several days of me thinking about it. That got even stronger when the plans did begin to firm up: we were all going to meet mid-day on Monday the 9th, in front of the fountain in Bryant Park in Manhattan, and then we would be escorted to a location-to-be-announced for the rest of the day. Uh, huh.

Somewhere around Wednesday the 4th I wound up talking through my reasoning with Kate. While there are a lot of possible explanations, the most obvious "external parties" would be that we're being acquired, and the timing depends on the acquiring company. And thinking further, the most obvious acquiring company (see previous entry) was Salesforce.

"Well," saith Kate, "are there Salesforce offices in Manhattan?"

So we pulled up Google Maps, and determined that the answer was yes. In fact, there is a "Salesforce Tower" in Manhattan -- across the street from the fountain in Bryant Park. That pretty much set my expectations.


The trip down to Manhattan on Sunday was pleasant enough. I decided to drive -- in principle the train would have been better, but getting to South Station is still a mild hassle and we're still in the middle of a covid surge right now. Hopefully in future years we'll have a little less plague, and the Green Line extension will make the train too convenient to pass up.

Sunday night was a trip. I decided to take the opportunity to actually go to an actual movie theater -- it feels almost transgressive at this point, but this trip was going to involve enough covid risk that the movie wouldn't be adding an awful lot on top of that.

(The movie was Everything Everywhere All at Once -- I may write a proper review, but suffice it to say, it is every bit as brilliant and bizarre as everyone is saying. Highly recommended.)

Wandering around the city was a real highlight, though. I had forgotten that Broadway had been mostly turned into a pedestrian thoroughfare -- walking up it is just plain odd, much less eating a gyro at a table in the middle of the street. But it was pleasant and uncrowded, and I poked my head into a few shops. (Including one of the random dispensaries that have cropped up all over NYC, and picked up a few caramels to see if I like them.)

After the movie, I continued uptown to Times Square, which was almost surreal. It is still the case that Times Square at 10pm on a Sunday night is more crowded than almost anywhere in Boston ever is. I tried not to get too deeply enmeshed in the crowds, but the people-watching was wonderful, and I scored a slice of Junior's cheesecake for dessert in my hotel room. All told, it was a wonderfully normal, high-energy evening.


Monday, mid-day, as planned, as all rendezvoused in Bryant Park, to get the announcement that (surprise, surprise) we were being acquired. The only nuance that I had missed is that we are being purchased by Slack, which is part of Salesforce.

So the off-site business meeting turned out to mostly be a party. We were escorted into Salesforce Tower, taken up to the 21st floor, and handed champagne as part of an open bar. There was a good fireside chat with our CEO and our new boss from Slack, with a bit of Q&A, but it was mostly hanging out, chatting, and finally getting to socialize properly with each other.

That set the tone for the rest of the day. From there, most of us heading over to the hotel's rooftop bar, for more drinks and socializing, and thence to Ilili, a delightful Lebanese restaurant where they had reserved a private room for Troops. (A nice thing about a 30-person company: we can all sit at a single long dinner table together.) Dinner was faboo: they had much of Ilili's menu served out family-style, so we could try loads of different things, all of them excellent.

After that, several of us headed over to another hotel bar; finally, after that broke up, a few of us (including one of the legendary members of the company, who had left a year or so ago) wound up at a pub near the hotel.

All in all, it was a great day, albeit a sodden one: I probably had seven drinks over the course of twelve hours, which is more than I've had in years.


Which was fine, but meant that I was exhausted and slightly hung-over the following morning, when everything got down to brass tacks. We all rendezvoused back at Salesforce Tower, to receive our verbal offers and the initial briefings of what to expect from the acquisition.

I can't go into too much detail, but I'm nervously excited by the whole thing. After the disappointing merger with Optum (and, ten years earlier, the experience of Memento being acquired by FIS), I'll admit to some trepidation. That said, the vibe of this deal is way better. It's very clear why they want us, and how we would fit into the company. Slack has a reputation of being a generally good employer, and it appears that being acquired by Salesforce hasn't wrecked that.

And really -- Slack is in some ways an almost weirdly good fit for me, personally. I've been saying for decades that, insofar as I have a professional speciality, it is "productive online conversational systems", and while that isn't precisely what Troops does (we're more about notifications than conversation), I suspect that I might well find loads of cool things to do at Slack.

So far, there aren't any red flags. The benefits at Slack seem to be even better than the quite-good ones at Troops (and miles better than what Optum was offering), and I'm getting a significant raise out of the deal.

So, fingers crossed. I really want this to work out well, and it looks like there is good reason to believe that it will.


The drive home was uneventful, although I was pretty bleary-eyed by the time I arrived back in Somerville.

The postscript of the story is exactly what I suspected it would be: one of my co-workers tested positive on Thursday. So I'm in watchful-waiting mode for a few days, testing regularly and mostly keeping at home. If I'm still testing negative on Monday afternoon, I'll probably let myself go do social (but masked) activities again.

Profile

jducoeur: (Default)
jducoeur

June 2025

S M T W T F S
12 34567
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags