Crash Dot Com Part 6: The List™

By Shamus Posted Thursday Dec 15, 2016

Filed under: Personal 53 comments

It’s late in the year 2000. While I haven’t heard the term yet, the dot-com crash has just begun. The first wave of ill-advised internet ventures are going out of business. At this point people generally seem to think of this as a mild hiccup. This is a perfectly normal part of the New Economy. Sure, a few Bad Ideas are flaming out, but that just leaves more room for our Good Ideas, right? Everything is fine.

I’m still working on making a virtual mall. After the uncomfortable meeting, I’ve been shy about challenging the design. I’ve washed my hands of the whole thing and resigned myself to spending months building this sad, doomed thing. It’s soul-crushing to put all this effort into something that’s just going to make people miserable, but I don’t know what else I can do.

I’m dreading launch day.

Knowing What You Don’t Know

Someday we'll be able to look back and understand these mistakes with perfect clarity. Or we would, if we weren't so busy making new mistakes.
Someday we'll be able to look back and understand these mistakes with perfect clarity. Or we would, if we weren't so busy making new mistakes.

Back in the mid 90’s when the company was really young, I handled our technical support for a few months. It’s a miserable job, although it’s also strangely educational. Among developers, there’s often a bit of disdain for “stupid end users”. When users don’t utilize the product the way you expect, it’s easy to shrug your shoulders and conclude they’re morons. But if you spend some time reading their feedback and following their complaints, they seem less stupid and more like people making mistakes because they’re already familiar with some other complex system and they’re dragging assumptions of similarity into their attempts to use your software. Trading a few emails with that “moron” might reveal that he’s actually a respected PhD in a challenging field. Maybe the problem isn’t the user. Maybe the software is bad at explaining itselfAlthough they could also be a moron. It’s not unheard of..

Reading questions from users can give you some kind of framework for understanding what sorts of assumptions people favor and how they approach your product. This can help you to anticipate and avoid misunderstandings. You can sneer at people for being “dumb”, but that’s not going to solve the problem. Often you can head off a great deal of confusion by simply re-coloring a button, changing the default behavior, re-wording a tooltip, or moving some controls around.

I’m dreading launch day for the virtual mall, because I’m anticipating a disaster. I don’t know how many people will show up, but I can’t imagine what it will be like when all of those internet newbies try to use our software. If experienced webmasters get befuddled when they drag their webserver assumptions into our 3D world, then how much worse is it going to be when John and Jane Newbie show up and try to learn all about online shopping, 3D navigation, their computer, and the internet, all at the same time? What sorts of mistakes will they make if they drag their suburban mall assumptions into this “shopping videogame”?

What will be the most common pitfall? People showing up with 4 year old computers that can’t run the software? People who have literally no experience with games and don’t know how to navigate in 3D? Griefers? People paranoid about credit card security? People who are too cavalier about credit card security?

Someone needs to make an updated version of this joke for Windows 10.
Someone needs to make an updated version of this joke for Windows 10.

We’ve never had users like this before, and we have no idea what kinds of problems they’ll run into. Which means that we’re going to learn that the hard way when it launches.

Worse, a lot of my design concerns were deflected by saying “We’ll cross that bridge when we come to it.” When I pointed out that the submitted design is likely to cause confusion, it was decided that we’d stick with the design and change it later if it turned out to be a problem. That’s fine if you’re just talking about one or two little things, but when you’re talking about dozens of large things that cut to the core of the design you can’t just casually change them later.

What I’m anticipating is that it will be chaos and confusion on day one. New users will show up, get confused, and in a storm of frustration they’ll bury us in support tickets. Then we’ll need to change the environment to match what I originally suggested. Only instead of doing this carefully over time during development, these changes will need to be slapped in at the last minute, in a panic, while the software is in use. I’ll end up working some death-march crunch time after release, working to fix things that could easily have been built properly in the first place.

Worse, I won’t even get to enjoy an “I Told You So”, since I’ll be the one bearing the burden of the bad decisions I advised against. The management types at fault aren’t even in the loop enough to understand the cause of the problem. Just like tech support people like to blame “those dumb users”, management will probably blame “those incompetent developers” for any problems that pop up. The only way they could understand is if my boss went to them and explicitly dumped the blame in their lap. I know human nature well enough to know he’s not going to do that without a spectacularly good reason, and giving Shamus Young an “I Told You So” is not a spectacularly good reason.

Blame Game

