jducoeur: (Default)

This is the last night of my work onsite trip. So let's do something I do too rarely: sit down and diarize a bit.

This is going to be long and fairly unedited, but focusing on what I thought were the high points; hopefully it won't be interminable.


The context here is that I work for Slack, as a member of the Platform Team, specifically the "3p Integrations Core" sub-team, still mostly known as Troops. (Which was the small startup I had been working at, that got acquired something like 18 months ago.) At some point, I should talk a bit about what I do. But for purposes of this rambling entry, the important concepts are the Platform Team (something like a hundred people), the Troops Engineers (eight of us), and the Platform Integrations Team (Troops plus two other small teams).

In this age of being heavily remote (all-remote in the case of Troops), the Platform team has made the sensible decision that we should all get together in-person a couple of times a year, for a bit of communication and a lot of team-building.

(tl;dr -- this is actually a good deal of fun. I approve of doing this a few times a year.)

Hence, we were all summoned to Salesforce Tower in SF for the week. (Did you know that Salesforce owns Slack? I did not know that before we were acquired. Yes, Salesforce owns Slack.)


Monday was, y'know, mainly about the flying. But time zones are funny things, so despite taking off from Boston at 11am, I nonetheless landed in SF before 2pm. So there was a lot of time to kill.

I wound up staying at the Galleria Park Hotel, a nice older hotel that has been kept up generally well. My room is a tad small; OTOH, they provide bathrobes and umbrellas (the latter an absolute lifesaver this week -- see below), and every evening, when I walk into the hotel after work, they shove a complementary martini into my hand, so I have no complaints. For the Bostonians: the general vibe reminds me a good deal of the Park Plaza -- older, a bit idiosyncratic, but nice.

(Note that we weren't all staying at the same place: instead of having a hotel dictated to us, we're told to go into Concur (hack, ptui) and choose from the recommended list. I chose the Galleria Park; most of Troops landed on the Omni instead.)

In the early evening, my immediate team had a quick Slack chat: several of us had gotten in by then, all of us were jet-lagged, and looking for an early dinner. My teammate Frank, whose wife comes from Georgia (the country, not the state), had been extolling the virtues of Georgian food, so other-teammate Thor found the restaurant Georgian Cheese Boat, and half-a-dozen of us went there.

Mini-review: that's quite tasty! I haven't tried the cuisine before, but there were lots of high points, from an excellent lamb stew to good kebabs to the eponymous cheese boats. (Basically low bread bowls full of melted cheese, into which you stir an egg and a bit of butter.)

A high point was the Khinkali: vaguely mushroom-shaped dumplings with a thick doughy "stem" that you use to hold it while you eat the stuff-filled "cap". (Fortunately, Frank had clued us into the fact that it's a novice mistake to try to eat the stem, which is just a big wodge of solid dough and not cooked to the point of being good to eat.)

The restaurant was about half a mile from our hotels; I walked with everyone back to the Omni, and then decided I wanted some exercise, so I set myself a mission. I didn't have room for dessert immediately (see: Ozempic), but I wanted a cookie to have in my room to eat later. So I set out down to the Ferry Marketplace on the theory that a tourist area like that would surely have something like Insomia Cookies still open at 8pm.

There ensued what turned into a stubborn five-miles trek up the Embarcadero through Pier 27, then back down to Mission and along that, finding absolutely nothing of the sort. The Embarcadro and Financial Districts are dead after 6pm, to a degree that I find astonishing even by the standards of Boston's comparable district. So while it was great exercise, it was rather frustrating.

(The irony, and lesson in "no shit, just ask freaking directions", was discovering the next day that, two blocks from my hotel in the other direction, is... an Insomnia Cookies. Sigh.)


Tuesday was the first day of the onsite proper, starting with a surprisingly good catered breakfast for all of Platform, some assorted welcoming and speechification, lunch, and presentations on various topics. Since it was work stuff it's mostly proprietary, and wouldn't be interesting to y'all anyway.

For dinner, the entire Platform team went out to ChinaLive. I suspect that if you eat downstairs off the menu, it lives up to its stellar billing. As it was, it was… fine.

The problem is, we weren't doing a sit-down dinner: instead, we had a single big room upstairs, designed as a wander-around-and-mingle cocktail party with passed appetizery things. They were the sorts of items I like (potstickers, char siu pork buns, etc), and good enough, but nothing better than that – I've had far better interpretations of each item. Similarly, the cocktails at the open bar were perfectly competent, but not even remotely innovative or interesting, and the selection was tiny.

Combine that with the fact that it was brutally loud (see "100 people at a cocktail party"), and most of us in the Troops team fled as soon as we could politely do so.

So we walked back to the Omni, I dropped everyone else off, and decided that for tonight's exercise I should do the opposite of last night. Since I'd already explored the Embarcadero thoroughly, I would instead walk up California Street in the other direction. (This is where the SF locals go, "oh, dear".)

The thing is, "up California Street" turns out to be a very literal description. You walk up an extremely steep hill, get to the top – and find yourself confronted with another extremely steep hill in front of you. Repeat half a dozen times.

By the time I got to the Mark Hopkins International and decided that this time really, truly seemed to be the top, I finally went onto my phone, looked it up, discovered that I had just climbed Nob Hill the hard way, and was now about 300 feet higher than I had started.

So yeah – good, but somewhat unintentional, exercise.

—---

Wednesday was smaller-teams day. After another surprising good breakfast (I will credit Salesforce Tower: their catering staff know what they are doing), we broke out into more manageable groups. Troops was grouped with the "3p data" and "Built by Slack" teams (the latter having flown in all the way from India) for some presentations to help us get to know each others' projects better. And then it was time for the inevitable Mandatory Team-Building Fun.

I will confess, I was dreading this bit. Last May's version was fun but dangerous: a cocktail-making class that led to my first hangover since college. This time, we had been told that we were going to be taking an improv class, and a lot of us were not looking forward to that.

As it happens, I needn't have worried. The class was with Leela Improv, and was surprisingly fun. They emphasized upfront that "funny" was not the goal here – they were trying to teach folks to loosen up, turn off the inner critic, be spontaneous and just play for an hour or two.

So for example, there was the game "Whoosh, Bing, Pow". (Similar to this description, with slightly different details.) That's a good enough warmup that I may well steal it for LARP purposes. Or "I am a tree", which consists of people posing as various things and riffing off of the person before you. And a whole bunch of "Yes, and" exercises. Ephraim, from the 3p-data team, wound up working with me in describing a fictional trip to Disneyland, while three other folks got to play the slideshow of the events we were describing. At the end, all twenty of us formed a giant flying dragon, which then fought, ate, and pooped out my teammate Neil.

All in all, kind of weirdly fun – a more effective exercise in getting folks out of their mental ruts than I would have expected.

Dinner was an interesting challenge, in a couple of respects. Will, the Troops lead, had been assigned the task of finding somewhere to go for dinner. But he had a more modest budget than the night before, and the combined group had a lot of vegetarians. (Because India.) So he'd been tearing his hair out, eventually landing on wildseed, a vegan restaurant. Some folks were skeptical (Frank, our confirmed carnivore, especially so), but I was intrigued.

Also challenging was the weather. One of the folks at the front desk of the hotel informed me that we were in the middle of a "pineapple express", where weather coming in from both Hawaii and the northwest hits at once, resulting in wind and rain. Everyone agreed that the weather was horrible.

I, OTOH, looked at it, said "pshaw – compared to a proper Nor'easter this isn't so bad", and resolved to walk. (Yes, I like to walk, and was using this trip as an excuse to do a lot of it.) So I took one of the hotel umbrellas, and set out.

It was, in fact, no-kidding wet, and my shoes were pretty well soaked through by the time I got to the restaurant. (2.1 miles from the hotel.) And it turned out that the route to get there was via Union Street – which isn't quite as steep and tall as California Street, but only a bit less. (The folks who Uber'ed there described the drive as a terrifying experience.)

