1. 43

  2. 14

    This is a great article. Not only does she share a well written retrospective on what she should have done better… she doesn’t let her mistakes define her. If she did, or was afraid they would, she wouldn’t have written this.

    By writing this, she is able to grow from her mistakes, help people not make similar mistakes, teach others how to think through and do retrospectives… etc… but most importantly, she shows us by example that our mistakes don’t define our value as engineers or people. You learn, grow, and move on.

    1. 3

      I also really appreciate the “(so far)” in the title, because, let’s face it — your worst mistake is only your worst until you inevitably commit a more egregious one.

    2. 8

      I applaud the honesty. It takes bravery to admit to one’s faults in public.

      That said, is the second mistake anything to be embarrassed about? Let the person who has never messed up a loop index throw the first stone; and let’s all take a moment to be thankful for places that have easy revert procedures.

      1. 4

        Nice article since I like the there of everyone makes mistakes.

        interestingly enough, the first mistake resonates most with me in the sense that I created over-complicated code for no good reason before.

        The rest of the mistakes seem so very common and hard to avoid in general.

        1. 1

          The second one, with loop indices, can be “easily avoided” if you’re already using a language that doesn’t make you write easily-screwed-up loops all over the place. Java, for instance, now has for(Foo x: fooList) { ... } rather than having to do arithmetic and bounds checks. (Newer languages, in general, will do this.) Choice of tools matters!

          1. 1

            I agree. you can even do it with modern C++.

            But I think that this is off topic. I don’t think the author was embarrassed that she couldn’t convince Google to use a saner programming language.

            1. 1

              No, I agree. It’s just worth bearing in mind that whenever we make a mistake that is “hard to avoid”, it can be valuable to back up and look at why it was hard to avoid. Sometimes we accept that tradeoff (“these are the tools we have, and lives aren’t at stake”), but it should be done with open eyes.