Okay, we're agreed. This problem is the fault of everyone not in this room.
Okay, we're agreed. This problem is the fault of everyone not in this room.

It might be nice to fantasize about sitting down in front of management and explaining that this particular fire is the result of their policies, but that’s just not how people behave in the corporate world. That’s far too confrontational, and that’s not how you change people’s minds anyway. Instead these problems will be used as leverage in future meetings.

“Remember the fire we had last month? [That I had to put out.] It turns out that was a result of the policy [that you came up with] to save money by building our offices entirely out of straw and using candles instead of lightbuilbs. Well, I’m advising [just like I did last time] that we should use drywall instead of the wood you’re suggesting, and that lightbulbs would be better than the oil lamps you’re advocating.”

Over time, you can gradually teach management to trust you and instruct them how the business works so they don’t make as many bad decisions in the first place. The problem is that your business needs to survive long enough for this to happen. If management is too far behind the curve and their trust in you is too low, then you’ll go out of business before they learn enough to do their job properly.

You can daydream about explaining to management how everything is their fault, but that’s a Hollywood fantasy. There’s not going to be a musical swell that ends with the president suddenly transforming into a whole new person. The worse things get, the more people want to avoid the avalanche of blame for all the hardship everyone is about to endure. This will magnify management’s faults instead of correcting them. In the real world, changes to management style are rare, incremental, and hard-fought.

The virtual mall is not the only project we’re working on. In the downtime between major milestones there are more day-to-day concerns we need to worry about. Sometimes I step away from the mall for a few days to fix things for an existing client or make assets for a pitch to a new one. These are quick jobs that usually take a day or two at most, and we squeeze them in whenever the mall is held up waiting for feedback or paperwork.


Meanwhile, in the rest of the company...
Meanwhile, in the rest of the company...

One of the problems afflicting our company for the past few years is that everyone has a different vision for what we should be doing.

One person wants us to be kind of like “the web, but in 3D”. They named our client the “3D Browser” so people think of it as analogous to a “web browser”. Their long-term goal is to make the software as distributed and ubiquitous as possible. (This vision is undercut by the fact that both our client and server are proprietary and use closed protocols, and that’s never going to change.)

Another person thinks that since we started out as a “3D chat” program, chat is our core feature and we should continue to add things to enhance the social end of the experience.

Another person thinks that we should focus on e-commerce and distance learning. There are a lot of companies out there looking for ways to hold meetings or train employees without needing to spend hundreds of thousands of dollars flying people all over the world and putting them up in hotels.

For my part, I’m a big believer in making the software a tool for creativity and expression. I see a lot of our users are aspiring game designers. They create their own little world for people to visit and usually try to create some sort of Everquest-ish type experience. The tools aren’t quite there and it takes a lot of ugly hacks to make something playable, but it does kind of work. I’d like to see us expand the number of game-focused features. My direct boss – let’s call him Roger – is a gamer like me, and so he’s often on my side when our financials are good.

I should note that here in 2016, Roblox is pretty much exactly what I was going for. If you can imagine Roblox but with art that looked kinda like Sims 2, then you’re picturing what I wanted to build.

To be honest, I have no idea if it would have been a good fit for our software. I don’t know if it would have worked for us, but I feel sort of vindicated that it worked for somebody.

Some of these ideas come from one manager, and some from another manager, and some from our programmers who actually have a lot of power in the company. Meetings about future features – which I am only occasionally invited to attendAlthough Roger will sometimes champion an idea for me. – are often a tug-of-war between these different visions. Over the years, there’s been a lot of compromise. We see a lot of “I’ll support your feature if you support mine,” kind of deals. I think this is generally healthy, although it’s prevented us from embracing a single coherent vision. In the end, we’re sort of trying to be all things to all users. Our feature set is a mile wide but an inch deep.

The List™

I don't care if it's an Adam Sandler movie. I still think Billy Madison is funny.
I don't care if it's an Adam Sandler movie. I still think Billy Madison is funny.

Here is how we choose new features:

  1. We spend a couple of weeks having meetings to work out what our next set of features will be. Generally the early meetings are inclusive, but shrink down to just include the programmers and management as the feature list – called “The List™” – takes shape. These meetings will generally take place during the shake-out period for the previous release.
  2. A really big release can take the better part of a year to complete. (This happened last year when we FINALLY added support for hardware acceleration.) A smaller one can be completed in just six weeks. We generally stagger things between incremental and major releases. The more ambitious the planned version, the longer the meetings will go on.
  3. Once The List™ is finalized, the coders begin work on the next version.
  4. About halfway through, the coders will send out internal builds to people like me to get feedback.
  5. Around this time, a few unplanned features sneak onto The List. The coders might slip in an extra thing or two that they just really had their heart set on, or the bosses might force through something that they think will help them sell to a prospective client.
  6. Once most of the features are complete, we have an opt-in public beta.
  7. There are a couple of weeks of energetic bug-fixing and adjustments.
  8. As the beta stabilizes, the next round of meetings are held to decide on the next version of The List™.

Personally, I HATE the e-commerce / distance learning stuff. It’s dumb and boring and lame. One afternoon I’m standing in the aisle complaining about this when Roger takes me aside and explains that while the e-commerce stuff isn’t sexy, it’s actually an important revenue stream. Those business people might be boring and tedious to work with, but they have tons of money they’re willing to spend on this stuff. If it wasn’t for them, we wouldn’t be able to serve those aspiring game designers I love so much. The game designers are interesting people, but they’re broke as hell.

I slowly begin to realize why so few of my feature suggestions make it into The List™. I always argue for things in terms of how “cool” it will look and how intensely people want it, but I rarely make a business case for my ideas.



[1] Although they could also be a moron. It’s not unheard of.

[2] Although Roger will sometimes champion an idea for me.

From The Archives:

53 thoughts on “Crash Dot Com Part 6: The List™

  1. Durican says:

    The self-defeating nature of the corporate structure never fails to amaze me. So many stories of qualified, intelligent, competent people being compelled to make unqualified, stupid, incompetent decisions.

    Sometimes it works, though. Though (spoilers) I know Shamus winds up okay in the end, I’m curious what comes next for the company in the tale of bygone days.

    1. Tizzy says:

      The self-defeating nature?
      Corporations seem to be doing very well for themselves, most of the time anyway. One could argue that they are uniquely adapted to the world we live in. (Of course, they helped shape that world, so maybe we shouldn’t be completely surprised.)

      But to me, it’s amazing that anything gets done, given the number of moving parts. The most competent employee, CEO included, can only have a very partial understanding of what is going on. Any mishap (lawsuit, recall, hack) can wipe millions or more off the bottom line. And let’s not forget that, statistically speaking, every large corporation will have a sizable share of either dumb, or incompetent, or unmotivated, or dishonest employees, or a combination of those traits. And not only do you have to make sure these people don’t get in the way too much, you have to pay them!

      Yet, stuff gets done. Products get shipped, services are offered, utilities get to the homes, and most of the time this is done at a profit, meaning that the cycle can continue. The more I find out about the inner workings, the more amazed I am that it works at all.

      1. Durican says:

        I liked the part where you argued with my “self-defeating” comment and then went on to agree with me that it’s amazing it works in spite of that. High five!

        1. Tizzy says:

          What exactly do you think “self-defeating” means? I am genuinely puzzled now.

          I do not think that corporations are self defeating as a rule (notable exceptions apply). Amazingly complex, yes, and I do find it amazing that they manage that complexity overall. but this is pretty much the opposite of self-defeating: corporations set up processes that overall manage to get shit done *despite* the complexity of their endeavors and the dips in quality of the component parts.

          1. Joshua says:

            That’s why there’s a whole concept in business called internal control. Processes and systems to ensure that your business is doing what it’s supposed to be doing.

            1. Lachlan the Mad says:

              And that’s why businesses often become obsessed with internal processes instead of actually making forward progress :)

              1. DerJüngerLudendorff says:

                Which seems rather reasonable. After all, those processes are what allow them to operate in the first place without descending into chaos, confusion and shouting.

      2. Peter H Coffin says:

        The issue is that the “problem” is multi-dimensional: there are things that are good for this business, there are things that are good for businesses in this market space, there are things that are good for customers in this market space (that is, that increase their understanding of the product space and thus their interest in buying things), and there are things that are good for all customers (overall economic improvements, for example, or modest inflation, or improvements in economic theory that bring about actual practices like fractional reserve currency and getting free of commodity basises for value). “Business cases” very, very seldom ever get past “things that are good for this business”, and at no point is anything that has downside for this business, even if it vastly improves any or all of the other things, which indirectly lead to much more overall profit ever ever going to be considered for more time than it takes to dismiss the idea. Even things that benefit this business in a decade are a tough sell if they require effort and resources that could be instead used to create even a tiny fraction of the same improvement next year instead of in the next decade.

        Certain outlying cases exist where a business did do something better for the entire industry (or society in general) at the expense of itself, but whenever that does happen, it can usually be traced to a very specific figure leading the entire business and basically forcing the steps to be taken. Henry Ford is an easy example to come to mind. Nelson Rockefeller. Thomas J Watson. Thomas Edison whose fights with George Westinghouse accomplished more societal good than every invention Nikola Tesla didn’t hand over to Westinghouse ever did. Elon Musk is going to be on that list someday too if he can ever manage to produce something other than rich men’s toys. (If not, well, then he named his company perfectly.)

    2. Amarsir says:

      One of the minor ironies of economics is that firms in a capitalist system do not act capitalist internally.

      The nature of our economy is that individual agents can choose their own path, deciding to avoid or compete against existing enterprises. This is a beneficial system for many reasons, not least of which that it creates a Survival of the Fittest for ideas. However, internally that freedom is very rarely granted. A flatter company may delegate some decisions down the line, but for the most part large decisions are made at the top and handed down.

      Not without reason, of course. A cruise line wouldn’t work very well if the engineering department decided to open up a second kitchen instead because servers get better tips than motormen. But the net effect of it is that nearly every firm will implement a top-down autocratic structure which none of them would tolerate externally.

      1. Joshua says:

        I found it very ironic when one of the first companies I worked for was very pro-free market in the sense of competing against other companies, but expected all of their employees to remain loyal to the company above all else and viewed people leaving to find other (presumably better paying) jobs as an act of betrayal. “Free market and all that, but not if you work for ME.”

        Fortunately, the last few companies I’ve worked for have a more realistic expectation of their employees, and fully expect their employees to ultimately make the decision to stay or leave based upon what’s best for themselves, while still expecting those employees to do what’s right for the company if they do choose to stay. It’s also a fairer view, IMO.

        It is also the reality that most job and pay advances will occur from jumping ship after every few years. Why stay for a 2% annual raise (if that), when you can go somewhere else for at least a 10-20% bump?

        1. Mistwraithe says:

          The real question is why would a smart company only offer a 2% annual pay rise if the employee is doing a good job? Yet it happens time and time again. Good new staff take ages to get up to speed.

          Of course, mediocre staff aren’t even worth a 2% annual pay rise, ideally one would dock their pay lower and lower at each review but that isn’t socially acceptable. So I guess a flat 2% pay rise is the easy way out.

          1. FelBlood says:

            Considering that Inflation will usually be more than 2%, your ideals may be closer to reality than you think.

            Many phone customer service vendors will dole out annual performance raises based on the national rate of inflation, with an eye toward keeping the total cost of maintaining their payroll on-curve with the rate of inflation.

            Now, it doesn’t make sense to give everyone the same raise, nor is it wise to expand your payroll costs faster than the rate of inflation. (i.e. the rate at which your earnings from that client can be expected to grow.)

            So what happens is that a curve is put together where the average raise is 4%, but individual increases will range from .25% up to 8%- or possibly even 10%. Employees are ranked based on their performance and the topmost agents will receive the best raises, and on down the list, until the guys who are barely holding on to their jobs are effectively making less than last year.

      2. Tom says:

        There is a nasty downside to the evolutionary survival-of-the-fittest approach. It does produce highly evolved, very efficient entities, closely fitted to their environment. The catch is that while evolution of businesses produces very efficient systems, evolution is itself a very inefficient, wasteful system. For every successful corporation there must be many competing failures, and failures mean redundancies, loss of investment, market crashes, pollution, waste of valuable resources, wasted time and effort…

        1. Deoxy says:

          So far, those “wasteful” “failures” are the most efficient way yet found of getting the information needed to produce the successful products. R&D is EXPENSIVE, you know?

          1. Tom says:

            It may be the most *effective* way yet found, but that in no way makes it efficient. I think, if anything, you’re actually corroborating my point. Failure is an inherent part of R&D, sure, but the labour structures we build around it need not be; indeed, if we accept that projects simply don’t always pay off, one would surely expect our society to be built in such a way as to protect those organisations, or at the very least their employees, that produce valuable information despite failing to produce a commercially viable product from it, or being outmanoeuvred by another company with worse technology but better market penetration (Betamax, anyone?). It’s one thing to throw away a failed prototype circuit board and yet learn valuable information from it, it’s quite another to fire a failed company’s worth of competent employees and yet learn valuable information from it, because in the latter case, you’re harming people. At the very least, one would expect there to be an efficient, reliable system of funneling competent employees from one failed company into another, yet there is no such thing. There’s barely anything to even keep them able to survive, or their training up to date, between jobs, yet in the survival-of-the-fittest economy skilled employees are all but guaranteed to need to do exactly that repeatedly throughout their lives. Everyone’s kicked out and expected to find their own way back into work again, and if they’re not needed right now, they’re expected to quietly vanish. There’s no guarantee even any useful research generated will be preserved when a company goes down in flames.

            Competing, failing companies can and very often do needlessly duplicate research effort (which, as you point out, is expensive), refuse to collaborate to the consumer’s benefit (how many times have we heard the song of “I really wish product X had this proprietary feature from product Y, but product Y doesn’t have that other feature I need from product X either!”), jealously guard beneficial research that others must then duplicate for themselves, go bust due to economic failure even if their technical work is a success. Effective, yes. Efficient, no.

    3. Xeorm says:

      The beauty of the system is that it doesn’t require absolute efficiency to still generate useful outcomes. Sure more efficient groups will produce better outputs with their input, but it all still works, eventually.

    4. MrGuy says:

      The challenge is generally “what would work better,” and more directly “what would work better at scale?”

      Ideally, you hire smart people and generally trust them to make good decisions, with some light management overhead to keep everyone moving in generally the same direction. That works for small companies where everyone knows everyone else, and where everyone is personally trusted by everyone else.

      Most of the decisions will be made by the people doing the work, who have the most context on the problem and the most incentive to find the right solution, be it technical, financial, sales-related, etc.

      Even then, as Shamus illustrates here, there’s some need for some decision making/goal setting that will frustrate some people – people with different visions, or people who are aligning themselves with what their personal passion is, which might not lead to long term success. They guy “closest to the problem” might need to be coached on why their preference is wrong. But you’re small enough you can have these conversations, and resolve them.

      But now scale that company to 10x its size (say, from 25 people to 250 people). The CEO can no longer feasibly know everyone on a personal level. Also, the “different visions” problem gets multiplied by the fact that we no longer have 10 coders – we have ten TEAMS of coders, each of which is made up of a whole group of people who each have their own ideas. And the intersection of “who’s responsible for what?” gets challenging. Aligning visions is challenging.

      And, getting a really good idea from someone who’s doing the work, and getting everyone to see the wisdom and change, is a lot harder. You can’t have a free-for-all where anyone can radically change (say) how we architect the back-end processing on their own “I have a good idea!” say-so – that’s a recipe for chaos.

      Also, when you’re small, pretty much everyone you have is hand-picked, and is the right person for the job, or they’re gone. When you had 10 people working 16 hour pizza-and-mountain-dew fueled hours a day to get the initial product out the door, everyone knew all the problems and everyone needed to be trusted to deal with them. Now we have 100 coders. None of them have all the context anymore. Some of them are amazing code ninjas, some are “the best people we could find on short notice to complete the project.” Is everyone completely trusted anymore? Should they be?

      Putting together structures to make decisions, vet ideas, align the team, and communicate effectively gets harder every time a company leaps up an order of magnitude in size.

      Having a group of managers who don’t really code anymore make decisions about architecture in a meeting where few or none of the “day to day” line coders who actually know the problem in detail are present is a bad way to make decisions.

      What’s a better one? Have 100 people in the room every time we make decisions? How do we filter down from the noise of having 100 opinions? How do we keep from having Bob and Dave keep rehashing their SOAP vs. REST web services argument every time? How do we make our decisions? By consensus? What if the majority is wrong? Or we worry that people would rather not want to learn new things, and so will choose what’s easier over what’s better? Also, having 100 people all stop working and go argue about coding practices is EXPENSIVE.

      In principle, if we have really good people as the managers, who know they’re less expert than their people on the ground, and view their role as to gather and advocate passionately for the best ideas to make the company better, then having a smaller meeting of the managers makes sense as a way to solve the scaling issue.

      In practice, if the managers are NOT good in one of many, many ways (thinking they know better than the teams on every issue, wanting to push their ideas more than they want to be effective advocates for their teams, protecting their own jobs over trying to make the company better), then the model breaks down and things suck.

      But, again, arguing that the model often sucks in practice may be a valid complaint. But just pointing out the current approach has problems doesn’t help unless we find a better model.

      Edit to make my point clearer I am NOT trying to pay apologist for bad structures here, or suggest that most companies wouldn’t benefit from change (I make such changes professionally). I’m simply pointing out that the problem of decision making structures is a HARD problem, and likely doesn’t have a general-case solution that works in every environment. It’s easy to complain about management – it’s harder to find a better structure sometimes.

    5. Daemian Lucifer says:

      For a corporation to work well,it needs to have a smart person at the top.That means,a person who is willing to listen to people who know more than them in other fields,and incorporate their ideas.But,seeing how ceos are people,many of them arent really good at their jobs.Thats why youll often see stupid preventable blunders like this.

      1. FelBlood says:

        Too often, in place of a good manager, you’ll find a good salesman, who specializes in selling himself, to people who hire managers.

        God, help us all!

    6. Zak McKracken says:

      Just take 5 random people to a town none of you have been to before and decide how to spend an evening together.

      …and then marvel at any organisation of more than 10 people which gets anything done, at all, ever.

      The sad fact is that for a larger group to reach any aim, some will have to just go along with whatever consensus has been reached. Any society (cultural groups, comanies, any gardening association…), will develop some habits which noone questions after some time, and some people will have more authority than others. That is necessary because otherwise you’d never stop debating and start doing. If a company or, for that matter, any individual started questioning every single one of their actions at every step, they’d never get anywhere.

      So habits/company policies/cultural norms are completely necessary, even though they also enable some failures.

      1. Managing is a SERIOUS skillset. One of the toughest jobs there is. It’s almost like trying to make fine steel. You want it hard, but not too hard, because then it becomes brittle. Flexible, but not too flexible, because then it won’t hold an edge. And there are a million minor alterations for special purposes. Spring steel is not sword steel. Knife steel is not pot steel. Surgical steel is not any of them.

        And even if you do everything perfectly by theory, you can STILL mess up.

        1. Tizzy says:

          And your main reward if you succeed is more of the same, but harder.

          1. This is true of any line of work.

          2. FelBlood says:

            –and a retirement hedge fund.

        2. Zak McKracken says:

          Well said.

          Actually, the steel analogy goes even further: Back in the day before these things could be computed, smiths had their recipes for making the different kinds of steel they needed. They refined them, handed them down… etc. But they knw nothing about trace elements, about the different cristaline structures they create and how they affect the material’s properties. But they were still incredibly good at what they did.
          That is, until you’d hand them some ore from a completely different place. Because that stuff had different trace elements in it and so the same procedure would produce a different result.* With management, you still cannot compute exactly which strategy will produce the best results**, so every once in a while a manager who’s otherwise done really well will meet a situation where the regular recipe does not work and fail hilariously. In hindsight the mistake will be obvious but at the time it was a tried and tested strategy.

          * That’s why for a very long time the steel from certain places was extremely sought after: People said it was “the best” but actually it was just made from the ore for which the best recipes existed. You’d always try to keep using the same stuff, at least for the important jobs.

          ** mainly because the people you’re working with and the thing you’re trying to achieve with them are way more variable than iron ore quality…

  2. Mr Compassionate says:

    This series is a very easy and fascinating read.

  3. thak says:

    should be: “and that lightbulbs would be better”

  4. MichaelGC says:

    The Windows 10 version is just a single Yes/No option:

    Provide user with the illusion they have control?

    and it’s grayed out.

    1. Philadelphus says:

      Oo, let me try my hand at a Linux version:

      Secret Options
      Percentage of AAA games that can be run:
      0% ⍃−⌷−−−−−−−−−−−−−−−−−−⍄ 100%

      Percentage of other games that can be run:
      0% ⍃−−−−−⌷−−−−−−−−−−−−−−⍄ 100%

      Graphics driver optimization on Linux should be ⍃ worse ⍄ than on Windows.

      Driver support for new hardware should be:
      ⧠ Boringly dependable.
      ✓ An exciting lottery.

      Solutions to problems should involve:
      ⧠ Simple, graphical interfaces.
      ✓ Sets of arcane terminal commands found by searching online.

      Disclaimer: all in good fun, of course. I use Linux at home myself. :)

      1. Tom says:

        I hate to be the pedant, but that joke doesn’t really work for Linux the way it does for Windows, because in the former case several of those options are, at best, only partially under the control of the Linux developers; they’re the result of paranoid, sloppy or bloody-minded hardware and closed-source software companies refusing or not bothering to cooperate with the Linux world (or, in the case of many games, doing dodgy, nonstandard things with the APIs – some games won’t work in Wine because they use advanced techniques that the Wine team haven’t finished reverse-engineering yet, but I gather many others just use more standard functions in weird, hacky ways that probably aren’t supposed to be done in Windows either, but luckily do work there – these are probably the games that tend not to work properly in Microsoft’s own compatibility modes for other windows versions either!), and in some cases (COUGH-secureboot-/COUGH) actively trying to thwart them. The big joke is that the sliders controlling how easy it is to use Windows stuff with Linux should really be in the Windows/games’ control panels, not the Linux one.

  5. The Rocketeer says:

    Someone needs to make an updated version of this joke for Windows 10.

    I’m sure you saw this one coming a mile away, but wouldn’t Windows 10’s actual design make that a redundant joke?

  6. lloolaid says:

    Reading this saga has me nodding in reminiscence & solidarity most time. Details and flavours vary, plus I’m not a programmer (although, as the in-house copywriter, I often played the Technical Jane) … buuuut so many decision dynamics ring a bell. After I’d quit, I dedicated my very own a demotivational poster to my ex-boss:

  7. Abnaxis says:

    It sounds like there a sort of divide between “management” and “people in the trenches,” but aren’t there only about a dozen people in this company? How many managers can there be that aren’t elbow-deep in the muck with everyone else?

    In the small company I worked at, “the management” was the two owners, and they wore as many hats as everybody else did.

    1. Jsor says:

      Yeah, I’m getting a bit confuzzled on the size/scope of the company. I thought we were talking about a tiny company where everyone would be in almost every meeting that didn’t involve external investors.

    2. Shamus says:

      This is indeed a small company.

      A feature meeting was usually 2 managers + 2 programmers. When all 4 people have a different vision, that’s enough agendas in one room.

      1. Abnaxis says:

        I don’t think I’m asking my question clearly…

        At my company, there were roughly a dozen people working (11-13 while I was there). Of these, I would qualify two as “managers”–who had the title by dint of owning the company. Their duties included:

        –Sales (finding customers, submitting bids, estimating costs, etc)
        –Engineering (designing systems to fit within bid/estimated sales cost)
        –A bit of programming (simple stuff not to bug the programmers with)
        –Tech support (we weren’t making everyday consumer products, but we still had our non-tech-savvy user base to deal with)
        –Interface Design
        –R&D, insofar as “hey, this new tool looks like it’s worthwhile and we already have a business relation with the vendor, pass it on to a programmer and see what they think”
        –Management of the other lowly stakeholders (i.e., me and the other programmer/engineers)

        Incidentally, that required duty list kind of applied to everyone except the “management” item, not counting the two administrative employees who took care of all the payroll and accounting stuff. The only difference from one employee to the next is the distribution of those duties–the sales guys spent 90% of their time doing sales, but they had to understand the systems well enough to perform simple fixes if there just weren’t programmers available to do it. Programmers spent 90% of their time programming, but if a lucrative sales opportunity peeked its head they’re expected to pursue it. And it had to be that way. When one of the whole three programmer’s or two sales guys went on vacation or called in sick, everybody had to be able to step in to pick up the slack or the company would lose out on massive opportunities.

        It’s odd to me to see a company as small as the one I worked at that doesn’t follow the “many hats” structure. And with that sort of structure, I can’t imagine “management” being so disconnected from the technical issues that they would commit the types of “just do it anyway and we’ll fix it later” type blunders you’ve laid out in this series. Hell, there many, many times where I had to step in because a customer would ask the owner for a feature, his response would be “can’t be done for what you’re willing to pay,” based on his own experience working with these systems, and my response would be “actually, they just added a feature to our API that we can use to make it work.”

        To be sure, the conflicting visions is an issue, but it’s the gaps in understanding the technical limitations of the product your company is selling that baffles me.

  8. Daemian Lucifer says:

    Its obvious now that what you needed was this guy:

  9. I often look certain software that I try to use and think… How did you screw this up so bad?! I now realize it might be business management. Often when you have investors going for some impossible technological feat, it doesn’t work.

    This is also probably the case why the business guy+ technology guy duo works wonders. You have a smart designer and a communicator who get along.

    1. MrGuy says:

      I’d argue Bill Gates (whatever his faults) is one of those guys who can span that gap – having a business vision (whatever you think of if) and a technical vision.

      He’s also the guy who sent this e-mail to his company.

      Big companies do stupid things that are obvious, even despite having leaders who know they are dumb.

      1. MichaelGC says:

        Bill Gates seems to be channeling Shamus, there! Although he’s not even half the writer, o’ course.

        1. Daemian Lucifer says:

          Well,he did write windows,so we know his writing sucks.

          1. Zak McKracken says:

            Did he?
            I thought he didn’t actually write much code himself. Like, MS-DOS was just bought from some other company, and by the time Windows came up, he was just directing other peoples’ work.

            Which, to be fair, is a hard skill to learn. I tried once to get a bunch of students to work on a project, and it was quite a mess, so that taught me that “leadership skills” are an actual thing and don’t simply consist of using important-sounding words while wearing a suit.
            … although I’m still convinced that leadership skills without any idea about the thing you’re working on are not just useless but positively dengerous, unless you’re at the same time very very open to being educated, and leaving some decisions to people who know better than you.

        2. It seems I am also quite the typo wordsmoth right now.

          Gonna leave wordsmoth as is.

          1. Philadelphus says:

            “Here we see the rare Typo Wordsmoth in its natural habitat, drawn to errors like a moth to flam.”

              1. Lachlan the Mad says:

                Looks like there’s been an outbreak of the Mispeling Vyrus. Someone call in the dictionaries, we need to form a barricade before textual collapse.

            1. T. Wordsmoth says:

              Update: this is now officially my online alias. I like it so much I’m gonna keep it.

      2. Wouldn’t that be inevitable when it comes running a big team?

  10. Morzas says:

    I slowly begin to realize why so few of my feature suggestions make it into The Listâ„¢. I always argue for things in terms of how “cool” it will look and how intensely people want it, but I rarely make a business case for my ideas.

    I wish we lived in a world where that which is cool and desired rises to the top, not that which extracts the most wealth.

    1. LassLisa says:

      It’s not actually that great. I worked at a startup that made a really technologically interesting product that we all (all the engineers, especially) loved and thought was super-cool. We got a bunch of write-ups and articles and good press about how cool our stuff was.

      But there was a cheaper commodity equivalent, that did 80% of what our product did for 50% of the price. We never did get cash-flow positive. One day we all showed up to work and found the doors locked, with an all-hands meeting scheduled for 9 to give us all our termination paperwork. The company had gone bankrupt, and all the equipment and programs and designs we’d spent years and millions of dollars on was thrown out. Our custom manufacturing equipment, designed to serve specific and unique technologically-interesting functions, was sold as scrap and melted down for raw materials.

      Since then, I’ve cared much more about the business case for a product.

      1. DerJüngerLudendorff says:

        Yeah, thats kind of the problem with things that are “desired and cool”. You need an actual foundation to work from, and provide for your necessities first. Which you usually do by giving people what they want.

        And what people want is to get something done, with the minimum of fuss and at the lowest possible cost. If your shiny new idea doesn’t provide that, you better have some other product or idea that does.

        See also shamus’s paragraph on the e-commerce and remote learning thing that OP got the quote from :)

  11. mewse says:

    > a musical swell that ends with the president suddenly transforming into a whole new person.

    Damnit, now that you’ve got that image in my head, I’m not going to be happy until the incoming US president gets a musical number during the climax of the season one finale(which I guess would be the swearing-in ceremony?), in which he turns into someone else?

    If we’re voting, I vote for turning into Ethel Merman. The musical number could be this one. This sounds doable, yes?

    1. Mistwraithe says:

      Perhaps he will turn into a Lizard Person? The conspirators will love that twist!

Thanks for joining the discussion. Be nice, don't post angry, and enjoy yourself. This is supposed to be fun. Your email address will not be published. Required fields are marked*

You can enclose spoilers in <strike> tags like so:
<strike>Darth Vader is Luke's father!</strike>

You can make things italics like this:
Can you imagine having Darth Vader as your <i>father</i>?

You can make things bold like this:
I'm <b>very</b> glad Darth Vader isn't my father.

You can make links like this:
I'm reading about <a href="">Darth Vader</a> on Wikipedia!

You can quote someone like this:
Darth Vader said <blockquote>Luke, I am your father.</blockquote>

Leave a Reply

Your email address will not be published. Required fields are marked *