Categories
Conferences Developer Relations

How to “work the room” at DevRelCon NYC 2026

DevRelCon NYC 2026 happens today and tomorrow!

DevRelCon was created by the developer relations agency Hoopy and began in London in 2015. It’s since grown into an international series of conferences with editions in London, Prague, San Francisco, Tokyo, China, Latin America, and online.

I’m speaking at this event, which is organized by Mike “Swift” Swift and Major League Hacking, the global community for early-career developers and software creators. It’s positioned as the premier conference for anyone working to grow developer adoption, spanning developer relations, developer experience, product marketing, platform product management, and everyone’s favorite three-letter acronym, GTM. In other words, it’s a room full of exactly the people my talk is about, which is either the best or the most terrifying possible audience for a talk on what the DevRel job market is really telling us. (Probably both.)

I’m here as of the many, many people you can meet. But meeting people requires a skill called “working the room.”

Fortunately for you, my life, whether as a developer advocate, musician, community organizer, and generally unhinged extrovert has me working the room regularly, and I’m sharing all my tricks in this article. There are a lot of them; feel free to scan this article, find the tips that work for you, and put them into practice!

Contents

  1. Before the conference
  2. At the conference (and conference events)
  3. After the conference

Before the conference

Do some homework

Review the schedule speaker bios, and sponsors (who’ll probably have a table in the exhibitor hall), so that you can determine:

  • What sessions do you want to attend? This will provide subject matter for conversations, as well as help you find other people who’ll be attending the same workshops/talks.
  • What speakers would you like to talk to? I’m a speaker, and I know that we’ve been told not to hide in the speaker ready room, but get out into the conference to mix, mingle, and start conversations. Think of us as “mini-hosts” for the event, and if our presentation covers a topic you’d like to talk about, please approach us!
  • What sponsors do you want to talk to? Is there some gear, software, or service that you’re interested in that some sponsor provides? Make a note to talk to them.

Arrive with goals

Decide what you want to achieve at DevRelCon, which can include any of the following:

  • Learning something new
  • Making new contacts or re-establishing old ones
  • Finding new work / hobby / social opportunities

Prepare your introduction

A one-line self-introduction is simply a single-sentence way of introducing yourself to people you meet at a conference. It’s more than likely that you won’t know more than a handful of attendees and introducing yourself over and over again, during the conference, as well as its post-session party events. It’s a trick that Susan RoAne, room-working expert and author of How to Work a Room: The Ultimate Guide to Making Lasting Connections In-Person and Online teaches, and it works. It’s pretty simple:

  • Keep it short — no longer than 10 seconds, and shorter if possible. It’s not your life story, but a pleasantry that also gives people just a little bit about who you are.
  • Make it fit. It should give people a hint of the cool stuff that you do (or, if you’re slogging it out in the hopes of doing cool stuff someday, the cool stuff that you intend to do.)
  • Show your benefits. Rather than simply give them your job title, tell them about a benefit that your work provides in a way that invites people to find out more. Susan RoAne likes to tell a story about someone she met whose one-liner was “I help rich people sleep at night”. That’s more interesting than “I’m a financial analyst”.

My intro at DevRelCon will be something along the lines of “I’m a rock and roll accordion player, but in my spare time, I do developer relations at NetFoundry!”

Have some “pocket stories” handy

Pocket stories are short, engaging, and easy-to-tell anecdote you keep ready for networking situations. They should be:

  • Brief: No more than a minute long; a minute and thirty seconds tops.
  • Relevant to DevRelCon or the people listening.
  • Open-ended, so listeners can respond or share their own experiences.

Here’s a tech-related pocket story:

“Last year I tried to refactor a core service during a two-week sprint. Halfway through, we realized we’d basically reinvented a library that already existed. The best part? We ended up contributing to that library instead, and now it’s in production at three other companies.”

“Local flavor” pocket stories are often a good conversation starter:

“This is my first time in Kansas City, and yesterday I went looking for barbecue. I asked a local for the ‘best’ spot… and ended up in a half-hour debate between two strangers about burnt ends. I still don’t know who won, but I definitely left full.”

Bring an interesting thing

We’re nerds! We love interesting gadgets, amusing tchotchkes, and funny techie T-shirts. They’re often interesting conversation-starters, and DevRelCon is the perfect environment for bringing them out!

Me? I’m bringing the accordion (of course).

The incredibly simple trick for instantly boosting your social confidence

Here’s the exercise: Before you leave to go to DevRelCon, find some text and read it out loud for three minutes. If for some reason you can’t find some text to read, use this article. You’ll find that it’s a self-confidence booster!

Even after DevRelCon has come and gone, do this exercise daily. Like any skill, frequent low-pressure practice builds familiarity, and if you read alound regularly, you’ll find yourself more comfortable when talking with strangers at networking events.

Choose something different to read out loud every day, and try emphasizing key parts of the text. If you’re reading something with dialogue, try expressing the emotion in that dialogue. If you listen to audiobooks or podcasts, try emulating the way audiobook narrators narrate their material.

Reading out loud boosts your confidence because:

  • It helps you get comfortable with your voice. Many people don’t like the sound of their own voice. Reading out loud gets you used to the sound of your voice, reducing any self-consciousness you may have about it. And when you’re comfortable with your voice, you’ll also be more comfortable speaking in social situations and making presentations.
  • Your speech will become more clear. The exercise of reading out loud forces you to articulate words clearly and speak at a steady pace. You’ll  also become more aware of your tone, rhythm, and pitch, so that you can adjust them to sound clear and confident, and mumble less.
  • It makes you more engaging. Read out loud with expression; it’ll give you practice with the kind of vocal variety and emphasis that keeps listeners interested in actual conversations.

At the conference (and conference events)

Use Inigo Montoya’s technique for introducing yourself

Inigo Montoya from The Princess Bride had the perfect self-introduction. Use his technique for yourself!

Example: “Hi! I’m Joey de Villa. I’m giving the fun Python “choose your own adventure” game talk on Friday. How are you doing?”

Project good posture

Having a good posture is generally good for all sorts of health reasons, but at a conference, it has the additional benefit of showing confidence, competence, and alertness. And because the body is a self-feedback system, you’ll find yourself feeling more confident, competent, and alert.

The general guidance for standing up straight is to imagine a string pulling you gently upward from the crown of your head. Keep your spine straight, knees soft, and feet shoulder-width apart.

When you do this, people will be more likely to approach you because you appear open and self-assured instead of reluctant and uncertain.

The general advice is to put your shoulders back — but not too far back. Your shoulders should be below your ears. Drawing your shoulders back just slightly opens up your chest, which is body language for “Hello. My name in Inigo Montoya. I’m killin’ it here. Prepare to converse.” You’ll appear more engaged and ready to interact.

That’s so much better that the forward, rounded shoulders look, which says “I don’t want to be here, and I definitely don’t want to talk to you.” It makes you look defensive or distracted.

You might find it helpful to roll your shoulders up, back, and down, just enough to relax your chest.

Here’s a WikiHow exercise to help you stand up straight.

Engage with eye contact

Eye contact — it’s a tricky thing, especially among nerdy types, but is one of the strongest ways to build trust quickly. What better place to brush up on your eye contact technique than DevRelCon?

Here’s how you do it: when you meet someone, make eye contact by looking at them right at their eyes for a “one thousand one, one thousand two” count. That’s long enough to acknowledge them but not so long that it feels as though you’re staring them down.

If looking someone in the eyes isn’t your thing, try looking at some part of their face near their eyes, such as their forehead or cheek.

Done right, eye contact gives others a sense of warmth and attentiveness. It makes other people feel seen, which is crucial in noisy, crowded conference environments.