So everyone thought I was a bit nuts, but it was again great exercise, and I'd left myself enough time that I didn't need to rush, so it was actually kind of fun – I just had to repeat "I am not sugar, I do not melt" to myself every now and then.

The meal itself was arguably the high point of my trip – summary: wildseed is great, and you should go. It's the sort of place that clearly committed to being no-compromises great food, vegan or not, and the set menu that Will had chosen was fabulous. Highlights included wild mushroom zeppoli, light and flavorful, on an herb aioli. Jackfruit "sausage" pizza with calabrian chiles and horseradish to give it serious zing. Mushroom risotto with garlic confit and coconut parmesan. (I don't even know what that last one is, but it was good.) And a gluten-free pan chocolate chip cookie to finish it off.

On top of that, the cocktail menu was everything the previous night's hadn't been, full of creativity. I had something called "The Nutty Professor", the usual sort of nut-forward cocktail that is usually cloyingly sweet, but this was built on top of good nocino, with an amaro and an aperitivo providing balance and just a hint of bitterness, so you got nutty flavor instead of a face full of sugar. (Heck, they even had an amaro on the menu that I don't own – most bars can't claim that good a selection.)

So yeah – if you get a chance, go there. If it was local, wildseed would probably be on my favorite-restaurants list.

(And no, even I wasn't foolish enough to walk back 2.1 miles though that rain: it would have been courting blisters on my feet, and a non-trivial chance of slipping and hurting myself on that hill, given my no-longer-sober state, so I shared an Uber back to within a dozen blocks of my hotel.)

—---

Finally, today (Thursday) was relatively quiet. Closing ceremonies were pretty brief, just the presentation of the "Platinum Platypus Awards" (the Platypus is the mascot of the Platform team), after which I spent a few hours actually, y'know, working.

But since I had the evening to myself (I'm flying home tomorrow), I contacted my sister (who is local), and we decided to try doing dinner at hed verythai, a whopping half-block from my hotel.

It says something about a restaurant when you walk into a restaurant that's invisible down a back alley, at 6:15 on a rainy Thursday evening, and the place is already full. Fortunately, another party was finishing off, so the three of us had to wait less than ten minutes.

If you like Thai food, this gets a high recommendation. The style is sort of bento-box: you choose one of the set meals, each focused on a particular protein, and get served around five small bowls centered around that.

So for example, I went for the Pork Belly (because mmm, pork belly). Besides that central main (relatively thin, well-cooked sliced with an intensely savory dipping sauce), there was a papaya salad with a hard-to-describe but strong back-burn spice, a coconut-based soup (also with some kick), a side of eggplant and three different rices.

The only caveat was that service was slow: they were explicitly short-handed, and slammed with customers. But we weren't in a tearing hurry, and the food was well worth the leisurely pace.

So if you are in this area, and are looking for very good Thai food (with some real kick), check out hed verythai: it also goes on the "I wish this place was near to us" list.

—---

And tomorrow morning I head home. It's been a generally good time – not perfect, but any work trip that turns out three restaurants that I quite like is a good trip. (I'm bemused that the world-class Chinese was the only one that didn't impress me.)

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.

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...

Profile

jducoeur: (Default)
jducoeur

May 2025

S M T W T F S
    123
45678910
11121314 151617
18192021222324
25262728293031

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags