Hacker News new | ask | show | jobs
by ramses0 231 days ago
Again, amazing to be seeking feedback (or open to it). I'm at minute 13 (code review management / bookmarks, etc.), and will give my feedback from there:

https://www.essayselevate.com/post/how-to-structure-a-winnin...

"SCAR", which I learned as "Situation, Consequences, Actions, Results" but the above essay will let you go deeper.

Bad: "Two people stood up there, said a few words, and then everybody had cake and went home"

Good: "The situation was... it was a beautiful venue, everybody was dressed nicely, there was music, a slow walk. What these two people were doing was going to bond them together for the rest of their life (or until they had an ugly divorce, whichever came first). They gave a great speech that they'd been practicing all morning in the mirror, gave each other a kiss and a ring to seal the deal, then everyone had cake, danced, and went home tired but happy!"

...this is obviously (hopefully!) exaggerated, and there's a whole bunch more fluffery in the 2nd than the first but imagine this:

1) The situation is that google on perforce or git was dog slow and blah blah not designed for the scale of our monorepo, etc.

2) The consequences was reduced development velocity and increased errors in prod b/c people were trying to bypass CI/CD steps b/c everything was so slow

3) We introduced CitC / Cloud Commits, and => {your technical brilliance described here...}

4) ...and the result was butterflies and rainbows, and here's a graph that shows the production incident rates going down and the changelist rates going up after we GA'd `jj` on linux.

5) The End!

As it stands, much of the presentation is #3 but you're not even giving yourself the credit of bragging about how you discovered the problem (challenge) and the cleverness that went in to inventing your solution.

re: bookmarks:

"We often had people mailing around patches -or- Sometimes PR's were tough to review due to ... -or- I've always wanted an easy way to ..."

=> "Without good bookmark support [adoption would suffer|it would be seen as a step back|collaboration wasn't instant|...]"

=> "So I built bookmarks for `jj`, they work like ..., and solves most of the problem"

=> "It's [better|faster|cheaper|quicker|more fun] than [GitHub|Our Old System|getting yelled at by Linus Torvalds|...etc..."

=> "The IMPACT of bookmarks is: ..." => "It IMPACTED the technical bits here: ..." => "The USER IMPACT is: ..." => "...and finally the business gets: ..." => "What a powerful impact!"

I'd _LOVE_ to see you run a breakdown of any kindof arbitrary slide in the deck and post a deconstruction in this format as kindof a practice/workshop.

It's very OK if (at first) it's pretty mechanical! It's just super-helpful to basically "disassemble" what you're trying to talk about in this mechanical way, and then you can take the proper bits and put them back together.

Situation => Consequences (or Challenges) => Actions => Results => IMPACT!

If you just string a bunch of technical details or technical choices together, you're missing the whole "compelling story" that exists. Even if you just "set the stage" with a single "Situation" slide at the beginning, and a single "Results/Impact" slide at the end... each interior "loop iteration" can be easily set up with a short "Challenge/Consequence" & "Action/Detail/Choice"

"Git + Monorepo was yuck!" => [ "Slow FS" + "CitC" ] => [ "Big Checkouts" + "VFS" ] => [ "Branches?" + "Chose `cp $FILES branches/*` ; Feedback?" ] => "JJ has been well accepted and has a bright future, inside and outside of el-goog!"

1 comments

Thanks for the detailed comment.

My target audience were the people at the conference, who are mostly long-term jj users. The topic was "Jujutsu at Google: Architecture and future plans", i.e. explaining how it works and what our plans are at Google. I'm mentioning this because I think what you're suggesting is for a different presentation, more explaining what the advantages of Jujutsu at Google are rather than how it works. My goal was not to sell the solution to this audience because they're presumably already sold on it.

Sorry if this was obvious to you and you're saying that part of my problem was that I should have chosen a different topic and/or target audience (focusing more on potential new users, perhaps).

Not at all! So for example at ~20-25m, you're explaining "the revset engine"

Just basically flip the first two bullet points:

Situation: "Our repo shape can assume: ..."

Consequences: "Non-mainline graphs fit in memory ..."

Actions: "Tada! Revset engine!"

Result: "Monotonic commit numbers"

Impact: "b/c we can sort ranges => unlocks filtering, client-side processing, etc"

(please excuse my poor understanding of the DETAILS of `jj-at-goog` internals, so I'm butchering some of the details of impact, etc).

...another comment mentioned "death by powerpoint". You can still do/make your slides as you're currently doing it, but when you're "done", just move all the text down into the "speakers notes", and focus on providing some illustrations or comparisons for the visual portion.

Example here: https://share.google/images/tWSmujLgnX2gDvtgL

On the revset, a bunch of it could be helped by "illustrating the impact" or "compare and contrast"

     | RevSet         |  Git-on-ext3   |
     +----------------+----------------+
     | Indexed        | FS-Traversal   |
     | Working Memory | Disk Cache     |
     | Strong Server  | Local Limits   |
     | 456 > 123      | $RAND != $RAND |
                  ...etc...
...and in your speakers notes, you can record some of the technical details you want to talk through.

You're so deep in the weeds it's like asking a fish what they think about water (and to clarify: I'm absolutely not meaning this in any sort of insulting way)... it's just that when you're communicating to others, you may have to end up moving "back and forth" or "up and down" ... illustrated: https://www.youtube.com/watch?v=3amL4O8BSAg ... stretching things out so you can see the individual threads then putting them back, or giving them a twist and blending in a new topic.

Because of your intimate familiarity with the inner workings, sometimes in your talk you're describing an inner working (ie: there's 206 bones in the human body!) but there's no context about what makes that better, or worse, or how they're conceptually connected with each other.

On the grand scale, what is the IMPACT you want your talk to have? To put words into your mouth: "We're about to go GA at google, which is a big deal."

How do you get there? Where did you start from? To put words into your mouth: "JJ is solving google-scale problems, and there's _demand_ and _support_ for bringing it about." [that's your situation]

Consequences? Actions? => now you have set the scene for your very same technical deep dives on JJ.

1) Google has big problems, JJ is solving lots of them!

2) The consequences of (jj-solving-them) or (suffering-further-with-git) are: ...

3a) The actions that have helped jj forge ahead (better than git) are: ...

3b) The actions that jj reduces suffering compared to git are: ...

4) ...as a result, we're about to go GA

5) The impact is increased community trust, improved internal development capabilities, etc...

...again: it's _mostly_ about rearranging things, and providing a little bit more context so that what you _are_ presenting hits your audience better. (3a and 3b are kindof what your current presentation was all about... just set it up a little more on how those interact with the larger picture)

Situation: You've done a great technical thing, and are being asked to present more and be an advocate for it (and yourself)

Consequences: ...if people don't understand JJ, there will be less adoption, or people that would be well-served by it won't use it, or won't contribute

Action: ...you're taking feedback on presentation skills, will continue your systematic learning and iterative improvement approach to this tech-adjacent skill

Result: Butterflies! Rainbows! 150% increase in JJ contributors and 5000% increase in JJ adoption... world peace imminent! :-P

<3 ... best of luck, and free free to reach out if you'd like to continue the conversation!