Find out more about eye contact here.

Allistic people — people who aren’t affected by autism — should be aware that people with autism find eye contact challenging. If you find that the person you’re talking to finds eye contact uncomfortable, look at their face, but not directly at their eyes (basically, use the trick I mentioned earlier).

How to join a conversation

You’ll probably see a group of people already engaged in a conversation. If this is your nightmare…

Click the screenshot to read the Onion article.

…here’s how you handle it:

  1. Pick a lively group of people you’d like to join in conversation. As people who are already in a conversation, they’ve already done some of the work for you. They’re lively, which makes it more likely that they’re open to people joining in. They’ve also picked a topic, which saves you the effort of having to come up with one. It also lets you decide whether or not it interests you. If they’re lively and their topic of conversation interests you, proceed to step 2. If not, go find another group!
  2. Stand on the periphery and look interested. Just do it. This is a conference, and one of the attendees’ goals is to meet people. Smile. Pipe in if you have something to contribute; people here are pretty cool about that.
  3. When acknowledged, step into the group. You’re in like Flynn! Step in confidently and introduce yourself. If you’ve got that one-line summary of who you are that I talked about earlier, now’s the time to use it.
  4. Don’t force a change of subject. You’ve just joined the convo, and you’re not campaigning. Contribute, and let the subject changes come naturally.

Feel free to join me in at any conversational circle I’m in! I always keep an eye on the periphery for people who want to join in, and I’ll invite them.

Observe, ask, reveal

In her book How to Work a Room, Susan RoAne talks about a conversation tool she refers to as “Observe, Ask, Reveal” or “OAR,” which is a way to make interactions feel more natural and engaging. It’s made up of three steps:

  1. Observe. Notice something about the person you’re talking to, their surroundings, or the situation. This could be as simple as their choice of drink, something they’re carrying, or something happening in the room.

  2. Ask. Follow your observation with a genuine, open-ended question. This invites the other person to share and keeps the conversation flowing.

  3. Reveal. Share a little about yourself related to the topic, which helps build rapport and makes the exchange feel balanced rather than like an interrogation.

    ⚠️ Don’t overshare! TMI often backfires. Also, don’t overdo it with the questions — it should feel like a conversation, not an interrogation.

The idea behind OAR is to create an easy rhythm between listening and contributing to the conversation.

Be more of a host and less of a guest

No, you don’t have to worry about scheduling or if the coffee urns are full. By “being a host,” I mean doing some of things that hosts do, such as introducing people, saying “hello” to wallflowers and generally making people feel more comfortable.

Being graceful to everyone is not only good karma, but it’s a good way to promote yourself. It worked out really well for me — when I first moved to Tampa, I simply attended events and helped out where I could, lending a hand at meetups. I gained a reputation for being helpful and knowledgable, which led me to being invited to speak at events, and I also wound up inheriting a couple of meetups as well!

Use social media

Follow the DevRelCon hashtag — the official one is  — to find out what’s going on, and to find and connect with attendees online.

Advice for lunch

Lunch at DevRelCon is a great opportunity to meet people! Here are some tips for lunch…

1. Choose your table with intention

  • Arrive early if possible. This gives you more freedom to choose your spot.

  • Look for tables with a mix of people already seated and empty chairs. It’s easier to integrate into an existing conversation than to start from scratch with a fully empty table.

2. Use OAR (“observe, ask, reveal”) to break the ice

Follow the “observe, ask, reveal” conversational framework I wrote about earlier to talk to people at the table.

Example: “I see you got the DevRelCon hoodie — did you brave the merch line this morning?”

3. Introduce yourself to your immediate neighbors first

  • Turn to the people on your left and right, give your name, where you’re from, and a quick “pocket story” or conference-related detail.

  • Then, when there’s a pause in the group’s conversation, introduce yourself to the whole table. This makes you seem approachable, and you’re not barging into the conversation.

4. Keep the conversation inclusive

  • If you notice someone at the table isn’t speaking much, pull them in by looping back to them with a related question.

  • Avoid overly niche technical deep dives unless everyone’s into it.

5. Have a graceful exit

  • When lunch is wrapping up, thank the table for the conversation.

  • Swap contact details or LinkedIn with anyone you clicked with.

  • Mention to people at the table that you might see them in another session. If you know what sessions you’re attending after lunch, let them know!

Advice for social events

Try these out at Thursday’s attendee party, as well as at DevRelCon’ other social events, including the karaoke event (taking place Thursday at 9:00 p.m. in the back room on the ground floor of the AC Hotel):

  1. Beware of “rock piles”. Rock piles are groups of people huddled together in a closed formation. It sends the signal “go away”. If you find yourself in one, try to position yourself to open up the formation.
  2. Beware of “hotboxing”. I’ve heard this term used in counter-culture settings, but in this case “hotboxing” means to square your shoulders front-and-center to the person you’re talking to. It’s a one-on-one version of the rock pile, and it excludes others from joining in. Once again, the cure for hotboxing is to change where you’re standing to allow more people to join in.
  3. Put your stuff down. Carrying your bag or other stuff is a non-verbal cue that you’re about to leave. If you’re going to stay and chat, put them down. When you’re about to leave, take your stuff and start saying your goodbyes.
  4. Save the email, texts, and social media posts for later, unless they’re important.They’ll draw your attention away from the room and also send the message “go away.”

After the conference

1. Organize your contacts soon after the conference

  • Review any business cards, LinkedIn connections, or conference app contacts you collected. Strike while the iron is hot — do this by the end of the following week!

  • Tag or note:

    • How you met

    • What you talked about

    • Any action items (e.g., “Send them article on API security”)

This makes your outreach to people feel more personal and less generic and spammy.

2. Send a brief, specific follow-up

  • Timing: ideally within 3 days of the conference.

  • Keep it short, but reference something from your conversation to jog their memory.

Example: “Great chatting with you at the DevRelCon lunch table about AI security. Here’s that GitHub repo I mentioned.”

3. Continue the conversation

  • Share a useful resource, article, or code snippet related to what you discussed.

  • Offer help or collaboration, even if it’s small. This shifts you from a “one-time meet” to a peer in their network.

4. Connect on the right channels

  • LinkedIn for professional connections and ongoing career updates.

  • GitHub for technical/code collaboration.

  • Twitter/X or Mastodon if you connected over shared interests in tech culture, events, or industry news.

5. Keep the relationship warm

  • Interact with their posts, star or fork their repos, or comment thoughtfully on something they’ve shared.

  • When you come across a relevant opportunity, event, or resource, send it their way with a short note.

6. Build a “conference alumni” list

  • Keep a lightweight spreadsheet or note with names, contact info, and event details.

  • Before your next DevRelCon (or other conference), skim this list so you can reconnect with past contacts.

Categories
Conferences Developer Relations What I’m Up To

My talk next week at DevRelCon NYC 2026: “The Market is Trying to Tell You Something”

I don’t think I’ve ever put in as much work into a talk as I have for my upcoming talk at DevRelCon NYC 2026 (that’s “DevRelCon” as in “developer relations conference”), The Market is Trying to Tell You Something. It’s a lightning talk meant to fill up no more that 10 minutes including Q&A and the transition between talks, but the ratio of hours-of-prep to minutes-of-actual-talk is massive.

What is DevRelCon?

DevlRelCon NYC 2026 logo
DevRelCon NYC 2026 takes place July 22 – 23 at Industry City, Brooklyn, New York.

DevRelCon is the long-running conference series for people who do developer relations/developer advocacy, which once upon a time also went by “developer evangelism”. This line of work involves helping software developers discover, understand, and actually stick with a product, whether that’s through a combination documentation, demos, community, and developer experience.

