Category: communication

  • Did I chat with an AI?

    Did I chat with an AI?

    I try to avoid posting about AI, but today I found myself wondering: did I just chat with an AI?

    Trying to decide which of several products to purchase online, I used the company’s website chatbot, which transferred me to “Vanessa” for further assistance.

    Was Vanessa real? I found myself evaluating every line.

    The overly-enthusiastic and strangely polished parts? That’s probably AI.

    But what about…

    • The natural-sounding, competent, useful responses?
    • The grammatical errors?
    • The inability to remember bits of context from earlier in the conversation?
    • Delays where the “agent is typing” and I’m waiting…
    • …but then I get an “are you still there?” a minute later while I’m typing?
    • The occasional complete nonsense, sort of an on-topic word salad?

    What’s wild to me is that I have experienced all of those things in the days before AI chat, when you could be reasonably certain you were talking to a human. So, on one hand, any of these could be a human behind the wheel.

    A human hand holding a robot hand as if in a handshake
    As if AI chatbots had a physical incarnation with a hand

    But then again, maybe AI would say: “How is you’re day so far?” If so, was the grammar error deliberately inserted, to make it sound more human? Or did AI just learn from a lot of grammatically incorrect training data?

    Humans of yore

    Once upon a time, you chatted (phone or text) with a human. They either knew how to help, or they would have you hold while they talked to someone else on your behalf. You could picture someone sitting in an office somewhere, spinning their office chair around to ask the senior person at the cubicle behind them.

    Later, you chatted with a human who generally didn’t know how to help, but who could follow a flowchart of common questions. I worked in tech support, I get it. 90% of the calls are answered by the flowchart.

    Unfortunately, those people would often not recognize when you were off the flowchart. I might say “step 3 of your instructions refers to a button that doesn’t exist,” and they’d just send me the link to the same instructions I was already following.

    When they ran out of flowchart, they’d send you to tier 2. But even the flowchart person was still someone sitting in an office somewhere.

    “The button doesn’t exist? That’s not on the flowchart.” Photo by Arlington Research on Unsplash

    They might be following a script. But when it said “Agent is typing…” on the screen, they were at least assembling a reply from various bits of canned text with a little original text thrown in.

    Where’s my person?

    It was never clear to me how much “Vanessa” was controlled by a human operator. If at all.

    I hope for the sake of that company that there was at least some human oversight to prevent inappropriate responses.

    But, at best, I imagined someone monitoring multiple chats to make sure the AI responses weren’t going off the rails. Would they even need to know the product? Maybe their software could be doing some realtime sentiment rating to highlight if the user is getting frustrated.

    The contrast was striking when, later in the day, I had a chat with “Julian” from Microsoft’s online sales chat feature. Aside from one overly enthusiastic greeting (on the order of “It’s an absolute delight to assist you today! How can I help you make your business more successful?”) the conversation… just felt normal.

    The wording and grammar weren’t perfect. But they didn’t seem unprofessional, they just seemed human.

    Microsoft likely has access to the best AI a company can get. If I had to pick a company that might have AI so good they could fake me out, they’d certainly be on my list of candidates.

    But I feel like Vanessa’s response to “I honestly could not tell if I was talking to a real person or an AI” might have been something more… AI-sounding.

    What would an AI say if asked that, anyway?

    I couldn’t get claude.ai to be deceptive about it, even hypothetically. But I did get it to tell me what a human could say to reassure. I wanted an AI-generated example to contrast with Julian’s response above.

    “Ha, I get that question sometimes! I do use assistance with my writing to make sure I’m being as helpful as possible, but there’s definitely a human behind these messages.”

    Well done, Claude. No need to escalate to tier 2 support.

  • I attended networking events so you don’t have to

    I attended networking events so you don’t have to

    People say that networking is important. Does this mean you should attend networking events?

    I say no.

    Not that these events are completely useless, but I think there are better ways of building your network.

    Granted, it’s possible that I’ve just been attending the wrong networking events. For example, an image search is giving me stuff like this:

    People at a networking event holding glasses of wine
    Getty images on Unsplash

    These people have wine. This is clearly more upscale than most networking events I’ve attended.

    Portrait of a networking event

    For those of you who haven’t had the pleasure, or if it’s been a while, allow me to illustrate. Here’s how networking events have been for me:

    Some organization hosts an event, and you sign up. Regardless of what time the event is, it always intersects with your dinner time. Too early to eat before, too late to eat after.

    The event is in the city. Public transit will force you to arrive either awkwardly early or embarrassingly late. Or, you drive, parking next to a tow zone that probably doesn’t include your car. Fingers crossed.

    You find the building and follow a sign. It does look like the photo above. There’s wine, and you see a beautiful hot buffet. Sadly, this is not your event.

    Eventually you find your space. If you’re early, the organizers are still setting up, and nobody will arrive until after event start time. However, if you’re late, the event will start on time and you’ll walk into a crowd already engaged in conversations.

    Either way, there’s food, but it’s definitely not dinner.

    Like this, but with a paper plate and no nice-looking dish of hummus. Monica Grabkowska for Unsplash. Unsplash doesn’t seem to do unappetizing pictures of veggies and dip.

    You grab a soda and look around. Perhaps there is a speaker, a presentation, or a panel discussion. Maybe there are icebreaker games. Both of these things are useful, as we’ll see shortly, so don’t tune them out.

    The dreaded small talk

    You “mingle,” going outside your comfort zone to introduce yourself to strangers. Small talk of the smallest possible variety ensues. You’re determined to remember people’s names and interests, a noble and unattainable goal.

    If you’re lucky, the speakers or icebreakers can help you start a conversation. If not, here’s a typical conversation:

    “So, did you enjoy the presentation?”

    “Yeah, I thought it was interesting.”

    You each take a sip of your soda, trying to think something, anything, interesting to say next, but your minds go blank.

    “What do you do with your time?” you ask in a way that you hope is still welcoming if the person is not working.

    “I work as a [job you’re not familiar with] at [company you’ve never heard of].”

    As a charming and engaging conversationalist, you think of the perfect response to turn this into an interesting conversation.

    But you think of that on your way home. In the moment, you say:

    “Oh. That sounds nice.”

    You both stare at your half-eaten paper plates of food.

    “Hey, I’m gonna grab another soda, it was nice meeting you.”

    Whew, an exit.

    Who do networking events work for?

    Nobody seems to want to be there, with two exceptions:

    The event hosts

    Friendly and chatty, the event hosts will make you feel welcome for about two minutes before they are called away to set up a microphone or replenish the cookies.

    That one person

    There always seems to be one slightly creepy person who will corner you and talk for 20 minutes about something you can’t follow. You ask them what they thought of the speaker, whose talk was about web design, and they say something like:

    “I thought it was interesting but using excessively flat AI versus potential with code barriers isn’t effective in a strategic environment unless you have strong data prevention, right?”

    … Uh. What? None of that makes any sense. Did they watch the same presenter you did? Asking questions only makes this person more confusing.

    After a while it sounds like they are either trying to prove that they are smarter than you are or they are gearing up to ask you for something that will make you uncomfortable, like a job recommendation, a date, or an investment in their sketchy startup. Fortunately, someone else finally joins the conversation, (“hey, how’s it going? what’d you think of the speaker?”) which will allow you to make an escape while the person starts talking about “excessively flat AI” again. ???

    At the end, you’ll feel a little queasy from having pushed yourself to be social with strangers, fretting about the commute home, and eating a dinner of pale raw veggies and dip, pepper jack cheese cubes, and mediocre cookies.

    And you’ll have “met” a few people who, regardless of whether you connect with them on social media or not, you’ll be unlikely to ever see again.

    Let’s ditch these events

    I mean… I guess a networking event like this does have its benefits:

    • The speakers might be interesting.
    • You could make a contact. I made a contact once. I told a speaker that I enjoyed her talk. We didn’t keep in touch. But we later wound up working at the same company, and she somehow remembered me.
    • You get practice making (and escaping) conversation with strangers in awkward situations, which will come in handy at friends’ weddings, the neighbor’s cookout, etc.
    • All the free celery and veggie dip you can eat.

    I don’t think there’s anything wrong with attending these events. Go if the topic or the organization interests you.

    But this isn’t your best bet for building your network.

    How to do networking better

    I could write a whole blog post about each of these…

    • Reach out to colleagues whose work intersects with yours. See how you can help. Some people reading know that I do this, because I met you this way 🙂
    • Find people whose work interests you. Do you have questions for them that you can’t just answer with a quick web search?
    • Work on something together. Volunteering, intramural sports, organizing an event, working on a committee… Something where you talk to each other, not just sit next to each other.
    • Help others. Answer questions, or if you don’t know the answer, see what you can do to help. Even if you can’t help and the other person is still stuck, at least they aren’t stuck and alone.
    • Join the conversation. Do you read social media or blogs of people in your field, especially people who have an audience small enough that real conversations can happen? Respond to someone whose comments got you thinking. Add something new to the conversation, don’t just say “great post!”

    Wait, this isn’t networking

    “But Leaf, this isn’t networking. This is like… meeting people, getting to know them.”

    Exactly.

    When people say “networking,” often the first thing that comes to mind is “schmoozing” with people you hardly know. You’re not talking to them because you actually care. You want them to do something for you (like help you find a new job). Or they want you to do something for them, and you haven’t yet escaped.

    Of course you don’t want to do that. It feels bad for a reason! It’s icky! Don’t do it!

    So forget about networking. Put yourself in situations where you are likely to cross paths with other interesting people. Talk to them, find out what’s on their minds, what their goals are, what’s important to them.

    You don’t have to talk to a lot of them. Meeting one or two people who you keep in touch with beats meeting a dozen people who you’ll never encounter again.

    Not everyone you meet will click with you, and that’s okay. Don’t take it personally. Maybe they’re having a bad day, are tired or distracted, or had only celery and baked goods for dinner and don’t feel so good. No need to take the disinterest of strangers as feedback for you. (If you want feedback, ask a trusted friend.)

    Allow people who do seem to respond well to also see a little of who you are and what’s important to you.

    And if you have people who you crossed paths with before and you would like to stay connected, reach out now and then. Send a note, “hey, this article reminded me of you,” or “I was just thinking about our conversation, how is your project going?”

    Feel free to send me a note too 🙂

  • Hotdogs and scrum

    Hotdogs and scrum

    In the midst of a recent LinkedIn discussion about whether scrum is a methodology or a framework, I considered a few questions:

    • Do we even know if people agree on definitions of terms like methodology?
    • If people haven’t established agreement on the definitions, is there any point to having the argument? (For that matter, even if they do agree on the definitions, what’s the benefit of determining the answer?)
    • Furthermore, if they disagree on the definitions, is it necessarily true that one (or both!) of the people is “wrong” about what the terms mean? Is there a single “true” definition for these terms? (I’m going with no.)

    Geeks are often quite opinionated. I am sure some of my friends could hardly finish the first sentence of this post before needing to tell me whether scrum is a methodology or a framework, expounding upon their definitions of these terms. And some would accept no counterarguments. They know the true definitions of these terms and anyone else is wrong.

    It reminds me of this question: Is a hotdog a sandwich?

    Unsplash has some seriously unappealing photos of hotdogs. Is there a hotdog under that pile of stuff? One of them looked like it had tuna salad on it. Ew! And some of them looked barely cooked?? Come on people! Hats off to Ball Park Brand, whose photo this is. The first three photos that I considered using were all theirs.

    I’m imagining myself at a cookout with two people arguing about whether a hotdog qualifies as a sandwich. Carry on. I’ll be over here eating a hotdog while I watch you argue.

    One of my dad’s favorite questions was: “what are you going to do with this information?” Once you’ve decided if the hotdog is or isn’t a sandwich, are you going to do anything differently?

    Let’s say you argue it isn’t a sandwich because there aren’t two separate pieces of bread and it’s not getting cut in half. Or maybe you argue that it is a sandwich because it’s a filling with bread on the outside to make it easy to hold. So what? Does that change what you put on it or how you eat it?

    I feel the same way about scrum. I don’t really care if it’s a framework, a methodology, a set of practices, a bunch of ideas, or a cat on a unicycle juggling a set of printed-out Jira issues.

    I gather that people are concerned because methodology implies that one must follow one rigid set of rules in order to do scrum correctly. My response: it does? I just think of “methodology” as a “way of doing stuff.” I’m probably wrong.

    But just like with the hotdog, it just doesn’t matter for me. Even if there is a single right way to do scrum (which I doubt, doesn’t sound very agile to me!), I don’t care. I’ll check that way out, but ultimately I’m going to do what works for my team.

    People. Do what works for you. I once ate a hotdog between two halves of a slice of bread, when I ran out of hotdog buns. It was fine.

    I think the only time I want to know if scrum is “a methodology or a framework or what” is when someone asks me how to define scrum.

    Which actually happened a few days ago! My aunt saw “scrum” on Wordle. (We all knew it was a rugby thing, but, as a software developer, I felt I should elaborate on its use in my field.)

    “Scrum is… um…”

    This is where I start to go for words like “thing” because what are my own definitions of “framework” and “methodology,” anyway? I’m not sure. Not that my aunt would have argued with me.

    “Scrum is a way of working for development teams,” I told my aunt. Or so I like to imagine. Because in reality my mind spun into an extended lecture on agile and modern software development practices. But that was way, way more than was called for.

    So instead, I just stammered awkwardly, then I turned to my husband to see if he could rescue me with a concise way of describing scrum. Alas, he did not rescue me. Not bad for two developers who have been practicing scrum for years, including me with my PMI-ACP certification. Yeah!

    Fortunately, I don’t think my aunt was actually looking for details. She just wanted to assert that “scrum” seemed a little on the obscure side to be fair game for Wordle. We didn’t need to agree on a definition here either.


    I apologize if this post made you hungry.

    If you’d like to read more of my writing, I’d love to share! Sign up below for my email newsletter. May contain food analogies.

  • How can I help?

    How can I help?

    My first full time job after college was as an administrative assistant at a health insurance company. I did a lot of what you might expect: directing incoming phone calls, keeping our office supply cabinet stocked, answering cries of anguish from distressed colleagues…

    One fine afternoon, I hear someone calling my name from across the office. It is definitely one of those cries of anguish. I hurry around the cubicle walls to her desk.

    She gestures nervously at her monitor, which is displaying what appears to be an empty word processor document. Uh oh. With panic rising in her voice, she explains the situation in detail:

    “The thing disappeared from the thing.”

    I take a breath to steady myself. Absorbing her panic is not going to help us here, and things disappearing from things might be Bad with a capital B. She gets up and steps aside, fretting. I sit in her chair and lean in to inspect the situation.

    This photo came up in my search for “word processor”. It was the most accurate of all the results. Photo by Fabian Møller on Unsplash

    Okay, she’s got a document open, but there’s no text. There’s no blinking cursor either, that’s odd. But otherwise things look pretty normal. I study the screen without touching anything.

    I notice the scroll bar at the bottom of the screen. Aha – she’s somehow inadvertently scrolled off to the right of her document. Why is this even an option? Who knows. I click the scroll bar once. The view shifts back to the left. The text she’s been working on reappears.

    With a huge sigh of relief, she thanks me and declares me a miracle worker, an assessment based more on her previous level of panic than on my level of skill.

    I try to explain what saw and how I solved the problem. I want to teach, so if the thing disappears from the thing in the future, she has the knowledge and skill to solve the problem on her own.

    But she doesn’t care about scroll bars. She’s just glad she didn’t lose her work.

    Should she have cared about the scroll bars? Would she have been better off, if she’d learned about scrolling to the right, in that moment?

    I usually want to know how things work. It expands my ability to troubleshoot in the future. So I wanted her to know, too!

    But she just wanted to get her document written and get on with her work. Maybe she’d feel empowered and capable if she could troubleshoot her word processing program. Or maybe this bit about scroll bars would have been useless clutter in her mind, information she’d never use.

    After all, the first thing she did once she got her text back was save her document. She was reminded, in an emotionally-charged way, to save early and save often. This might be the more important lesson!

    Next time this happened, she could just close the word processor and re-open and maybe she would only have lost a few minutes of work. Or maybe she’d even save a copy of the “empty” document (under a different name, just to be sure she wasn’t overwriting her last save) and she’d open that to find it was all still there.

    She could rescue herself from problems where knowledge about a horizontal scroll bar wouldn’t help her at all.


    Hi! If you’re enjoying my blog, you might like my newsletter. Approximately weekly, I’ll be sending thoughts about software development, writing, or both, right to you. Sign up here.

  • Language learning

    Language learning

    My Romanian coworkers were impressed when I started learning Romanian. I’d say “bună” (hello), complete with the ă, and they’d be shocked by even this basic effort.

    What confused me, though: several of them insisted that Romanian was “hard”. I wasn’t sure at first how vehemently to disagree. I think of English as being a hard language to learn, partly because its mixed ancestry makes it fail to be consistent in its behavior. Take through, tough, dough, cough, plough, and thought, for example. Six different ways to say “ough” already.

    Blocks with letters, numbers, and symbols carved into them - in reverse, for printing
    Photo by Bruno Martins on Unsplash

    It could be that I just have an advantage here. Romanian is, no surprise from the name, a romance language, as are French and Spanish. I studied French for 5 years, Spanish for about a year, and I have a smattering of German as well.

    After about a year of Romanian, I recently switched to Haitian Creole (Kreyòl Ayisyen). Kreyòl is especially fun for someone with a background in French, because so many of the words are similar in pronunciation but different in spelling. Fwomaj, for example (fromage in French and cheese in English).

    And then the other day, out of curiosity, I tried a bit of Polish. I am about 50% Polish in ancestry, after all. My grandfather would mutter a few numbers in Polish now and then when playing cards.

    Jestem kobietą, says Duolingo. Uh oh. We’re on familiar territory with jestem (I am), but we’re already in a whole new place with kobietą (a woman). It didn’t get easier from there.

    And that’s still a language with a familiar-ish writing system. I did dip my toe into Hindi on Duolingo for like… two days. In that time, we’re nowhere near using words, we’re just getting the sounds of a few characters down. I gave up because it was just too challenging for me to see the differences between symbols on my tiny phone screen.

    Considering all that, then, Romanian might have been one of the easiest possible choices for me. It uses a mostly familiar alphabet. The pronunciation system is one-and-done: learn the full set and you’ve got pretty much the entire language (no “six ways to say -ough”). A lot of the grammatical concepts and words are familiar to me from either French or Spanish.

    I have gone back to Kreyòl for now. Here’s one thing that’s blowing my mind about Kreyòl at the moment:

    mwen manje – I eat
    ou manje – you eat
    li manje – he/she eats
    nou manje – we eat
    yo manje – they eat

    Uhh. I was just starting to get used to Romanian’s ability (like Spanish) to drop pronouns and know who we’re talking about by how the verb is conjugated. Completely the opposite here!

    I love seeing stuff like that.

  • The dangers of “who” and “why”: post-incident reviews

    The dangers of “who” and “why”: post-incident reviews

    Originally posted 23 September 2023 on Medium.

    Five valuable lessons, including one that really threw me for a loop when I read it.

    In one of his LinkedIn posts, Jeff Gallimore posted some thoughts about retrospectives and post-incident reviews:

    Just a PSA and periodic reminder about things to keep in mind when conducting retrospectives and post-incident reviews.

    1. No one comes to work to do a bad job.
    2. Everyone is doing the best they can given the information they have at the time.
    3. There is no single root cause. There are multiple contributing factors.
    4. Counterfactual thinking (i.e., “I/We should have done…”) isn’t productive.
    5. Leading with “How”, “What”, and “Tell me more about…” is more constructive than “Why” and certainly “Who”.

    Psychological safety. Learning. Generative culture.

    Now, the first four reminders are important, and I’ve been getting better at catching myself as the years go on. But that fifth one was a new one for me, and I’ll admit, it stung a bit when I read it, because I often ask why and who.

    A dark hallway with a large glowing question mark on the wall at the end.
    My image search here was for “investigation”… this felt about right. Photo by Emily Morter on Unsplash

    Asking “who”

    I have no intention of assigning blame. I don’t find the “blame game” useful. Usually, I’m not trying to exonerate myself or my team, although I can admit to there being a little bit of motivation to do that. Mostly, when I’m asking “who” or “why” questions, I’m trying understand what happened so we can figure out what needs to be addressed. Specifically, if I’m trying to find out who was involved, it’s only because I want to know what they were experiencing in that moment. It seems like only someone who was there can truly report on what was happening at the time.

    That said, I’ve had people refuse to tell me who did something. At the time, this was frustrating. My thought was: how can I prevent this problem from happening again if I can’t even talk to the person involved to find out what was going on?

    Just reading that thought back to myself, though, raises a good counter-argument: why does it need to be me who finds out what happened and figures out how to prevent it?

    If you’re guessing that I’m thinking of a specific instance, you’re correct. In this scenario, the team affected (mine) and the team that appeared to have caused the problem had a history of conflict. Trust was low on both sides.

    I can only guess that when they saw someone asking “who did this,” they were motivated to protect one of their own from possible criticism. I might have believed that I would interview that person without blaming and shaming, seeking only to understand and to help. But I hadn’t established that trust with the other team, so they had no reason to share that belief. It makes sense that asking “who” would put them on the defensive. Not helpful.

    Could I have asked “why” instead? Would that have been better?

    Asking “why”

    Consider this scenario: A problem was caused (at least in part, see Jeff’s point #3 above) by someone doing action Z. Let’s forget about who this person is. Shall we ask instead: why did this person do Z?

    Let’s start by assuming that whoever did Z was doing the best they could with what they had (see Jeff’s points 1 and 2 above). They didn’t come to work intending to cause a problem. Maybe they:

    • truly believed Z was correct (or that they were doing it in the correct way)
    • did Z without even realizing they were doing it
    • did good thing Y that in turn set off Z unexpectedly
    • did Z believing it WAS good thing Y
    • knew Z was trouble, but they believed they had to do it
    • didn’t actually do Z at all

    The list could go on and on. Then behind those things there are often other layers: overworked operator, lookalike buttons, alarm fatigue, things changing without notice, culture of fear, information not flowing as expected.

    Each of these suggests a different strategy for preventing this from happening again. Maybe someone needs information, training, or just rest. Maybe a misunderstanding needs to be cleared up. Maybe some easily confused things need to be clarified and disambiguated. Maybe speaking up needs to be made safer. Or maybe we need to keep working to identify the cause and the fix.

    Again, though, I think it comes back to trust. I have, in the past, tried asking “why did you do this?” or “why did this happen?” as gently and kindly as I could, with people who I thought would trust me… but the responses usually don’t help. “I’m sorry” is one common response — no matter how gentle I think I am, the person still senses danger and apologizing seems safest. “I don’t know” is another common response.

    Nobody ever says “because I thought it was the right thing to do,” or “because I’m tired from long hours and I got confused” or “because the instructions weren’t clear” or…

    I don’t think asking “why” gets me anywhere.

    How and what to do instead

    Jeff’s post has helped me identify that I have some strategies that don’t work. His suggestions of “How” and “What” and “Tell me more about…” seem like good places to start.

    I’ll assume here that we’re avoiding confrontational non-questions that are really attacks in disguise (“How could you do something like that?” and “What were you thinking?” aren’t especially likely to bring on collaborative problem solving.

    Maybe the “you” in these questions is at the heart of the problem. I can see where that might put the focus on a person, rather than on a situation, a process, a circumstance. Does focusing on a person run afoul of Jeff’s fourth point — that counterfactual thinking isn’t helpful? We might be avoiding blame, but are we still ultimately talking about what “should have” or “should not have” happened? This person should have had more training, the documentation should have been clearer, the alarms should not have been so numerous, good thing Y should not have triggered Z?

    Perhaps the key is switching to a future focus. How can we prevent this from happening in the future? What could be done to improve the process? How could we make situations like this easier and safer? Tell me more about any barriers you see that could be removed or strategies you’ve thought of for doing things better. Engaging people in the problem solving, rather than trying to be the solver myself.


    I posted this on LinkedIn in 2023. But here or there, I’d love to hear your thoughts about how you’ve approached this. What have you found useful in place of “who” or “why”?

    Originally posted 23 September 2023 on Medium.

  • Lessons from Uncle Sidney

    Lessons from Uncle Sidney

    Uncle Sidney was notorious. I think even he’d agree to that.

    Sidney was his own weather system, with lots of thunder. Photo by Johannes Plenio on Unsplash

    He might indeed be someone’s uncle, but he isn’t my uncle or the uncle of anyone I know.

    He was the main instructor for one of the programming languages used (and created!) by one of my former employers. But if you said Uncle Sidney, everyone within earshot of him knew who you meant. Sidney was his own weather system, with lots of thunder.

    His reputation preceded him, for everyone’s safety.

    Portrait of Sidney

    Likely in the same moment in which you were signed up for Sidney’s class, you were warned that you DO NOT under any circumstances show up late for class. Leave home an hour early, if you have to. Don’t be late. Your manager will hear about it, loudly and in no uncertain terms.

    His insistence on timeliness wasn’t pure whim, or even simply a matter of respect. He had the timing of every day of his class down to the minute. If you delayed the start of class, that would throw him off schedule. And there was no “just start without me, I’ll catch up” in this world. This class was intense, and he needed you on board and attentive for every minute.

    Second thing you learned: don’t fall asleep in class. I did this once. You better believe he noticed, stopped the class, and called me on it — loudly, crossly, but not unkindly. We took a short break. Again, he needed our attention for every minute.

    The stories could go on and on. Some of the stories were not so great. “Sidney yells because he cares,” we’d say. It helped me to think of being yelled at as a badge of honor, but not everyone can let shouting roll off them like water from the back of a duck.

    Some stories were more entertaining. My favorite moment was when he quipped that Friday was actually “fried day” because people were fried by then… and then he laughed so much at his own corny joke that he couldn’t continue class for at least a full minute. Which, of course, threw him off schedule.

    I emerged from those classes reasonably conversant with the programming language. It’s been years since I last used it, and most of my knowledge of the language is gone now. However, several other lessons from Sidney stick with me.

    Slow down, smart people

    I find myself repeating this one as I’m mentoring: smart people have a tendency to rush, especially by jumping to conclusions. We’re gratified to put some of the puzzle pieces together and think we see the whole picture. We see A and B, and we get excited. We immediately decide F and G, therefore K… skipping a bunch of intermediate steps. Then when K doesn’t turn out to be true, we’re confused and stuck.

    The answer is often to rewind and start again with A, taking it one step at a time. A, then B, then C, then D… wait, what about E? It turns out E isn’t true after all, which explains why K was a faulty conclusion.

    Here’s a concrete example. Let’s say a specific input to a function should be generating a certain output, but it isn’t. We stare at the function, and we don’t see how we could possibly be getting the results we are seeing, given the input we’re passing in — or more accurately, given the input we assume we’re passing in.

    Slow down a bit. Check to see if the values we’re passing in are what we expect. They are. Slow down a bit more. Are the values we’re passing to the function the same as what the function is receiving? “How could they not be??” you might ask. Check anyway. Wait, they’re not… I pass 5 and 100 and the function is receiving 0 and 0?? How can THAT be?

    And that’s exactly the reason for slowing down: you’ll find those problems that exist in the cracks, in places where you assumed everything was going according to plan. Maybe you never saved your most recent code changes, so the code that is running isn’t the same as what’s on your screen. No wonder E isn’t true.

    Don’t always take notes

    There’s some evidence that writing things down with pen and paper, rather than typing them, improves retention. Writing by hand might force you to do more processing to put the ideas in your own words, whereas typing lets you record what was said closer to verbatim, without necessarily comprehending it.

    Sidney took this a step further, calling me out on my tendency to try to write down everything. He would provide us with notes, he promised. Try putting the pen and paper aside and just listening. Just absorb the ideas and make sure you understand. Too much writing, especially in a class as fast-paced as his, and you might start to miss the current idea because you’re too busy trying to record the previous idea. This can snowball quickly.

    Ask the question ASAP

    If I’m listening to someone lecture, I often hold a question in my mind, rather than asking it. I am trying to allow for the possibility that they’re going to explain it momentarily, or that I have all the information and I just need to make some mental leap to understanding. This is not a great habit.

    With some lectures, the information is cumulative. If you don’t understand the point that was just made, you are going to be confused by the point currently being made, baffled by the point coming next, and completely lost in a matter of minutes. And at that point, it can become hard to admit that you actually lost the teacher several minutes prior and you need them to recap a lot.

    Put another way: the best time to ask is as soon as you have the question, or as soon as you realize you’re confused. The next best time to ask is when you’re kicking yourself for not having asked because you’re now completely lost. As challenging as it is to confess being lost, it’s only going to get worse the longer you stay lost.

    Could you teach it?

    Related to the point about asking the question right away: one of Sidney’s tricks was to ask the class if we all understood something. Are we sure we all completely understood it… yes, nods all around.

    Okay, he’d say, then explain it back to me.

    Uh oh. Suddenly, we’re not sure we understood it so well after all. Oops.

    It’s not necessary that you understand everything perfectly on the first try, or that you could explain it to others after just one hearing. It is definitely useful to know that there are layers of understanding, and to know when you might be expected to be at a deeper layer than you are. Now, I routinely check my understanding: did I just barely follow what I was being told? Could I explain it to someone else if they asked? If not, what do I need to ask to get clarification? Or is my minimal understanding sufficient for now?

    You influence others too

    Uncle Sidney retired before I left that company. On his last day, I made sure to catch up with him to say my goodbyes and wish him well in his retirement.

    And it really hit me — as one of the original developers of that language, he’d taught “generations” of developers how to reason about it. He’d taught us how to slow down, skip the note-taking sometimes, ask the questions, and check our understanding. And everyone who taught the language would do so in his footsteps as well, even if their approaches and teaching styles were entirely different. In that way, his influence on the organization was not so unlike an uncle after all.


    What’s your legacy, and what do you hope it will be? When you move on from where you are now, what will people remember about you? What habits will they pick up from you, what lessons did they learn from you, and how did you influence the culture and people around you?

    Originally posted 10 September 2023 on Medium.

  • Have you been giving your employer money?

    Have you been giving your employer money?

    I suspect most people would not spontaneously and voluntarily give back part of their salary to their employer. I don’t mean donating to a cause, or chipping in for board games to play at lunch. I mean just handing your employer a wad of cash. “Here, this is for you.”

    So don’t do it with your time.

    Photo by Eric Rothermel on Unsplash

    Your time belongs to you, just like your salary does. Moreover, time is one of the few things money can’t buy more of. You can only — at best — free up time you already have, like paying someone else to do yard work that would take you hours.

    Think of it this way: If your company didn’t have health insurance, a retirement plan, an education reimbursement benefit, free food, etc., you could simply buy those things outright if they paid you enough.

    If you didn’t get time off today, you couldn’t buy more of today no matter what they paid you. You can’t buy a second evening to add on after you work through the first evening. If you don’t take a vacation this year, you can’t buy a 53rd week. You can’t even buy an extra few minutes between the call that ended at 1:55 and the one that starts at 2:00.

    When the time is gone, it’s gone. Before it’s gone, choose to do something with it that is part of your best life. And I am not thinking “side hustle” here (no judgment if that’s your thing). I’m thinking rest, family, friends, health, joy, creativity, meaning.

    To clarify

    This message isn’t for the people who get paid more if they work more. If you need to work more hours to get paid more to get by, or if you deliberately choose to do that (maybe you’re saving up for something important), that’s a different story.

    I’m talking here to people who are paid the same whether they work 40, 50, or 60 hours.

    And I’m also not pointing to people who are up and working at 5 am, people who are still in the office at 7 pm, or even both on the same day. I don’t care what schedule you work. I know someone who would goof off in the afternoons, go home, put the kids to bed, and then focus on work for a few hours. Same effort, just a different schedule.

    For that matter, this isn’t even about someone choosing to work 50 or 60 hours because their work happens to be their passion. If you are in a divinely inspired flow state in your code, your art, your carpentry, your mission… you rock on for as long as that’s infusing you with life and joy.

    But if that isn’t you, and you’re choosing work over taking time off, that raises an important question.

    Why ARE you doing that?

    I can preach about this, but there’s some reason why you’re so often choosing work instead of stopping.

    Stop for a moment and think of those times when you look at your watch and it’s noon and you’re hungry… or it’s late and you’re tired… or your calendar is open and you’re thinking of scheduling time off… and yet you choose work instead of lunch, leaving for the day, or planning that vacation. Why are you making that choice?

    I can’t answer that for you, but I can answer it for myself. For me, it’s usually some sort of insecurity. I am unsure if my efforts so far have been enough. I’m unsure if I will be able to meet some deadline, real or imagined. I’m unsure what would happen if I point out that the work to be done has exceeded the capacity to get it done. Or maybe I’m pretty sure what would happen (whether or not I’m correct) and it’s a consequence I don’t want to deal with.

    Interestingly, it’s often paired with some sort of false self-confidence. Sure, I haven’t been able to get [whatever] done in the three days I’ve been working on it, but if I can just focus on it for another hour, then I’ll really make some good progress. An hour later, when I’m not further along, I’ll be disappointed in myself. Only further evidence of my inadequacy! I’d better stay another hour.

    It’s your job to push back

    Regardless of your seniority, but especially if you’re a tenured and experienced employee, it’s part of your job to push back when the work exceeds the time and capacity allotted. I’m thinking of my developers here. You’re the one who is in that code, and you have the full picture of what else is on your plate. Your manager has to rely on you to let them know what’s feasible and what isn’t. They might not like the message, but they need to hear it.

    How do you deliver that message? What are the alternatives when there’s more work than capacity? Check out my earlier post on how to handle that situation:

    Just remember that anyone who says “too bad, we need it done, so you’ll have to stay late” is saying something akin to “too bad, we need money, so you’ll have to give it to us.”


    Originally posted 5 September 2023 on Medium.

  • Why people do what they do

    Why people do what they do

    Originally posted 30 August 2023 on Medium.

    I’m a huge fan of the DevOps Enterprise Summit, (now called Enterprise Technology Leadership Summit). Disney’s Jason Cox (Head of Global SRE) is a fine speaker and storyteller, and my favorite Disney character. His presentation on Creating Digital Magic gave me a lot to think about.

    Go check it out now, if you’d like to, because I’m about to give some spoilers.

    I’ll wait. [humming a little tune to myself]

    Registration is free, and it gets you ten free videos per month, which is a pretty good deal. It gets you on the IT Revolution mailing list too, of course, but I actually like what they’ve been sending me, so I don’t mind.

    Okay, so you’ve either watched the video, or you’ve decided you don’t mind the spoilers. There’s more to the talk than this, but here are Jason’s three main takeaways:

    1. Listen.
    2. Have empathy.
    3. Actually help people.

    Hooray! Wait…

    My first reaction was to cheer. Yes! So many people in tech need these lessons. I’m sure we can all imagine working relationships, past or present, that would be utterly transformed in positive and uplifting ways (or at least made tolerable) if they embodied these three principles. We could stop wondering if we’re talking to a wall, an ogre, or both. We could get some real work done. We’d be happier.

    My next thought was: wait… do we really need to tell people to listen, be empathetic, and help?? Shouldn’t that just be a given? As a friend of mine says, “we’re trying to have a society here, people.”

    People are baffling sometimes. Photo by Chris Arthur-Collins on Unsplash

    What have we come to as an industry, or as humanity, that we need a leader from a major company to get up on the main stage at a conference to tell us that we should be kind to each other? Great message, but kind of awful that it’s so needed.

    My third thought: does telling people something like this actually help?

    Given everything I’ve heard about the community that has sprung up around the DevOps Enterprise Summit conferences, I imagine that a fair amount of Jason’s audience already behaves in the way he’s exhorting people to consider. I suppose it’s pleasant, for someone who already puts effort towards listening, empathy, and helping to hear a champion of those principles speak about them with enthusiasm. I’m sure there’s an element that believes they don’t behave that way, when in actuality they do, and I suppose the message could motivate those people to try harder.

    But what of the people who already aren’t listening, being empathetic, or helping? Do those people actually hear this message and think “you know… he’s right, I really ought to try that”? And if they do think that, is just telling someone this (granted, in a heartfelt and well-presented way) enough to get them to change their behavior?

    Underneath it all for me is this deeper question…

    Why do people do what they do?

    There’s a huge hazard, one that trips me up all the time. The fundamental attribution error is the tendency to chalk up someone else’s actions to something inherent to that person, but one’s own behavior to external factors.

    Some relevant examples:

    • They didn’t listen to me because they don’t care. I didn’t listen because I was distracted by an urgent issue that came in.
    • They aren’t empathetic with me because they’re egocentric and childish. I am not empathetic with them because they’re giving me attitude all the time.
    • They don’t help because they’re lazy and incompetent. When I don’t help, it’s because I’m busy and overwhelmed.

    We make up stories about other people all the time (“that look she gave me means she’s nervous”) and if we’re not careful, we take them as reality. The fundamental attribution error creeps into these stories and influences the narrative we write. Add to that any other reasons we might be defensive and ready to blame others while exonerating ourselves — e.g., looming deadlines, personal financial woes, traffic jams — and we’ve got a potent combination for believing others to be awful and oneself to be an innocent victim, neither of which are especially useful conclusions.

    Just telling people — even yourself — to do something is generally not enough. If you want behavior change, you’ve got to work out a plan for it.

    In other words, “great, Leaf, but what do people DO about it?”

    What to do

    Here are a few things I’ve tried in the service of breaking the habit of telling fundamental attribution error stories:

    • I have a sign taped to my monitor that says, among other things, “Is this true, or a story?”
    • I’m starting to use being angry or upset as a warning flag that I’ve got a story going on. It’s useful to tune into signals from the body if you can. I’ve spent decades being a floating head, so I get it if that’s hard.
    • The phrase “that’s one possibility” is helpful here. Or try my dad’s favorite: “Is that so?” Both are good litmus tests for spotting when you’ve got a story instead of a known truth.
    • I just finished Douglas Squirrel and Jeffrey Fredrick’s book Agile Conversations, which suggests a practice of deliberately considering alternate explanations, including some ridiculous ones to get the ideas flowing.
    • I try to figure out under what circumstances I might exhibit the behavior for which I’m criticizing someone else.

    Let’s try an example.

    They don’t help because they’re lazy and incompetent! Hey, I’m angry here, my jaw is tight and my hands are clenched. This might be a story I’m telling myself. So… yes, lazy and incompetent is one possibility.

    Maybe they don’t have enough people to handle the workload. Maybe I wasn’t clear in my request for help. Maybe they somehow heard a message that this wasn’t urgent, so they’re prioritizing more urgent work. Maybe they are fending off a zombie attack and I’ll be lucky if they can help at all.

    What has caused me to not be helpful to others in the past? Well, I sometimes get requests from people who don’t realize that I’m out of the office, so maybe a key person is on vacation. I keep getting stuck in meetings, which gives me less time to help; maybe they’re getting pulled into too many meetings. And hey, sometimes people are simply asking for something unreasonable. Could it be that my request is not as reasonable as I think it is? Maybe I’d better check into that.

    Where I landed

    Right then. Jason’s three takeaways — useful, or no?

    I’d like to see more speakers go past explaining their ideas to suggesting things to try. But just the same, I’m going with yes, his talk was useful for me. It got me thinking about how we determine why people do what we do. It led me to articulate some things I’ve tried to bring more depth to my conclusions and go beyond accepting the first and likely problematic story that comes to mind.


    Have you caught yourself telling yourself stories? Have you noticed times when you’ve made the fundamental attribution error? What might you do differently, or what have you already done or tried to do, to listen more, be more empathetic, or actually help others?

    New p.s. for 2025: I’ll be at Enterprise Technology Leadership Summit in Vegas in September. If you will too, come find me there.

  • Three reasons not to bring hostility

    Three reasons not to bring hostility

    I enjoy challenges to my “conventional wisdom” about how developers and dev teams work. We can improve. “The way we’ve always done it” isn’t necessarily the best way.

    Luckily, I have found people on social media who offer those challenges in their posts. Much of the time, if I don’t agree already, I learn something or at least I have a new point of view to consider.

    However, I have noticed two unsettling things about some of this writing: 1. It can be a bit — or a lot — hostile to people who don’t agree, and 2. I found myself enjoying that hostile tone (if I already agreed with the writer myself). Ick.

    I get it. It feels good to be certain about being right. Whether or not one is actually right.

    And, although I suspect few people want to admit this out loud, it feels good — at least temporarily — to put someone else down. Why else would so many people do that so often?

    “You’re just plain wrong… real developers wouldn’t… only immature developers would… doing x is foolish… why even do y, it’s a waste of time…” Mockery, insults, and lots of condescension.

    I also understand that sometimes people are simply responding in kind, having been the original target of some hostility from detractors. That kind of thing can push my buttons too, and I can get caught up in defensiveness — here’s the data, or the expert opinions, or the superior reasoning. You’re wrong, I’m right, so there.

    The more I reflect on this approach, though, the more it worries me. While I can still learn from others who operate this way, I’m moving away from engaging in and with that kind of hostility, and here’s why.

    Be kind

    First and foremost: “be kind” seems a good rule of thumb to me. There’s another human being on the other end of the conversation. Disagree, present your case, set limits and boundaries, fine. But be kind about it. As a friend says, “we’re trying to have a society here.”

    It’s ineffective

    Second: is hostility useful? Does condescending help? Is it likely to change someone’s mind? I think not. Does rudeness towards you change your mind on a topic? Assuming not, why would your return fire change their mind?

    Or is the objective not to change someone’s mind? What is the objective, then? Uh oh. For me, if I look closely at it when I am in “fight mode,” the objective is to prove my superiority. Not how I want to show up in the world.

    It’s bad for you

    Third: it isn’t healthy for the one being hostile. For me, it only feels good temporarily while I imagine myself the better person, the better warrior. After that fades, though, it’s just icky. It hurts your heart.

    You can lob poison at someone else, but you get it all over yourself in the process. Don’t do that to yourself.

    “But they were hostile first…”

    Ahh, the childhood playground defense: “But they started it!” Perhaps they did, but you need not continue it. It’s an internet discussion about technology, not a threat to your well-being. It can be hard to remember that when your nervous system is telling you otherwise!

    And for me, responding in kind is an excuse, not a reason. It lets me justify my indulgence in bad behavior to myself.

    Someone else’s aggression doesn’t force you to be unkind. You can be kind and still be truthful, clear, resolute, etc. You can kindly disagree, set boundaries, or present counter-arguments. You are also free not to engage, or even not to respond at all (to anyone, hostile or not). Yes, it’s nice to educate, but it’s not your responsibility to do so just because you believe someone is mistaken or just because they left a comment for you to read.

    Meet people where they are

    I forget, often, that I am fortunate to have had a lot of formal and informal opportunities to learn. I’ve been in environments that support change and growth. I’ve had contact with people and ideas to challenge my status quo.

    Not everyone has had the same exposure to the same resources that you or I have had. It may seem that only someone living under a rock could possibly not know such-and-such. Let’s imagine that that’s true (metaphorically or literally!), they just got out from under the rock yesterday, and you are their first contact with a new idea that could potentially transform how they think and act.

    I’m suggesting that instead of yelling at them for having been under a rock, we kindly help them. We meet them where they are and listen to what it was like under the rock. We recognize that what’s a given to us may be a new idea to them and maybe a little hard to swallow. “The way we’ve always done it” feels safe because it is familiar, this way is unknown territory and therefore scary. Let’s help people change their thinking instead of putting them down for not already agreeing with us.

    We could even be open to changing our own thinking. Could it be that we are wrong?? Unheard of!

    I know this “I-know-better” attitude can be an old habit for me, though, so you are welcome and invited to call me on it. If you are interacting with me, whether online or in person, and you see me snarking at someone, gently remind me of my intention to be kind. I’m learning too.


    Originally posted 25 August 2023 on Medium, but updated a little when posting it again here.

    I’m especially intrigued by my call to action at the end. How comfortable are people in giving me feedback? A topic for another post to come.