I. M. Wright’s “Hard Code”

An opinion column for developers.Brutally honest, no pulled punches.

Browse by Tags

Tagged Content List
  • Blog Post: Better for everyone

    This month’s column is about accessibility. I’m not making patronizing arguments for it. I’m not saying, “We’ll all need it someday.” I’m not rehashing heartwarming stories of inspiring people who prevail over life’s challenges. I’m not reminding...
  • Blog Post: Love your customers and partners

    Horrible teams dislike their customers. They think their customers are stupid, lazy, and ignorant. To horrible teams, customers are infuriating imbeciles who completely miss the point of the product, but must be dealt with anyway. In contrast, tragic teams tolerate their customers. They think their customers...
  • Blog Post: Staying small

    The One Microsoft strategy tells us we are one company. We have one operating system, one app API, one marketplace, one cross-platform set of apps, one search, one cloud solution, and one toolset. The days of duplication and reinvention are over. Good riddance. What’s a huge team left to do...
  • Blog Post: The flow fallacy

    In 1990, Mihaly Csikszentmihalyi published his famous book about achieving exceptional productivity and concentration, Flow: The Psychology of Optimal Experience . The book’s basic idea is a familiar one to most developers: Situate yourself in a quiet room without distractions, work on a compelling...
  • Blog Post: Courageous design

    Does this sound familiar? You’re meeting to design a solution to a tricky problem. People are alternating between adding new requirements and deriding prior approaches. Everyone agrees with the issues (“Yeah,” “Yup,” “That’s right”), but no one is suggesting...
  • Blog Post: Stupid in any language

    Surely you’re smart enough to know that people outside the United States attempt to use Microsoft software every day. I mean, Nadine Kano first published Developing International Software for Windows 95 and Windows NT back in 1995. By now you must be aware, but how can anyone tell? You could try...
  • Blog Post: To be precise

    On August 5, 2012, the NASA rover Curiosity completed its six-month journey from Earth to Mars, touching down near the middle of its roughly 40-square-mile targeted landing area. Many news outlets compared the landing to making a hole-in-one at a Scotland golf course after teeing off in Los Angeles....
  • Blog Post: Debt and investment

    We all have friends or relatives with money problems. There are three sources of those problems: a lack of income, a catastrophe, or a lack of self-control. There are whole industries devoted to solving the income issue—I’m not going to cover that here. Insurance and the kindness of friends...
  • Blog Post: You can't have it all

    There are two executive planning strategies: go for it all (cut later), and do a few things well (add later). Executives follow the strategy that best reflects their belief system. They use that planning strategy to drive work throughout the product cycle. Executives who go for it all believe their...
  • Blog Post: Fixing five fundamental flaws

    After decades as a professional software engineer, working for six different firms (large and small), I can honestly say that Microsoft is by far the best. I can also honestly say that Microsoft is far from perfect. My monthly rants typically focus on problems that individual engineers or managers...
  • Blog Post: Collaboration cache—colocation

    Software geeks know that registers fetch data roughly 10 times faster than the L2 cache, 100 times faster than main memory, and more than a million times faster than hard drives. Smart software engineers work hard to keep all the data for their inner loops in registers or at worst the L2 cache. They...
  • Blog Post: Data-driven decisions

    You’re working on a feature and think there’s an obvious customer improvement to be made. The tester thinks you’re in obvious need of medical attention from a psychiatric professional. She believes the shipped design was fine from the start. The PM insists that your suggestion doesn’t...
  • Blog Post: The new Microsoft

    The Microsoft Company Meeting was a few weeks ago. If you love the tech status quo inside or outside of Microsoft, seek shelter. How the company operates and how it engages with customers and the markets is about to change. All the signs were there in the Seattle Key Arena for anyone to notice. ...
  • Blog Post: Too much of a good thing? Enter Kanban

    Last month, I wrote about the value of good program managers (PMs). Some people liked the column (mostly PMs). Some people hated it (folks with bad PMs). However, the most common response was that Microsoft has too many PMs. Can you have too much of a good thing? Heck yeah! Why is having too many...
  • Blog Post: Software engineering—what’s missing?

    To start the new year, my boss gave an all-hands speech to a large group of developers about being an engineer. He equated being an engineer with taking responsibility for quality and using methods that ensure high quality at checkin ( Nailing the nominals ). Naturally, a developer in the crowd took...
  • Blog Post: Who’s in charge here?

    I was talking with a friend from another Microsoft division. He complained about gridlock on his team because “no one can make a decision.” He lamented, “We discuss issues and come to some conclusions, but rarely get a resolution that sticks.” I bit my tongue. He is a friend....
  • Blog Post: That's not funny

    Tension fills the conference room a few weeks before the Client release. The Client team wasn’t told that the Database team had added a parameter to the AddClient API. The Client broke spectacularly—the latest in a series of miscommunication and miscues by both teams. Only now were the Client...
  • Blog Post: Production is a mixed blessing

    There is one service design flaw that engineers repeat day after day, month after month, year after year. Scalability? Nope, though it’s popular. Security? Happens, but not that frequently. Serviceability? Getting warmer. Give up? Don’t care because you don’t work on services? You will...
  • Blog Post: You have to make a decision

    What’s worse—a flawed decision or no decision? That’s easy. Decisions keep a business moving. An imperfect decision might move your business slightly in the wrong direction, but at least it will be moving. Make a few adjustments, and you’re back on track. Making no decision...
  • Blog Post: There's no place like production

    As much as I love Microsoft®, and as many advantages as we have as a company in the intelligence of our people, the breadth of our products, and the boldness of our vision, there are times when people here are frigging clueless. It’s not everyone—Microsoft is a wildly diverse company...
  • Blog Post: I messed up

    Ever make a bad mistake? One that makes you feel like there’s a hollow in your chest—you know you’ve messed up badly. Maybe you were even trying to do the right thing, but it just ended up wrong unintentionally. This happens to me regularly. It recently happened to a friend of mine—I...
  • Blog Post: Don't panic

    In my last column, " Spontaneous combustion of rancid management ," I talked about how managers should restrain themselves from randomizing their employees. But what if you are on the receiving end? As an employee, how do you best respond to a random request, or requests of any kind, that aren't directly...
  • Blog Post: The VP-geebees

    It's the end of the fiscal year. Most engineers associate this time with performance review season, but for principal-level engineers and higher it's also executive review season. Time to waste weeks of your life writing slides for executive presentations that will be rewritten five times before they...
  • Blog Post: It starts with shipping

    Call me "old school" but I believe in shipping. Trying isn't enough. Getting close isn't enough. Good ideas aren't enough. You've got to ship. It used to be that interviews started with, "What have you shipped?" If you hadn't shipped recently, "Why?" Why? Because you can't deliver customer value if...
  • Blog Post: Your World. Easier

    During difficult economic times like these, people tend to whine less about common complaints that now seem trite. Mostly, I'm relieved not to hear how much e-mail is in Ingrid's Inbox, how Brian broke the build again, and how Suresh's service schedule slipped successive sprints. However, it's during...
Page 1 of 2 (32 items) 12