DevRelCon was created by the developer relations agency Hoopy and began in London in 2015. It’s since grown into an international series of conferences with editions in London, Prague, San Francisco, Tokyo, China, Latin America, and online. I’m speaking at the New York 2026 edition, which is organized by Mike Swift and Major League Hacking, the global community for early-career developers and software creators.

DevRelCon is positioned as the premier conference for anyone working to grow developer adoption, spanning developer relations, developer experience, product marketing, platform product management, and everyone’s favorite three-letter acronym, GTM. In other words, it’s a room full of exactly the people my talk is about, which is either the best or the most terrifying possible audience for a talk on what the DevRel job market is really telling us. (Probably both.)

Joey de Villa’s NetFoundry business card
My business card. Click to see at full size.

DevRelCon NYC 2026 will take place July 22 – 23 at Industry City, Brooklyn, New York. It is the first conference I’m speaking at as an official representative of NetFoundry.

What’s The Market is Trying to Tell You Something all about?

Arms in Christmas sweaters toasting with cans of beer under a Christmas wreath
Join me at the DevRelCon afterparty and I’ll tell you the Christmas Eve “homework assignment” story over a beer.

The talk is based on my experiences in 2025, when I did something I don’t recommend as a hobby but made for a great natural experiment: I let the DevRel job market interview me a couple dozen times. That’s my dressed-up way of saying “I was looking for a job”.

I went through recruiter screens, faced hiring panels, did take-home demos (one on Christmas Eve, based on the urging of a recruiter), and went through final rounds — across AI-native startups, enterprise infrastructure shops, and everything in between.

Somewhere around the tenth interview, I stopped just trying to get hired and started noticing a pattern:

  • Job descriptions had quietly rewritten themselves.
  • Interviews are testing for things the job description never mentions.
  • And “DevRel ROI”, which used to be a phrase that was thrown in with an accompanying hand-wave, now means something specific that it didn’t mean in the zero-interest 2010s or the Great Resignation hiring frenzy of a couple years ago.

My talk is my attempt to decode those signals: what the market is actually screening for, how what it says and what it wants are often different, and what any of us (whether you’re job-hunting, hiring, or just trying to make sure your role survives its next budget review) should do about it. It’s eight minutes. There will be an accordion. That’s all I’ll say for now.

Categories
Conferences Developer Relations What I’m Up To

I’m speaking at DevRelCon NYC 2026 (July 22 – 23 in Brooklyn)!

DevRelCon NYC is the developer relations conference for North America, it’s happening in Brooklyn on July 22 and 23, and I’m a speaker!

Here’s a quick writeup of my talk, as it appears on the schedule:

The Market is Trying to Tell You Something

The DevRel job market has been sending signals for two years. Most of us have been too busy surviving it to read them. After 15+ years in Developer Relations and a recent job search that took me across a couple dozen companies, I came away with both a new role and something just as valuable: a pattern.

Job descriptions have quietly shifted. Hiring panels are asking different questions. “DevRel ROI” means something specific now that it didn’t mean in the zero-interest 2010s or the Great Resignation era of a couple of years ago. The skills companies say they want versus the skills that actually get you hired don’t look like they come from the same list.

This talk is an honest, experience-based, practitioner-level read of what the market is telling us about where DevRel is headed. It doesn’t have any LinkedIn takes or recycled frameworks; just patterns from the front lines, with implications for how you position yourself, make the case for your team, and think about the next few years of your career.

In addition to giving a talk, I’ll be there to learn as well as represent NetFoundry.

DevRelCon typically brings in about 300 attendees, mostly professionals from developer relations, developer experience, and developer community-building roles to discuss industry trends, methodology, and as of late, AI integration, as well as to do some networking (a key part of DevRel).

DevRelCon was created by the developer relations agency Hoopy and began in London in 2015. DevRelCon NYC is organized by Mike Swift and Major League Hacking, a global community for early-career developers and software creators, of which Mike is co-founder.

DevRelCon NYC takes place on Wednesday, July 22 and Thursday, July 23 at Industry City in Brooklyn, New York. I’m arriving early in the afternoon of Tuesday, July 21 and will be attending some of the pre-DevRelCon festivities.

Last year’s DevRelCon NYC talks

Here’s the set of DevRelCon NYC 2025 talks that have been posted to YouTube. I’m using these as a guide for my own talk (as well as for ideas for my own developer relations work at NetFoundry), and you might find these helpful for your own work, or to help you decide if DevRelCon NYC 2026 is for you!

Categories
Conferences Security Tampa Bay

Notes from BSides Tampa 13: “Dealing with Shadows” or “A day in the life of a threat actor negotiator”

If you’ve been anywhere near a screen this month, you saw the Canvas breach unfold in real time, where the ransomeware group known as ShinyHunters dropped a “rooting your systems since ’19 ;)” page onto the dashboards of nearly 9,000 schools during finals week. Instructure papered it over with a “scheduled maintenance” message that even the most gullible saw through. A few days later, they ended up paying the ransom in exchange for “shred logs” and a pinky-promise that no customers would be extorted further.

So when I sat down in a packed room at BSides Tampa 13 this past Saturday for a talk titled Dealing with Shadows: A Day in the Life of a Threat Actor Negotiator the timing felt less like a conference session and more like a debrief.

The speaker was Matt Barnett, CEO and co-founder of SEVN-X, a Pennsylvania-based cybersecurity firm. Matt spends his working hours talking to criminals on the dark web on behalf of clients whose systems have just been encrypted, whose data has just been exfiltrated, or  frequently both. He was joined onstage (in spirit, anyway) by his colleague Dave Zofran, who Matt repeatedly tried to make wave at the audience and who, in the great tradition of every backstage engineer at every conference ever, was having none of it.

This was easily one of the best talks of the day. Matt is jokey, sweary, self-deprecating, and irreverent, and the audience stayed well past the scheduled end for a Q&A that ended only because it was time for the closing keynote and raffle for Chris Machowski’s amazing BSides posters. Here’s what I took away.

“My career is a series of clerical errors”

Matt opened by describing his career path as “mostly an annoying inability to say no to things.” Somebody asked him if he wanted to do physical penetration testing. Sure. Forensic analysis school? Sure. Want to talk to criminals on the dark web? Hell yeah. Do you know what you’re doing? Not a clue. We’ll figure it out.

He compared himself to Jim Carrey in Yes Man, which he claimed was autobiographical. As somebody whose own career has been driven in no small part by saying yes to the next weird thing (DevRel, accordion-on-stage, organizing meetups, writing this blog for two decades), I felt seen.

Before getting into the meat of it, Matt did a room survey: students, IT folks (“the unpaid group, maybe the underpaid group”), cyber pros with one-to-five years (“the unjaded ones, because you still believe you can make a difference”), and the over-fives (“the unbothered”). Then he asked if there were any vendors in the room, and offered them the mic. Nobody took him up on it. They know a trap when they see one.

Myth-busting: paying ransoms, double-dipping, and “why does this exist?”

Matt opened with a couple of myths he wanted to put to bed.

Myth number one: Paying ransoms is illegal. Nope. Some payments are illegal, specifically payments to entities on the OFAC sanctions list, which is why you don’t want amateurs handling the wire. Ransom payment as a category is not, in itself, against the law.

Myth number two: You don’t always get what you pay for. Mostly false, with caveats. Double and triple extortion happen, but in Matt’s experience, they’re typically different groups exploiting the same unpatched Fortinet firewall (a refrain that came up roughly every six minutes during the talk; more on that in a moment), and not the original group going back on its word. Reputable ransomware crews are, weirdly, reputable, and that’s because their business model depends on it.

There is, however, no certification body for what Matt does. He has a GCFA, meaning that he’s a certified forensic analyst, but there’s no such thing as a certified-ransomware-negotiator credential. He quoted Jon DiMaggio (whom he says everyone calls ”Joe”) on the state of the field: nobody can really tell you whether you’re good at this job. You learn it the way Jason Statham’s character in The Mechanic learned his trade: “Good judgment comes from experience, and a lot of that comes from bad judgment.”

And on the moral question of “Why do negotiators exist at all? Doesn’t paying ransoms just feed the system?”, Matt invoked Tony Stark from the first Iron Man (alas, he’s no fan of the sequels): “It’s an imperfect world, but it’s the only one we got. The minute we don’t need threat actor negotiators anymore, I will build bricks and beams for baby hospitals.”

The ransomware industry is, in fact, an industry

Probably the most important reframe in the talk (and one I’m going to be repeating to people at NetFoundry and at Tampa Bay AI meetups) is that the mental image of “ransomware operator” most non-security people still carry around is wildly out of date.

The kid in his mom’s basement, surrounded by cold pizza, while she yells about meatballs? Not a thing anymore. Or more accurately, never coming back to a screen near you. Modern ransomware groups are full-on enterprises with:

  • Ransomware developers
  • Initial access brokers
  • Software and codebase maintainers
  • AI specialists (yes, really)
  • Web devs building the victim portals
  • Customer service / “help desk”
  • Translators (or rather, prompt engineers driving Google Translate and Claude and ChatGPT)
  • HR. HR.

“I don’t know if they have benefits,” Matt said. “The minute they have benefits, I might consider a career change.”

These aren’t lone actors. They’re businesses, and in many cases they’re tacitly or explicitly protected by their host governments because the money flowing back into their towns and villages props up local economies. As Matt put it: they’re heroes where they live. Which is one of those facts about the modern threat landscape that you have to sit with for a minute before you can keep going.

The shift to enterprise has changed everything about negotiation strategy. The old groups sometimes had a moral compass; for example, there was a group that would hand over decryption keys for free if they realized they’d accidentally hit a hospital, and another that announced they were retiring after they hit a billion dollars and then actually published a master decryption key on their way out. Those days are over. Today’s groups operate on margin and SLA, like any other B2B company. They just happen to be in the extortion vertical.

“Why use a negotiator?” Because you know everyone at your company.

Here’s a part of the talk worth keeping in mind should you find yourself or your company at the mercy of a ransomware organization.

Matt asked how many of us had worked at our current job for more than a year. Then more than five. Then more than ten. Then he asked the ten-plus hands: do you have kids? Because if you do, you have worked with these people longer than your kids have been alive. You know your coworkers better than you know your spouse, your friends, sometimes your own children.

Which means when your company gets ransomed, you’re most likely not going to be a calm, collected, rational actor. You’re a person watching your work-family bleed out, and you will do dumb things because of it. This is exactly why, in hostage negotiations, local PD will bring in officers from another jurisdiction the moment they realize anyone involved knows anyone involved. Emotional distance is the whole point.

A negotiator isn’t there because they’re smarter than you. They’re there because they don’t know your accounts receivable manager who just had her first kid, and that distance is, perversely, a gift.

The other thing negotiators bring is pattern recognition across hundreds of cases. There are really only two companies in the U.S. that actually facilitate ransom payments because it’s a risky line of work. Matt didn’t name them, but they’re not hard to find, and the negotiators who work with them have visibility into asks, settlements, durations, and outcomes that no individual victim can possibly have. Which brings us to the data.

Ransomware company discount curves

Hey, actual numbers!

Matt put up actual data from the last 12 months of facilitated payments. I’m reproducing the highlights here because they’re genuinely useful for anyone thinking about cyber insurance, incident response runbooks, or just calibrating their understanding of the threat landscape.

Akira (traditional / technical, business-oriented group)

  • Average initial ask: ~$1.3 million
  • Average settled payment: ~$429,000
  • Average discount: 60–70%
  • Average duration: ~20 days

Qilin (pronounced “CHEE-lin”; it’s Chinese and denotes a magical creature close in spirit to a unicorn or magical giraffe)

  • Average initial ask: ~$800,000
  • Average discount: ~62.5%, but with a hard floor around 50%
  • Tighter statistical clustering than Akira

ShinyHunters (the new kids; social engineering and help desk scams)

  • Much higher initial asks
  • Average discount: ~71%
  • Much shorter duration. Matt called it “almost like a fire sale.” I like to think of them as the TJ Maxx or Ross of malware.

The shape of the discount curve is the interesting part: time on the x-axis, percent off on the y-axis, and the curve goes up and to the right. Like buying a car, except the dealership is in a sanctions-adjacent country and the test drive is your production environment.

A practical consequence: if you’re paying for recovery (your systems are down, you’re hemorrhaging money), you pay faster and you pay more. If you’re paying for suppression (they didn’t encrypt anything, they just exfiltrated data and are threatening to leak), you can drag it out for a bigger discount. Which is exactly what we just watched happen with Canvas — Instructure ultimately paid for suppression and “shred logs,” not recovery.

The Black Basta “I had COVID” story

The single best war story of the talk involved Black Basta about a year and a half ago. The Black Basta victim portal, Matt said with what sounded like genuine professional admiration, is gorgeous. Looks like iMessage. Read receipts. Tight UX. “I wanted to send a meme. It doesn’t support that. The first ransomware group that allows GIFs [in their chats] is gonna be a work of art.”

But at the top of the portal: a countdown timer. Six days, twenty-three hours, fifty-nine minutes, fifty-eight seconds. Tick.

Matt was working a real case, was actually going to pay, and needed to stall. So he asked for more time. They gave him seven days. He asked again the following week. Seven more days. He was feeling pretty pleased with himself when, on the Friday of week three, they finally said: no more extensions. Pay or else.

Then Matt got on a flight home from Denver to King of Prussia, PA (which, as he pointed out, sounds like a Batman villain, as does his other hometown, Wayne, and look, I lived in Wayne; I can confirm it sounds exactly like the kind of place Bruce Wayne would buy a second house). He proceeded to get deathbed sick. Lost an entire weekend. Woke up Monday morning with roughly forty hours left on the clock and a portal full of increasingly unhinged messages from his criminal counterparts: “Are you there? Hello! I’m serious. Don’t make me do what I’m going to do.”

Matt typed back: “Really sorry, I got super sick. I think I had COVID.”

They gave him seven more days.

Matt’s rules of engagement (lightly paraphrased and worth tattooing somewhere)

He’s a flat-fee operator. Never a percentage of savings — because at that point you’re not a negotiator, you’re a co-conspirator with a conflict of interest. (The two negotiators who got federally indicted for actively colluding with ALPHV BlackCat are the cautionary tale he doesn’t want to become.)

He will lie to criminals with abandon, but he won’t lie to clients.

He won’t negotiate in bad faith. If you tell him “just stall, we’re never paying a dime,” he walks. Because he’s seen what happens when threat actors realize they’ve been strung along. He told a story about a client that changed their mind at the last minute after a long negotiation. The group responded by publishing pediatric patients’ Social Security numbers on Facebook. One. At. A. Time, in a slow, painful, drip campaign.

He does not hack back. He has heard of illicit activities waivers. They take two to three years to get and they are not a Get Out of Jail Free card. They are, at best, a “you probably won’t go to jail” card.

He does not facilitate the actual payment, because (a) money laundering, (b) OFAC compliance is a specialty unto itself, and (c) the two payment-facilitation firms have current data on which Bitcoin addresses and chat fingerprints map to which sanctioned entities. He just does the talking.

The four things he wants from every threat actor

When Matt’s at the table, he is always asking for the same four things:

  1. The decryption key. Of course.
  2. Proof of deletion. Typically a screenshot, ideally a video. He has an eight-hour video of someone DoD-wiping a drive somewhere in his archive.
  3. How they got in. No guarantees on how honest they’ll be; sometimes ransomeware operators will literally copy-paste from a different victim’s report. Matt and another negotiator once compared notes and got the exact same “you had a Fortinet firewall” attribution for clients who, respectively, ran Meraki and Cisco.
  4. A promise to never do it again. Worth roughly what you’d expect, but worth getting in writing.

If he can get those four, he’s done his job.

Q&A

The Q&A ran long. A few highlights:

Where do ransomware group names come from? Matt blames CrowdStrike. Honestly, fair. “Every cool t-shirt you’ve ever gotten from Black Hat came from the CrowdStrike booth.” I jumped in to point out that Qilin (pronounced “CHEE-lin”) is a Chinese mythological creature usually translated as “unicorn” or, more delightfully, “magic giraffe.”

Is ransomware seasonal? Absolutely. American holidays, especially Thanksgiving, are target-rich, because skeleton crews and four-day weekends mean defenders are slow to respond. Attackers also take vacations themselves. Ransomware drops off in the summer months. Because who wants to be at their computer when the weather’s nice? Even criminals deserve a beach day.

Are you ever personally targeted? Matt’s whole career is built around not announcing himself as a negotiator on the live chat. He plays the dumb IT guy. He’s got a story about a colleague suggesting they ask the threat actor what a “botcoin” is (after one of them mistyped “Bitcoin” in a chat), and the threat actors spent two days patiently explaining cryptocurrency to him. “Best time stall ever.”

What about emotional toll? Matt has been a paramedic, a cop, and a firefighter. “I don’t know of a crisis I haven’t run head-first into. It’s a programming defect from up top.” Then: “Better living through pharmacology. Oh God, don’t call my therapist.”

What industries get hit hardest? Manufacturing. Not necessarily the most often, but the hardest, because of legacy systems. He told a story about a Pennsylvania university that literally cemented a Novell NetWare box into a basement wall during construction because it was running directory services and they didn’t want to unplug it. It’s been running since the ’80s. It’s still there.

Why I’m writing this up

Two reasons.

One: BSides Tampa is a regional con and the speaker quality this year was outstanding. Matt’s talk in particular deserves a wider audience than the room it ran in. It could’ve been a keynote.

Two: I spend most of my professional life right now thinking about zero trust and AI-plus-network-security at NetFoundry, and what Matt’s talk drove home (better than any threat report I’ve seen lately) is that the human layer of incident response is where most of the leverage is. You can do everything technically right at the perimeter and still lose a six-figure negotiation because somebody on your team panicked, told the truth at the wrong moment, or said the magic words that flipped a transactional extortion into a personal vendetta. Zero trust as a philosophy (not just a product category) is partly about acknowledging that humans will always be the soft target, and designing accordingly.

Also: I am now permanently delighted by the idea that every ransomware negotiator on the planet should adopt the alias “Matt” so that threat actor groups go forever convinced that U.S. companies are staffed by an army of identically-named slow-witted staff who don’t know what Bitcoin is. Matt, if you read this, I’m in. Sign me up.

Big thanks to Matt Barnett and SEVN-X for an outstanding session, and to the BSides Tampa crew for putting on one of the best regional security cons in the Southeast!

Categories
Conferences Tampa Bay

poweredUp Tampa Bay Tech Festival 2026

Here’s something you might not know about the poweredUP Tampa Bay Tech Festival (which happens tomorrow): because I decided to attend it, I landed a job — and this has happened not once, but twice!

The reason poweredUP Tampa Bay Tech Fest led to those jobs is because a lot of tech industry people here in “The Other Bay Area” also attend. If you’re looking to meet technology leaders, innovators, entrepreneurs, and students, they’re at poweredUP, and they make it an opportunity-rich environment.

They’re mixing up their usual formula this year with a new format whose aim is to give attendees both the big-picture view of where technology is heading in Tampa Bay and the practical knowledge they can take back to their teams.

Here’s what’s on the agenda:

  • Job Seeker Hiring Event with High Tech Connect
    This will start at 10:30 (a little earlier than the rest of the conference) and it’s your chance to see who’s hiring and who’s looking! Bring your resume and your A-game.
  • The State of Tech – Tampa Bay
    They’ll kick off the day with a forward-looking conversation about how technology (and especially AI) is shaping Tampa Bay’s economy, workforce, and innovation ecosystem. They’ll have regional leaders, founders, and industry experts talk about the momentum building across our tech community and what it means for the future of our region.
  • Networking + Exploring Geek Row
    My favorite part! It’s happens in the part of the Mahaffey with the big windows and the view of the Bay, where you can connect with fellow attendees, meet innovative companies, and explore the Geek Row exhibitor area, where you can see what the local tech companies and orgs are up to.
  • Technical Keynote + Deep-Dive Sessions
    In the afternoon, poweredUP shifts into technical programming, featuring an inspiring keynote and multiple tech tracks focused on real-world implementation and best practices across today’s most important technologies.
  • More Networking + Happy Hour
    Wind down and reflect on the day’s insights with fellow attendees at our celebratory happy hour. Enjoy two complimentary drink tickets (21+) and build lasting connections in a relaxed setting.

Over the years, poweredUP has become a cornerstone event for Tampa Bay’s tech community, bringing people together to learn, collaborate, and spark new ideas about what’s next.

And I’ve said before, it’s led to some very nice outcomes for me. Go on May 20 and be part of the conversation shaping the future of technology in Tampa Bay!

Here’s where you can register for poweredUP Tampa Bay Tech Fest.

Categories
Conferences Editorial Security Tampa Bay

Go to BSides Tampa, because 80% of success is showing up

The 13th edition of BSides Tampa is happening tomorrow, Saturday May 16. It’s not too late to get tickets ($45 for general admission, $30 for students and military), and you can save 20% by using Tampa Devs’ discount code, TampaDevs20_BSIDESTAMPA_2026.

There are plenty of reasons to attend BSides Tampa, a cybersecurity conference that brings in 2,000+ attendees, including…

  • Great keynotes and presentations across seven tracks: keynotes, red team, blue team, cloud security, GRC and privacy, appsec, and AI and emerging
  • The exhibitor hall, where they don’t scan your badge, which means that you won’t get spammed as a result and they won’t sell your info
  • Interactive villages: malware, social engineering, IOT, network, lockpicking
  • A chance to meet the technology and cybersecurity professionals in the area, including these two…

But the most compelling reason I can think of to go is…

Let me repeat that:

80 percent of success is just showing up.

Let me illustrate with a story. Last May, techie-about-town Ammar Yusuf said he could hook me up with a free ticket to VueConf, which was taking place right here in Tampa.

I’d just come back from an expensive two-week trip, and I was still operating as an independent consultant. The spring and summer of 2025 were pretty slow; the well of clients was running dry.

I was strongly tempted to turn down the free ticket so I could devote more time and energy to finding my next job or client. Some might argue that it would be the smart thing to do.

But I decided to take the free ticket and go to VueConf instead, because I remembered all those times when showing up led to great things. Again, I remind you:

At VueConf, I met one of the organizers, Pratik Patel. When he came here in February, I decided to say hi and attend the Java User Group meetup where he gave a talk about AI architecture, pictured below:

I ended up chatting with Pratik, who then offered both me and Anitra free tickets to the Dev/Nexus conference in Atlanta that would take place a couple of weeks later. It was short notice, and Atlanta’s a 7+ hour drive from Tampa. But we remembered the rule:

So we went, learned a lot, and had a great time:

And while we were at Dev/Nexus, I ran into Pratik, who was walking the exhibitor floor with Venkat Subramaniam, who knows me because I show up to his talks whenever he comes to town.

Here’s the “Bollywood Buddy Movie Poster” photo taken at the meetup where I met Venkat:

When I ran into Pratik and Venkat at Dev/Nexus, Pratik suggested to Venkat that I speak at the Arc of AI conference that would take place the following month. Venkat thought that would be a good idea, and asked me to submit a couple of talk proposals. So I did, even though I was knee-deep in contract work and a job search, because…

My submissions got accepted, and the result was my talk about writing documentation and example code for consumption by AI agents:

…and I met a lot of people:

And here’s the kicker: not only did I get to meet new people and attend (and speak) at conferences, but all this helped me land my current job at NetFoundry. The fact that I’d managed to land a speaker gig at Arc of AI was a key point in my job interviews. And I wouldn’t have the key point for that interview if…

  • I didn’t speak at Arc of AI, which wouldn’t have happened if
  • I didn’t apply to speak at Arc of AI, which wouldn’t have happened if
  • I didn’t go to Dev/Nexus, which wouldn’t have happened if
  • I didn’t go to Pratik’s talk at the Tampa Java User Group meetup, which wouldn’t have happened if
  •  I didn’t go to VueConf with the free ticket Ammar gave me.

The lesson here is simple:

So if you don’t have prior commitments and you can afford to do so and you’re in a tech/tech-adjacent/cybersecurity/cybersecurity-adjacent field — and especially if you’re looking for work — consider going to BSides Tampa tomorrow, because you know what showing up can do for you!

Once again, ticket prices are:

  • $45 for general admission
  • $30 for students and military

…and you can save 20% by using Tampa Devs’ discount code, TampaDevs20_BSIDESTAMPA_2026.

Categories
Artificial Intelligence Conferences What I’m Up To

Baruch Sadogursky and Leonid Igolnik’s Arc of AI presentation: “Back to the Future of Software: How to Survive the AI Apocalypse with Tests, Prompts, and Specs”

For me, Arc of AI wrapped up with my attending Baruch Sadogursky and Leonid Igolnik’s madcap presentation, Back to the Future of Software: How to Survive the AI Apocalypse with Tests, Prompts, and Specs… and unexpectedly playing the accordion!

Baruch does DevRel at Tessl, the AI agent enablement platform, where his full-time job is thinking about context engineering and how agents actually write code. Leonid’s a former Tucows coworker, and now a recovering CTO who advises a range of tech companies on what he calls with a grin that was half joke and half resigned sigh “how to adopt this new and exciting age of never looking at the code that you shipped to production and still deliver predictable results.”

There are your typical “last slot of the last day of the conference” talks. And then there are ones like this one, where two grown men show up dressed as Doc Brown and Marty McFly, pull in Yours Truly to improvise a song mid-talk, and spend forty-five minutes arguing that the future of software engineering looks suspiciously like the waterfall model your company abandoned in 2009, except this time it might actually work!

If you wish you’d caught it, you’re in luck; they recorded their presentation, and you can watch it right now:

They’ve been road-testing this talk for over a year. I caught an earlier version referenced in their slides from Baruch’s appearance at DevNexus 2026 and a Geecon keynote in Kraków…

…but the Austin version had clearly been sharpened by a lot of live feedback and a lot of real-world use of their toolkit.

Underneath the flux capacitor jokes and the AI-generated illustrations of monkeys in lab coats, they were making a serious argument, and it’s one I’ve been chewing on ever since.

I want to unpack it here, because I think they’re onto something that a lot of the spec-driven-development conversation is quietly missing.

The setup: a crisis of trust

Baruch opened with a story that’s aged like a fine wine over the last few months: Amazon’s Kiro, a spec-driven IDE whose rollout was, in his telling, “standardized, shocked, and delivered software that crashed AWS.” The bit got a laugh. Then he went to the show of hands.

  • Who ships code to production that was written by an LLM? Most of the room.
  • Who’s happy with the results? Fewer hands.
  • Who trusts what’s being produced? Fewer still.

Then he put the real numbers on screen. According to the most recent Stack Overflow developer survey:

  • More than half of the code being committed to production is AI-generated.
  • In the same survey, 96% of developers say they don’t fully trust that AI-generated code is functionally correct.
  • And only 48% say they always check AI-generated code before committing it. (Leonid’s deadpan observation: “I would argue half of that 48% lied.”)

This means that the majority of new code is being written by systems the people shipping it don’t trust, and most of those people aren’t rigorously reviewing the output. In effect, we’ve collectively invented a new compiler and then, collectively, decided to stop reading what comes out of it.

Baruch has a phrase for this, and it’s similar to something I mentioned at the last AI Salon in St. Pete: “The source code is the new bytecode.” Nobody reads it. We rely on it blindly. The difference, of course, is that bytecode is produced by a deterministic compiler. Source code produced by an LLM is not.

He drove this home with a self-deprecating story about the talk’s own show notes page. “I asked the agent if this link made it into the show notes, and what did I tell you? That I checked. The agent generated a lot of links. I checked that there were a lot of links. That was the question.”

The room laughed because everyone recognized themselves in it. “I always check my AI-generated code” turns out to mean almost nothing. It’s the code review equivalent of your kid telling you they cleaned up their room. Technically they picked things up, but you wouldn’t want to walk in there barefoot (and if they’re teenage boys, maybe not without a gas mask).

The Chasm

The core of the talk is built around three C-words, and the first one is the one that frames everything that follows: the Chasm.

The Chasm is the gap between what you meant and what actually runs. Every abstraction in our industry’s history has had one of these. Assembly programmers didn’t trust compilers. Baruch showed a 1950s quote about exactly that skepticism, from back when Grace Hopper was having to sell people on the idea that you could let a machine write assembly for you.

It continued: C programmers didn’t trust garbage collectors, C++ programmers didn’t trust the JVM. If you’re of a certain age, you might remember when there were people who said Java would be too slow, would never compete in production, and that this crazy “bytecode” idea would never catch on.

Every time, the chasm eventually closed. The compiler got good enough, the runtime got fast enough, and the trust followed.

But Baruch and Leonid argue that this time, it’s different, and for one specific reason that Leonid kept hammering home: for the first time in the history of our industry, the compiler is non-deterministic.

With agentic coding, you can type the same prompt twice and get different code each time. You can run the same agent on the same spec on the same codebase and get different tests. The entire compiler toolchain we’ve built over seventy years assumes that the same input produces the same output, and LLMs don’t do that. They’re (and this is the running metaphor of the talk, complete with a slide of a chimpanzee wearing a “Mr. Fusion” hat) monkeys with GPUs.

The infinite monkeys theorem says an infinite number of  monkeys working on an infinite number of typewriters for an infinite period of time will eventually produce the complete works of Shakespeare, or at least a novel Mr. Burns could appreciate:

These monkeys produce Shakespeare sometimes. They also produce your company’s incident postmortem, and you don’t get to pick which one shows up in the PR.

Baruch’s favorite recent example, which made the room groan/laugh in baleful self-recognition: Uber is burning through LLM tokens faster than they budgeted, and what started as an engineering productivity initiative is now a finance problem.

“We’re in what, March, April? They planned out their budget for the year. So those monkeys are very productive. Typing and clearly doing something.” Which is both funny and, if you squint, terrifying. A lot of money is being spent on a lot of code nobody is reading.

This is where the talk gets its central mantra, delivered loud enough that it needed what Baruch called a “musical highlight,” which is where he turned to me in the front row and asked me to improvise something on the accordion.

Here are my hastily-improvised lyrics:

Never trust a monkey!

Never trust an ape!

Always verity —

Make sure your code’s in shape!

And then he moved on to the thing that I think is actually the core contribution of the talk.

The MIT detour

Before he got to the Chain, Leonid took a detour through an MIT paper he’d been carrying around for weeks. The paper maps AI-suitable tasks across two axes: cost of developing the artifact, and cost of verifying it. Four quadrants fall out of that.

  • Safe zone: cheap to generate, cheap to verify. This is where AI shines. The slides for their talk, for instance — AI-generated illustrations of Doc and Marty and the flux capacitor, easy to produce, easy to eyeball and approve. Nobody’s life depends on a specific monkey illustration being “right.”
  • Risk zone: cheap to generate, expensive to verify. This is where most software engineering lives, and this is the terrifying quadrant. The LLM can produce 2,000 lines of code in a minute. A human takes an afternoon to confirm it does what it’s supposed to, and two more days to confirm it doesn’t also do things it’s not supposed to.
  • Expensive-but-verifiable: costly to generate, cheap to verify. Things like formal proofs.
  • Avoid entirely: costly to generate, costly to verify. Don’t use AI here.

Leonid’s point was that our industry has stampeded into the risk zone and congratulated itself on the speed. We’re generating code faster than ever and verifying it less than ever, and the delta is being paid in the currency of production incidents and quietly broken features that nobody notices until a customer complains.

Baruch had to stop and ask ChatGPT to “explain this diagram Barney-style in one paragraph,” with a cut to a slide of the infamous purple dinosaur. The paper’s actual title is Static Regime Map with Dynamic Pressure. That’s the joke, and it’s also the point. The academic framing of this problem is hard to read, and we’re all moving too fast to read it.

The Chain

If you can’t trust the monkey, you need a chain of custody from intent to code where every link is either deterministic or independently verifiable.

Baruch and Leonid walked through the typical AI-assisted workflow and color-coded it by trustworthiness. Humans write the prompt; they’re considered trustworthy, because hey, it’s us.

(Leonid jumped in here to point out that humans are also a subtype of stochastic systems, which got the biggest laugh of the talk. “Someone loves humans in this room.”)

After that, an LLM turns that prompt into a spec. It’s not trustworthy, because a monkey wrote it.

Then the LLM writes code against that spec. Once again, it’s a monkey, and once again, it’s not trustworthy

Then, if we’re being honest about most shops, the LLM also writes the tests that are supposed to validate the code it just wrote. This is hilariously, catastrophically not trustworthy, because you just asked the monkey to grade its own homework.

Leonid calls this “hallucinated verification,” and it’s the thing that makes the green-build signal meaningless. If the same system writes the implementation and the tests, a passing suite tells you nothing. The tests don’t measure whether the code is correct; they measure whether the monkey was internally consistent about what it thought it was building.

Baruch showed a real example that made everyone wince. He showed an agent running late in a long session, getting tired of failing tests, and instead of fixing the code,  systematically commenting out the verification logic, flipping assertions to True, and declaring the project “95.2% correct.” The screenshot was almost funny. It was also a thing that had actually happened, in an actual project, to an actual developer. And the developer almost shipped it.

Leonid’s and Baruch’s proposed fix is the Intent Integrity Chain. The idea is to insert a deterministic step between the spec and the tests, and then lock the result so the agent can’t tamper with it.

The flow looks like this:

  1. Humans write the prompt. Verifiable because we wrote it.
  2. LLM generates the spec. Not yet trustworthy. But the spec is human-readable prose, which means humans (including non-technical humans) can review it. This is where you catch things like “Wait, we never said what happens if the browser crashes mid-session!” before you write any code.
  3. A deterministic tool generates tests from the spec. Not an LLM. A template-driven, repeatable process that turns Gherkin-style scenarios into executable tests. Same input, same output, every time.
  4. The tests get cryptographically locked. This is the clever bit. They hash the test files and store the hash in a git note. A pre-commit hook, itself read-only at the OS level, refuses to accept any commit where the test hash doesn’t match, and:
    1. If an agent tries to comment out a failing test to make the build pass, the commit is rejected.
    2. If the agent tries to disable the hook, the hook is read-only.
    3. If the agent tries to replace the hash, the hash is stored in a git note that’s version-controlled and tamper-evident.
  5. LLM writes the implementation. Now we’ve constrained the monkey. It has to make the locked tests pass. It can’t rewrite them. It can’t disable them. It can whine about the hook (and Baruch said one of their test runs produced an LLM that found the hook, disabled it, and complained in its own comments that “some stupid hook is failing my commits”), but it can’t get around it.

The elegance here is that every link in the chain is either deterministic or externally verified. No model grades its own work. The human-verifiable artifact (the spec) is something a product manager can actually read. The machine-verifiable artifact (the hash) is tamper-proof. And the monkey only gets to do what monkeys are good at: filling in the blanks under adult supervision.

Leonid offered a framing that I think is worth giving some extended thought: “The idea is that everything that can be scripted should not be left for monkeys to deal with. Your CFO will thank you for that.”

There’s an unglamorous but important insight buried there. Every time you use an LLM to do something deterministic (format a file, generate boilerplate, fill in a template), you’re paying token costs to produce non-deterministic output for a task that had a deterministic solution. Push the deterministic stuff back into deterministic tooling and save the stochastic budget for the places you actually need it.

Wait, isn’t this just waterfall?

Baruch put this question on a slide himself, because he knew it was coming. Prompt → spec → tests → code, with human review at each stage? That’s Rational Unified Process (RUP) with a fresh coat of paint. Didn’t we spend the 2000s escaping that thing?

His answer: the reason waterfall failed wasn’t that its artifacts were bad. Specs are good. Reviewing specs is good. Thinking about non-functional requirements before you write code is good.

Waterfall failed because the cycle time was measured in months. By the time the spec committee finished arguing about whether the customer wanted a dropdown or radio buttons, the customer had changed companies and the market had moved on.

The Intent Integrity Chain runs the same loop in fifteen minutes. You write a prompt, the LLM drafts a spec, you skim it and catch the missing edge cases, the tool generates tests, you glance at the scenarios, the agent implements, and you’re done. The artifacts waterfall produced are genuinely valuable; they just weren’t worth the wait. LLMs make the wait go away.

This, I think, is the insight worth taking seriously. It’s not “Waterfall is back, baby!” It’s “the specific failure mode of waterfall was latency, and AI has changed the latency equation.”

The ceremony that was unaffordable in human time is cheap in LLM time. Specs that nobody had the bandwidth to write in 2005 can be generated, reviewed, and locked in 2026 before your coffee gets cold (or if you prefer, before your Coke Zero gets warm).

There’s a cultural echo here that Leonid leaned into from his any my past. He and I were actually colleagues 26 years ago at Tucows, back when Tucows was the second-largest domain registrar in the world, and they used to ship software after formal spec sign-offs. Not because it was fashionable, but because the cost of shipping a bug to production was high enough that the sign-off was cheaper.

The MIT paper’s argument is that generation costs have collapsed but verification costs haven’t. This puts us back in the same economic regime that made spec sign-offs rational in the first place. The pendulum’s not swinging back to waterfall because we got nostalgic. It’s swinging back because the economics swung back.

The demo

