Category: work

  • Developer’s checklists

    Developer’s checklists

    Posted just now about writer’s checklists – so let’s post about the developer’s checklists here too!

    As a developer, I maintained a checklist of troubleshooting tips.

    I would have conversations like this:

    Me: Any thoughts on what I could do next?

    Colleague: Have you tried [something they also recommended last time]?

    Me, embarrassed: Uh… no. I’ll try that. Writing that down this time! Thanks.

    And I’d add that to my checklist.

    For reasons unknown, developers assume that we are the last person in our organization who will ever encounter a specific problem.

    • We’re the last person our team will ever onboard, so we don’t need to document lessons learned during onboarding.
    • This error message won’t happen again, so there’s no need to note the steps we took to address it.
    • Nobody else will install or configure this product, so we won’t bother writing down the process we went through.
    “I’m surely the last person to ever go through this process.” Photo by Christin Hume on Unsplash

    And then we’re surprised when three days or weeks or months later, the same situation has come up again and we’re struggling to remember what we did last time.

    Last page list

    I kept my troubleshooting checklist starting on the back page of my notebook so I could always find it in a hurry.

    The specific items on the checklist will vary from person to person, but they might include:

    • When did this code work last? Did it ever work?
    • What changed between when it last worked and now?
    • Can I reproduce the problem in another environment? How about another branch of my code?
    • What if I back out my last change?
    • Have I tried clearing the browser cache? (Ugh. I always forget.)
    • Did I push the change to the environment where I’m expecting it?
    • Am I getting an error? Search for the exact text of the error in the code, in Slack, on the web…

    Keep adding to it as you learn more!

  • Job seekers beware of scams

    Job seekers beware of scams

    Beware of the scams targeting job seekers. I’d say “it’s a new low” for scammers to target people who are looking for work, but no, unfortunately… the scammers seem to reside at those depths.

    Scammers who aren’t who they claim to be

    Beware these tactics for scammers trying to mask their true identity.

    • Text-only interviews (no video call).
    • AI-generated video. Some sophisticated scammers are using AI to make them look like someone they’re not.
    • LinkedIn profiles or other online content may be convincing fakes. Or hacked.
    • Scammers impersonating legitimate people. The name on the email is a real recruiter, but the actual sender is a scammer pretending to be the recruiter.
    Photo from Getty Images on Unsplash.
    • Lookalike URLs, e.g., if the real site is companyname dot com, but the email is from companynameinc dot com.
    • Spoofed email.
    • Entirely fake companies.

    Scammers after a job seeker’s money

    Don’t share your bank account information until you’re hired at a company you’re 100% sure is legitimate and you’re ready to get that paycheck by direct deposit! Even something that seems like it couldn’t be a scam, like accepting a check from the company as payment for something, has the potential to be a problem.

    Watch out for these scams:

    • Requests for payment or for your banking info, e.g. to cover “fees.” This includes payment for background checks or credit reports.
    • Exclusive paid content. Would you pay extra to have the inside scoop on how to get hired at Google? That exclusive content may not be anything other than publicly shared information.
    • Money launderers. Don’t take any jobs handling money for others unless you’re completely sure of their legitimacy. Scammers may be criminals trying to hide the trail of money they’ve stolen.
    • Being sent a check e.g., for equipment or training. Even after you’ve been “hired”.
      • You buy a laptop, they send you a check for the amount, you send them the laptop “to be configured,” the check bounces and they disappear.
      • They “overpay” you and ask you to send some back. You send it back, but then their check bounces.
    Photo by Money Knack on Unsplash

    Wait, wouldn’t it be okay to accept a check and only act on it after it clears? No, a cleared check isn’t proof that it hasn’t bounced. From the FTC site on fake check scams:

    By law, banks have to make deposited funds available quickly. Even if you see the funds in your account, that doesn’t mean it’s a good check. Fake checks can take weeks to be discovered and untangled. By that time, the scammer has any money you sent, and you’re stuck paying the money back to the bank.

    Other red flags

    • Sharing your personal information too early in the process (e.g., you shouldn’t need to share a social security number to start the conversation)
    • Anything unusual they ask you to run on your own machine: custom software, a project with a github repository. These can be malware designed to steal your personal information.
    • Job offers for roles you didn’t apply for.
    • Salaries much better than you’d expect for the position.
    • Be suspicious if you’re getting a lot of pressure from the company to do things quickly. They may be trying to keep you from doing proper research.
    • Trust your intuition if something feels “off” or seems too good to be true.

    How to protect yourself

    As a job seeker, what can you do to protect yourself from scams?

    • If this isn’t a company you’re familiar with, see what you can learn about them. Sites like LinkedIn and Glassdoor might help, but they aren’t alone proof of a legitimate company.
    • You could also ask friends if they are familiar with the company, or see if you have any second-degree contacts there on LinkedIn.
    • Look for the company name + “scam” or “complaint” online.
    • Verify via the company’s real website. Reach out to them rather than relying only on contact information given to you.
    • When possible, meet someone in person.
    • I’ve heard that, if you suspect AI-generated video, you can ask the person to put their hand in front of their face. Apparently, AI has a hard time handling that. I heard a story of one sketchy interviewer who refused to do this.
    “I don’t know about this… put your paw in front of your face?” Photo from Getty Images on Unsplash.

    Things you can do if scammed

    What if a scammer contacted you? What if things went too far before you realized something was amiss?

    • Freeze your account at all three major credit bureaus (Equifax, Experian, TransUnion). Freezing is free.
    • Change your banking info, if you’ve given it out.
    • If the scammer impersonated a real company, contact them via their website to report it.
    • Report LinkedIn-based scams to LinkedIn.
    • Report it to the authorities. The police for your city or town might take a police report. See also:
    • Educate others.
    • Beware additional scammers claiming they can help protect you, get your money back, etc.

    And: don’t beat yourself up. The scammers are getting harder and harder to detect.


    “Job seekers beware scams” was originally a post on LinkedIn, but it seemed worthy of a permanent home on my website.

  • Not getting started guarantees failure

    Not getting started guarantees failure

    As I mentioned recently in my post about pressure and resistance, I’ve had a hard time getting started lately. I’ll sit down to work, and then I get distracted. At the end of the day, I’ve accomplished nothing on my to do list.

    I feel like an engine that won’t “catch.” Turn the key, it makes the right sounds to indicate that the engine is surely starting. But as soon as you stop turning the key… silence.

    A set of keys dangling from the ignition of a car.
    Remember car keys? Photo by Ivan Shemereko on Unsplash

    Fear of doing it wrong

    Another piece of the resistance, in addition to rebelling against the pressure: I fear doing it wrong or not being able to finish.

    • I dread writing for a while on a blog post and then losing enthusiasm and giving up.
    • I’ll think about a section of my book proposal but then worry that it won’t go well or I won’t be able to complete it.

    You know what guarantees that I will fail? Not starting.

    It makes no sense. Not starting feels safer, even though it guarantees the outcome I don’t want. Why should it feel safer?

    And yet, I’ve spent several days this month with the engine turning over but not catching.

    Fortunately, yesterday was a good day. Got a (fairly long!) newsletter email written. Yay! And today has been good so far too. Taking the pressure off is helping.

    Blank is easy, but not useful

    I had to laugh when I saw this. Here are the search engine optimization (SEO) ratings from Yoast for a completely blank blog post:

    A red frowning emoji labeled "SEO analysis: Needs improvement," a green smiling emoji labeled "Readability analysis: Good," and a green smiling emoji labeled "Inclusive language: Good"

    I had to laugh. That post (or book!) you never write? Sure, as a blank page, it might be incredibly easy to read. And, not having any words, it is unlikely to offend.

    But it’s not exactly going to be engaging to your readers. With driving, to get somewhere, you have to actually start the engine. In order to connect through the written word, you must start writing.

  • Interview with an AI

    Interview with an AI

    Another post about AI? I just made one earlier this afternooooon…

    But then Forrest Brazeal posted this, which got me thinking:

    If we treat AI like a junior developer, do we interview AI the way we interview junior developers? Make AI do a whiteboard coding exercise? Insist that it can demonstrate more years of experience with your tech stack than are appropriate for a junior level? Put it through several rounds of interviews and then ghost it?

    Walk me through your thought process here. Photo by Walls.io on Unsplash

    I’ve never heard of anyone doing that. Why not? Probably because hiring a human developer is a Big Deal involving great expense, and something like an AI coding assistant is a comparably smaller expense.

    I wonder if there’s also a measure of “with humans, we need to consider what this person is like as a colleague,” with a corresponding assumption that we don’t need to consider that for AI because it’s not a person. Is that true?

    Granted, AI will get its fingers all over your codebase in a way that no single developer can, because you’ll deploy it on every team. But that’s okay, because just like hiring an army of junior developers, you’d have senior developers providing careful oversight. Hm. Is that true now?

    I wonder who’s easier to “let go,” if they aren’t working out: AI, or human. Who is evaluated more carefully. What “working out” means for a developer, anyway. Oh, we’re back to the topic of “what makes an effective/productive developer” again.


    I promise my newsletter isn’t all about AI. Sign up below!

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

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

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

  • Choosing a mentor (updated)

    Choosing a mentor (updated)

    I’m happiest in a job when I’m learning from someone who knows more than I do.

    Last year [this post is originally from August, 2023], I started a new role on a team of engineers who all know boatloads about stuff I don’t. That by itself was a dream come true. Just after I started, we learned that one of my teammates would be going on parental leave in a few months, and it was decided that I would pick up his responsibilities while he was out. So, lots of knowledge transfer was about to happen. Better yet, he’s a great teacher, great to work with, and he works on things I’m interested in.

    Luck is not a strategy

    Let me clarify before we continue: I’m not telling you to get a mentor by changing jobs to one where everyone could be your mentor and the person who would be the best match from among them just happens to be going on leave half a year later. Nice work if you can get it, but that’s not a strategy, that’s mad luck. And it’s just the preamble to the story I want to tell you.

    The downside to this magical plan of knowledge transfer galore became painfully obvious about 5 months later when joyful news of the baby’s arrival meant my new work BFF was suddenly not available.

    Side note: it was less than 24 hours before we had a question that only he could answer. 😂😭

    I was too busy adjusting at first to notice, but it wasn’t long before I could see I was adrift. I needed a new mentor. But who?

    Start with the obvious

    First question I asked myself was an obvious one: “who do you know who might be a good mentor?” A worthwhile question, but for me it only generated some names who didn’t seem like good matches. People whose focus was different from mine (including most of my team). People who were probably too busy. People whose skills were too much like mine.

    Photo by Desola Lanre-Ologun on Unsplash

    I suspect this is where some people get derailed. I can’t think of anyone, or I don’t dare ask because I doubt anyone has time for, or interest in, working with me. And what would I ask them about anyway if we did work together?? The “who do I know” question was getting me nowhere, but it’s worth a shot, maybe someone leaps to mind for you.

    Decide what you want

    I thought about asking my manager, but then I realized he would probably ask: “what do you hope to get out of mentoring?” Huh, I hadn’t thought of that, beyond “someone to learn from.”

    There’s an important distinction here between “mentor” and “sponsor.” A mentor is a guide who can teach you, advise you, help you get unstuck. A sponsor is someone who can advocate for you in rooms you aren’t in, look out for opportunities for you, help you make connections. Identifying a potential sponsor is a whole other post. In this case, I wanted a mentor.

    I was looking for someone knowledgeable in topics I was interested in, someone who could answer questions or offer advice I had when I got stuck on those subjects. Someone who could give me a perspective from a vantage point different from my own.

    The next question that arose from this was: “what are you interested in?” Again, I hadn’t really given that much thought. I was immersed in this world of NodeJS and Kubernetes and cloud migration, but was that something I wanted to keep focusing on?

    I thought about the things I had been learning about recently, and DevOps came to mind. I know that term means different things to different people, so a few examples would be useful here. I had recently read The Phoenix Project by Gene Kim, Kevin Behr, and George Spafford (great book!). I had read some writing my new-dad colleague did on the mindset shifts needed for a devops transformation. I’d read a few items from our Enterprise Architecture (EA) team about it, and I’d been to a few architecture “community of practice” meetings where one of my EA colleagues had presented about that. That same person had written the “getting started with DevOps” article that recommended The Phoenix Project.

    As you might be guessing, this gave me an idea for who I might ask.

    You might also be thinking: great, Leaf, that you thought of someone. What if nobody had come to mind? That’s where I would have reached out to my manager. Having decided what I was looking for, I could start to tap my manager, or other people who have been at the company a while, to see who they knew who might be a good match.

    Deal with the doubts

    I had a name that seemed like a potential good match to me, but I still had doubts. Would he have time? Interest? Could I even set this up? He was in a completely different part of our tech org. And what would I say?

    I decided to deal with most of those doubts by ignoring them. Why cancel an opportunity before you even try for it? There was no way to know what would work unless I asked. I happened to have a 1:1 meeting with my boss’s boss around the time I was thinking about all of this, and I realized he might have the insight into whether this cross-org match would work. I brought it up.

    Sure enough, his first question was about what I was looking for from mentoring, so I was glad I had an answer ready. He offered to talk with my potential-mentor’s manager about it, and a few days later, I got the go-ahead.

    We scheduled our first chat. That left me faced with the question of what to actually say.

    Arrive prepared…ish

    I already have a rough framework for how I introduce myself to someone. It’s kind of a mix-and-match set of phrases about me that I tailor for my audience, omitting things they already know and focusing in on what’s relevant. I’ve been a developer for 20 years, I became a tech lead in 2020, I got to help an application grow from empty repository to serving users in production… that sort of thing. It situates me in time (how long I’ve been doing what), space (in the org chart sense), and experience (dev-turned-architect, learning devops). Pausing to invite the other person to share anything from their background or current interests is probably a good idea here, although I don’t think I actually did that, oops.

    I also had some ideas of how I was hoping this mentoring thing would go. Maybe meet once a month for half an hour, I’d batch up any questions I had about things I was learning. It was almost a “hey, let’s try this and see if it’s useful.”

    Other than that, though, I didn’t arrive to our first meeting with an agenda other than introducing ourselves and setting a cadence. I think that’s fine. I mean, if you have questions to bring already, bring them, you never know… but the first meeting doesn’t have to be a teaching session. It can just be an introduction, especially if you have not actually talked with this person before (I hadn’t).

    Bonus points (“wow, I wasn’t expecting that”)

    Let me just say that I had no idea what I was getting into with my new mentor. In a good way.

    Photo by Marcel Smits on Unsplash. That’s not me, but I did have curly hair like that as a kid.

    First? He was actively listening, even taking a few notes as I talked. It was clear that he didn’t want to interrupt me, but he was noting items he wanted to circle back to when I was done. Okay, I haven’t even finished introducing myself yet, and I’m already learning. Win.

    Second, I didn’t realize just how experienced a colleague I had picked. Checking someone’s LinkedIn profile first might be a good idea, no? I did not. In this case, my error was only in my favor, as I picked someone with decades of experience working with developers. He’s an astute advisor not just about devops and the tech we work with, but also about interactions with others. I’ve brought him some interpersonal work dilemmas and he’s had helpful insight.

    The biggest surprise for me was that this mentoring relationship turned out to be way more of a “two-way street” than I expected. What could I have to offer him, given that he has no particular need to troubleshoot a Jenkins build problem or learn how to use kubectl? Well, I’ve been a developer, a tech lead, and an architect, both doing the work and helping other devs do the work. That gives me a lot of visibility into and perspective on how dev teams in my area operate. And he’s outside of that area, so this is valuable to him. (Don’t fret if you don’t have that kind of experience, though – the perspective of a newer person is more valuable than you may realize.) We’re also working in partnership with each other, because with two different management chains, we have different sources of information, spheres of influence, and organizational contacts. We’re working out ways our teams can support each other’s efforts, and we’re introducing each other to people who can help.

    Ask, ask, ask

    Start by asking yourself the questions to determine what you are looking for from a mentor and how you imagine mentoring might look. Ask around to find a potential match, and ask for an introduction – if they don’t have time or interest, you’ll find out, and no harm has been done by asking. Keep an eye open for what you might be able to provide for your mentor in return (like sharing an interesting article or introducing your mentor to a colleague). You could ask your mentor outright if you can be of service in some way. Curiosity about yourself and others will serve you well on this quest.


    Many thanks to both of my mentors, I can’t imagine the last year and a half without you. Thanks to our management for making the connections (and for being great mentors in their own right). And thanks to “baby G” for disrupting the status quo and opening up doors for me in the process – happy first birthday.

    Originally posted 26 August 2023 on Medium.

    Epilogue

    It is now April 2025, and I am fortunate to continue to have both mentors as friends. I have also stumbled my way into a few other mentoring relationships as well. I wasn’t looking. I’ve simply crossed paths with a few more people whose knowledge and perspective have made them great teachers, whether or not they realize it.

    I’ve come to treasure those professional relationships where we can have a once monthly half-hour meeting on the calendar, with no prepared agenda, and we’ll invariably find more than half an hour of useful stuff to discuss. “Hey, I wanted to get your opinion on this…” or “so here’s the dilemma I’m facing…” or “do you have any advice for how I might approach…” or even “is it just me, or have you also noticed that…”

    I’ve also been able to be a mentor myself for a few others, folks who have sought me out directly or through their management. But whether I’m someone’s formal mentor or not, I see it as a key part of my role to just listen and be present with others, and to offer anything from my experience that might be useful in response.

  • 33 Things You Don’t Need on Your Desk

    33 Things You Don’t Need on Your Desk

    Friends, writing on Medium (and getting photos from Unsplash) taught me that I’ve been doing it all wrong.

    Back in 2021 […pause here while I yet again grapple with the fact that it’s not still 2020, and that 2021 was in the past], I decided to update my home office environment. I replaced my desk, which had been a beat up kitchen table that I bought used from a coworker ten years ago. I got a handsome sit/stand desk — rubberwood top, nice big work surface, electronic height adjustment. Sweet.

    But now here I am, adding photos to my Medium articles, and I start to see a theme emerge as I search. Consider this:

    Nature lover, two plants (Photo by Domenico Loia on Unsplash)

    And this:

    Nice skull and crossbones (Photo by Geert Pieters on Unsplash)

    And this (I like the dual beverage situation here):

    Books as plant stand (Photo by Daniel Korpai on Unsplash)

    And so many, many more like it.

    What have we learned here

    Here are the things you should have on your desk: a laptop, a beverage, your mobile device, a plant. Optional: a monitor, a lamp, a wireless mouse, and ONE additional decorative item (candle, books, second plant).

    That’s it.

    If necessary, you can swap out the beverage or the mobile device for one more item (like audio equipment), or just omit them:

    Photo by Remy_Loz on Unsplash
    Photo by Sora Sagano on Unsplash
    Photo by Christopher Gower on Unsplash

    But in general: laptop, drink, device, greenery.

    No wonder I haven’t achieved the minimalist state of bliss yet.

    What I’m doing right(-ish)

    At the moment, I do in fact have a laptop, a beverage, and my phone on my desk. I have the monitor — bonus points, perhaps, for having it on an arm so it floats above the desk? I have a wireless mouse, albeit a clunky ergonomic mouse, not a sleek Mac mouse.

    I have several plants… on a shelf nearby. Does that count? I have the lamp. And I do actually have a candle.

    Already I’m in trouble, though. First of all, I have two laptops, one on top of the other, both of which are on a laptop stand. I also have two beverages — a travel mug with no lid for coffee, and an unsightly Nalgene bottle (how last decade of me!) for water. There’s a coaster, which I’m not using under my coffee, because today I have hot coffee, not iced. A mouse pad rests under my mouse. A glass plate under the candle protects the desk.

    I’ve got a camera positioned on top of the monitor. Putting things on the monitor seems like cheating, like violating the spirit of the law, if not the letter. I don’t think the monitor is supposed to have little notes taped to it either, like the reminders to myself to “enable captioning” on meetings and to “GO OUTSIDE” already.

    You can tell this person is away from their desk — there’s no beverage. (Photo by Ján Vlačuha on Unsplash)

    And there are… drum roll please… WIRES. Oh no, not that. 🙄 I have a docking station to serve up the monitor/camera/power combination, and there are wires for those items, as well as the lamp. My device charger is currently charging one of the two sets of AirPods on my desk, and a set of wired earbuds hangs out nearby as a backup.

    Uh oh, that’s [counting on my fingers here… second laptop, stand, Nalgene, coaster, mouse pad, plate, docking station, wires, phone charger, two pairs of AirPods, wired earbuds] twelve things already and I haven’t even strayed from the original list yet.

    Okay. At the moment, I also have…

    Writing, the old fashioned way

    13. Paper, with notes scrawled on it. My notebook was out of reach and I needed to jot some stuff down. It’s actual three-ring-binder style notebook paper, which I haven’t bought in like 20 years so it’s old. I don’t know why I still have it.
    14. Said notebook, now in reach.
    15. Five metal tins full of pens, pencils, and markers. I’m an artist. I’m going to count all five as one item, on the premise that if I weren’t an artist, I’d only have one.
    16. My journal.
    17. Post-It notes.

    I suppose if I weren’t working with paper, I wouldn’t need these items either:

    18. A stapler
    19. A scotch tape dispenser
    20. A lone paperclip
    21. White out. Do I need to explain what that is? Like a tiny bottle of white paint you can use to cover up errors you’ve made with a pen.
    23. A kneaded eraser, which honestly I only have for art purposes, and which even more honestly I use more as a fidget toy than an eraser.

    Photo by JESHOOTS.COM on Unsplash

    So, should I stop this foolish “writing” nonsense and just type everything into a Google Doc or a flat text file or something? Not going to happen, I’m afraid. Even though I own…

    23. …a really weird ergonomic keyboard. The Kinesis 2 puts my wrists, my arms, my shoulders, my back in a neutral position. I figure that it’s cheaper than surgery.

    Side note: Did that contraption take a while to get used to? You bet it did. I kept hitting the Enter key when I meant to hit the space bar, so I had

    leaf 8:08
    a

    leaf 8:08
    lot

    leaf 8:08
    of

    leaf 8:08
    slack

    leaf 8:08
    conversations

    …that looked like the above, where I sent some poor colleague one word at a time for several seconds before I noticed what was happening. Also, I kept typing Z when I meant X, which doesn’t sound so bad — except that my project was called “Apex,” so I was typing that wrong all the time.

    Self-maintenance

    The modern developer clearly functions on beverage alone. I haven’t transcended physical needs yet, so I have:

    24. A box of tissues
    25 & 26. Two bottles of hand lotion (one scented, one not)
    27. Hand sanitizer… okay, I don’t know why I have this on my desk
    28 & 29. A spray bottle of eyeglasses cleaner and a cloth
    30. A bowl and spoon left over from breakfast

    This person has stepped away to take a call — no mobile device present. (Photo by Rich Tervet on Unsplash)

    With the exception of the hand sanitizer, though, I would not be surprised to find any of the above 28 items on a typical desk. Maybe the keyboard and mouse would be a little less ergonomic, but they all seem like normal stuff.

    And then there’s this…

    How about:

    32. A skunk

    Specifically, a Folkmanis mini skunk finger puppet. She is my “emotional support skunk.” I highly recommend having a soft, hand-sized plush creature to keep you company. She’s usually just out of sight when I’m on a stressful Zoom call.

    Or how about:

    33. A packet of Click and Grow plant pods (one basil, two marjoram)

    I mentioned having plants nearby — that’s the Click and Grow, sitting on a shelving unit next to my desk. I put in new pods a few weeks ago, combined the leftovers from two packets into one, put the packet on my desk… and immediately forgot about it.

    You see, the laptop(s) and stand have a sizeable unused space behind them. I don’t see it most of the time, because the laptop blocks the view. It wasn’t until I started writing this article that I actually noticed the abandoned packet of pods.

    I could move it to join the other packets, but I think instead I’ll put the other packets in that otherwise unusable space. It’s right next to the Click and Grow, and if it’s out of my sight most of the time, that seems like a fine place to store stuff.

    Wait, do some of the pictures above have things hiding out of sight behind those laptops? What could be behind this, for example:

    Photo by Kevin Bhagat on Unsplash

    The beverage, perhaps? Uh oh. Fear that. Don’t put your beverage behind your laptop. You’ll forget it’s there, move your laptop, and spill your coffee everywhere. Granted it will only ruin four other items on your ultra-minimalist desk, but one of those is your laptop. Don’t do it.

    You live at home and that’s OK

    Listen, I’ve got nothing against minimalism (no pun intended). If you are a real person whose real desk is populated only by your laptop, coffee, mobile, and a plain white pot containing either a succulent or a patch of grass, I applaud your dedication to tidiness and order. Especially if all of it is either parallel, or at 30 degree angles, to the edge of the desk. I see you, shutting off Slack and email and clearing your mind to focus uninterrupted on your Ruby coding. It’s lovely. Keep on keeping on.

    For those of us whose desks have more than five things, though, a word of encouragement: no, you’re not doing it wrong. This trend is just the Medium and Unsplash equivalent of the houses you see in magazines: kitchens where the only items on the counter are decorative plus a basket of fruit or baked goods…

    Photo by Collov Home Design on Unsplash

    …living rooms where everything is white…

    Photo by Spacejoy on Unsplash

    …or tidy refrigerators full of fresh fruits and vegetables in matching containers.

    Photo by Ello on Unsplash

    The pristine pictures are of a fantasy world. If you’re living that dream, okay. But if your real life desk (or house) doesn’t match this fantasy,

    you

    have

    not

    failed.

    But do avoid putting your beverage behind your laptop. That advice is for real, y’all.


    What’s the state of your desk? Minimalist glory with all four items at right angles and a tiny low-maintenance plant? Chaotic sprawl including last night’s dishes (and not like “a plate and a fork” but like “every item you used to make last night’s lasagna including a 9″x13″ baking pan and a spatula”)?

    Most of all, is it working for you? Or is it time for a change?

    Originally posted 20 June 2022 on Medium.