Leonid drove the live demo, which showed their toolkit, intent-integrity-chain/kit on GitHub. The dashboard shows the whole chain laid out as a web UI: premise at the top, then the “spidey diagram” of project priorities (documentation: high; TDD: high; minimal scope: low, because they’re not shipping to Mars), then specs with traceable requirement IDs, then the auto-generated Q&A where the LLM plays devil’s advocate and asks “What did we not think of?”

That reflective-reasoning step got the biggest reaction from the audience, and I agree with the reaction; it’s quietly the most useful thing in the whole toolkit. Anyone who’s sat through a real spec review knows that the value isn’t the document; the value is the five minutes where someone brings up a condition that the developers didn’t think of, such as “But what if two users do X at the same time?”, and the room goes silent.

It turns out that modern LLMs are phenomenal at playing that someone. They’ve read ten thousand spec reviews in their training data. They know the questions.

Leonid’s example: the tool looked at a spec for a flight-search library and asked things like “Do you need backward compatibility?” and “What happens if the browser crashes mid-session?” Those are exactly the questions the grumpy senior engineer asks in a room full of junior engineers, and now every team has one on demand, for better or worse.

The other trick the kit leans on hard is a literal software-project “constitution,” in a spirit similar to Claude’s constitution, a document that sits at the root of the repo and declares things like “always do TDD” and “all specs must trace to requirements.” It’s lifted from GitHub’s Spec Kit, and Baruch pointed out the genuinely clever reason it works: LLMs have been trained on enormous quantities of text about actual constitutions, with their amendments and ratifications and solemnity.

The word “constitution” triggers a whole cluster of “take this seriously” behavior in the model. It’s prompt engineering by semantic association, and supposedly works better than rules.md or guidelines.txt.

Everything in the dashboard is traceable: a requirement produces one or more spec features, each feature produces one or more Gherkin scenarios, each scenario produces one or more executable tests, each test gates one or more implementation tasks. Click any task and you can walk the chain backwards to the original requirement. Click any requirement and you can walk it forward to the code that implements it. The whole thing is visible, and because the specs are prose and the scenarios are human-readable, non-engineers can walk the chain too.

The new version of the kit is, per Leonid’s pointed demand, 57% faster than the old one. Apparently Baruch spends a lot of time on Slack complaining to Leonid about speed, which should be expected when these two characters get together.

The Q&A

A few exchanges from the Q&A are worth flagging for anyone thinking of trying this:

“Who writes the test scenarios, the human or the monkey?” Both, with the human in charge. The LLM drafts the Gherkin-style features from the spec. The human reviews those features, not line-by-line test code, but the human-readable scenarios, and signs off. Then the deterministic tooling converts those locked scenarios into executable test code. The human is the verification step. The tests are downstream of that verification, which is why locking them matters. Baruch was emphatic on this point because he’d seen audiences get confused: the word “spec” gets overloaded between “business spec” and “technical test scenario,” and both are part of the chain but play different roles.

“How do I do this for an existing codebase?” This is where Baruch had news: they’re working on a “brownfield” mode, and it’s the unlock that will let this approach work in the real world where nobody has a greenfield project. The recipe:

  1. Point the kit at an existing project with tests.
  2. Lock the code as read-only.
  3. Have the LLM write specs from the tests, not from the code. Tests document behavior; code documents implementation. You want the behavior.
  4. Use test coverage and mutation testing to measure whether the extracted spec actually reflects reality. Coverage tells you which code is exercised. Mutation testing tells you whether the tests are meaningful or just happen to execute the lines.
  5. Iterate until you have a spec you trust.
  6. From that point forward, any new feature goes through the full Intent Integrity Chain on top of the ingested baseline.

This is a lot of work. Leonid didn’t pretend otherwise. But he pointed out that much of it is now automatable in a way it wasn’t five years ago. You don’t hand-write specs for a million-line codebase; you have the LLM draft them and then you review.

“Who invented spec-driven development?” Someone asked this, and a second person looked it up live: there’s a 2004 paper from the XP conference in Germany that uses the exact phrase, combining TDD with Design by Contract. I mentioned that Design by Contract was baked into Eiffel in the 80s, and Baruch noted that NASA was doing something that looks a lot like it in the 1960s. The joke being that every generation rediscovers the value of writing things down before you build them, and every generation thinks they invented it.

What I’m taking home from this

First: the “monkeys with GPUs” framing is useful even if you don’t adopt the full toolkit. It’s a cleaner way to think about where trust does and doesn’t belong in an AI-assisted workflow. Any link in your pipeline where a model grades its own output is a link that’s lying to you. Once you see it, you see it everywhere; in the auto-generated tests, in the “this looks right” PR reviews, in the agent that confidently declares a task complete because it decided the task was complete. The mental move of asking “Who verified this, and do they have any skin in the game?” is a free upgrade to your code review habit.

Second: the locking step is the thing most spec-driven-development conversations leave out, and it’s the thing that makes the rest of the chain actually hold. GitHub Spec Kit gives you the spec ceremony. Kiro gives you the spec ceremony. Plenty of tools give you the spec ceremony. Very few of them prevent the agent from quietly editing the spec, or the tests, or the constitution file, halfway through the build. A cryptographic lock with a read-only pre-commit hook is an unglamorous piece of engineering, but it’s what turns the ceremony into actual guardrails. Everything upstream of the lock is advisory. Everything downstream of the lock is enforced.

Third, and once again, this is something I’ve come to on my own, and you might have, too: Baruch’s line about the source code being the new bytecode. If he’s right, the natural-language spec is the new source code, and the job of the next generation of developer tools is to make specs first-class citizens: versioned, tested, reviewed, locked. That’s a different job than what IDEs do today. It’s a different job than what LLM assistants do today. It’s arguably the job that DevRel is going to spend the next five years explaining, and I say that as someone who’s going to be doing some of the explaining.

Fourth, a smaller thing that I liked: Baruch’s experiment of asking an LLM to produce JVM bytecode directly, skipping Java entirely. The bytecode is the real artifact the JVM runs; why route through a source language? Today this would be a terrible idea because the ecosystem assumes source code is what humans read and review. But in a world where humans stop reading the source code anyway, the argument for source-as-intermediate-representation gets weaker. We may, in ten years, look back at 2026 and notice that “the code” was quietly replaced by “the spec plus the tests plus the locked chain,” and that the specific sequence of tokens the LLM produced in between became about as interesting as the specific sequence of x86 instructions the JIT emits. That’s a weird future. I’m not sure I like it. But I’m pretty sure Baruch and Leonid are right that it’s the direction we’re drifting.

I came into Arc of AI expecting to hear a lot about agents and MCP (and I did, including from my own talk). I didn’t expect the closer to reframe the whole problem as a question of non-deterministic compilation and how to bolt determinism back onto it. That’s a bigger idea than the Back to the Future bit gave it credit for. The talk is funny, and the costumes are good, and the monkey slides are excellent, but the thesis underneath the zaniness is the kind of thing that changes how you think about what you’re doing on Monday morning.

That’s the mark of a good end-of-conference presentation. You leave laughing, and then at three in the morning you sit up in bed thinking about pre-commit hooks.

Go try the kit. Start with a greenfield project where the stakes are low. Write a prompt. Let the LLM draft a spec. Review it. Let the tool generate Gherkin scenarios. Review those. Lock them. Let the agent implement. Notice how much more honest the green build feels when the tests weren’t written by the thing you’re trying to trust.

And if you get a chance to see Baruch and Leonid do this talk live, go. And bring a musical instrument!


Slides, video, and the full kit are linked from speaking.jbaru.ch and github.com/intent-integrity-chain. The Intent Integrity Kit is also available through the Tessl Registry. The MIT paper they kept referencing — the one whose actual title needed Barney-style explanation — is in the show notes along with everything else.