Hi, I’m Manu, a biking web developer. I’ve been writing on here since June 2002 about a bunch of different topics. My favorite posts are tagged with ✪.

Why “plothole.net”? As defined on wikipedia,

a plot hole, plothole or plot error is a gap or inconsistency in a storyline that goes against the flow of logic established by the story’s plot. Such inconsistencies include such things as illogical or impossible events, and statements or events that contradict earlier events in the storyline.

This definition suits my life pretty well.

Thanks for reading!

Ruined by design

It seems I found out about Mike Monteiro via Creative Mornings in 2012ish. I bought a copy of Design is a job, never finished it I think (oops!), but at least gave it away to a then future designer friend. Mike also has some excellent podcasts: Let’s make mistakes, with the amazing co-host Jessie Char, and Voice of design.

Ruined by design
Ruined by design

I like his honest straightforward no bullshit approach. So when Ruined by design came out, I grabbed a copy. But the zine version. I liked it a lot. Everything he talks about applies to software engineering as well. It’s about design in the broad sense. Here are some snippets.

About Facebook, Twitter, Google, the whole Internet ad industry and the related privacy disaster:

In the early 1900s, some psychiatric hospitals gauged patients’ readiness to integrate back into society through a simple and peculiar test. The patient was ushered into a room with a sink, where the hospital staff would place a plug in the sink, turn on the faucet, and wait for the sink to overflow. As water bubbled over the ledge and splashed onto the floor below, the patient was then handed a mop and the staff would leave the room, closing the door behind them. If the patient turned off the water, unplugged the sink, and mopped up the water that had spilled onto the floor, they were deemed as ready to go home and enter back into society. But if the patient opted to frantically mop as the water gushed over the sink, failing to turn off the faucet or remove the sink’s plug, they were deemed insane and prescribed more time in the psychiatric hospital: they failed to acknowledge and address the root of the problem.

Many of you in the tech industry are frantically mopping.

You’ve said things, done things at your company that crushed your soul but paid your bills. You avoid talking to your friends and family about your company and ethics because, well, your company is always in the news for their lack of regard for people’s privacy, data, and overall well-being. You’ve applied to companies who frequent news cycles for doing harm to others because you really want their name or a title on your resume.

Some general truth:

Every human being on this planet is obligated to do their best to leave this planet in better shape than we found it. Everyone on the planet is obligated to respect every other human being on this planet.

About diversity in a team:

Design is the intentional solution to a problem within a set of constraints. To know whether you are properly solving those problems you need to meet the people who are having them. If you are part of a team, your team should strive to reflect those people—even better your team should include those people.

Replace “designer” with “software developer” and this paragraph works just as well:

You are part of a professional community, and the way you do your job and handle yourself professionally affects everyone in that community. Just as a rising tide affects all boats, taking a shit in the pool affects all swimmers. If you are dishonest with a client or employer, the designer behind you will pay the price. If you work for free, the designer behind you will be expected to do the same. If you do not hold your ground on doing bad work, the designer behind you will have to work twice as hard to make up for that choice. If a designer leaves a job because they were being asked to behave against their ethical code, and you take that job, you’re doing all of us a disservice.

To keep in mind if I ever go into freelancing:

a little thing we tell our clients before they agree to work with us:

“You may be hiring us and that may be your name on the check, but we do not work for you. We’re coming in to solve a problem, because we believe it needs to be solved and it’s worth solving. But we work for the people being affected by that problem. Our job is to look out for them because they’re not in the room. And we will under no circumstances design anything that puts those people at risk.”

About Facebook and Twitter. I really need to look into getting off Twitter. I’ve been off Facebook (and Facebook-owned Instagram) for almost a year, and I got no regrets. If only fewer members of my family, friends and acquaintances were on WhatsApp, I could have a Facebook-free life. I’m still working on getting off Google. My email is still there, but I recently changed hosting service so I can move away from GMail.

Let’s talk about Twitter’s German Nazi filter. Germany has strict laws banning Nazi symbols, incitement of the people, and hate speech, which they refer to as Volksverhetzung (incitement of the masses). This is because Germany is actually dealing with the atrocities committed on their soil, unlike the United States and slavery, Jim Crow, Native American genocide, etc. It’s also illegal to deny the existence of the Holocaust in Germany. In June 2017, the complete Volksverhetzung laws expanded to include sweeping new regulations for social networks called the Netzwerkdurchsetzungsgesetz, or Network Enforcement Act. (Meanwhile, in Silicon Valley, on October 8, 2018, in an interview with Kara Swisher, Mark Zuckerberg specifically mentioned Holocaust deniers were welcome on his platform.) So, if you’re doing business in Germany, you need a way to shut down the Nazi shit. Twitter, obviously, works in Germany. Twitter is also filled with Nazi shit. In order to operate in Germany, they needed a way to filter that hateful crap out. Which they figured out.

Try this: go to your Twitter content settings and change the country to Germany. The Nazis go away! It’s the software equivalent of D-Day. Nazis gone. The next time Twitter tells you they dont know how to find the Nazi stuff, be assured they’re lying. They’ve already had to tag it.

Some more about diversity:

Oh, this is probably the point at which the white boy libertarians are screaming that I’m not backing up my assertions that diversity helps us build better products with any data. “Show me the data!” they like to scream. Okay, here it is: you jackasses have been running the world for millennia and it’s a garbage fire. You’ve been running Silicon Valley for decades, and it’s a Nazi-filled viper’s nest. There’s your data. You fucked it up. Also, this is an ethics book. We don’t exclude people from working because allowing people to work is the right thing to do. We give everyone a chance to help because it’s the right thing to do. We build products with everyone in mind because it’s the right thing to do. But since we’re talking about data, I’d be happy to see the data that supports excluding other people from the workforce based on race, gender, or religious beliefs.

This one resonated with me because Mike explicitly mentions what I’m currently working on at Bestmile:

I get it. You like to make things. You became a designer because you enjoyed designing. I did too, but there’s more to this job than being happy someone is paying you to design something. We work within a tight, fragile ecosystem where our labor has repercussions. You are lucky enough to be a designer at a time when design is taken seriously and when design has power. With that power comes responsibility. You are responsible for what you put into the world. You are responsible for the effect your work has on the world. Right now, designers (I define this term broadly, as a reminder. Prick up your ears, developers and engineers!) are creating new inroads in all manner of things. We’re designing software for self-driving cars. We’re designing software which intimately touches people’s lives. We’re designing software which puts people in strangers’ cars. We’re designing databases which track immigrants for eventual deportation. All of these things need to be designed with the strictest ethics in mind. Some of these things don’t pass an ethical test, and shouldn’t be designed at all!

Pretty cool interview question:

There’s one design test I give interviewees at Mule. (I stole it from legendary designer Kim Goodwin, who’s smarter than I am. By the way, I never told her I stole her design test. She’ll only ever find out if she reads this book. Ethics!) I write a bunch of form labels on the whiteboard, in a nonsensical order, along with a bunch of randomly sized input boxes. I include first name, last name, address, gender, city, state, email address, etc. Then I tell the interviewee that we’re designing a form to sign up for an email newsletter and to arrange them in the right order. Only people who ask me why I need the users’ gender, or physical address, or really, anything but their email address get a second interview. I won’t hire a designer who doesn’t ask why, and I won’t hire a designer whose desire to arrange boxes is more important than their desire to protect users’ data.

Funnily enough I once randomly had lunch with Kim Goodwin after a job interview at Archilogic in Zurich.

Something I have to keep in mind, but again, from a software developer’s perspective:

If you want to have a say in what’s being designed you need to be in the room where design decisions are being made. By design decisions, I mean things like metrics, strategy, outcomes, definitions, timelines, and resources. All of those things will influence what is being designed a million times more than where pixels ultimately get placed. Oh, but you don’t get invited to those discussions? For the record, every time a designer tells me this, I follow up with, “Have you ever asked to be in those discussions?” and half the time the answer is no. At which point, I have to take a deep breath. First off, no one is going to invite you to those conversations on their own. Remember, they don’t know what it takes to design something correctly. They think they hired a pixel pusher. Don’t fall into the trap of behaving like one. Only you know what it takes for you to do your job correctly. They hired you to do a job, you have to tell them what you need in order to do it well. If part of that is being part of these conversations—and it is—then you need to make the case for being in those meetings.

I finally know where the quote that is at the beginning of the song Article IV by Good Riddance comes from, and I’m (of course) not disappointed. It was really funny reading it, because I know it by heart:

On December 2, 1964, at the height of the civil rights struggle, Mario Savio climbed the steps of Sproul Hall at the UC Berkeley, which had just banned all political activity and fundraising on campus. This is the famous last paragraph of the speech he gave that day:

There’s a time when the operation of the machine becomes so odious, makes you so sick at heart, that you can’t take part! You can’t even passively take part! And you’ve got to put your bodies upon the gears and upon the wheels… upon the levers, upon all the apparatus, and you’ve got to make it stop! And you’ve got to indicate to the people who run it, to the people who own it, that unless you’re free, the machine will be prevented from working at all!

About companies that want to make you owe them everything in your life:

This is by design. Facebook and companies like Facebook want you to feel like you’re not just at work, they want to be your de facto community. They’ll provide you with everything you need. Not just a job, but also food, clothing, services to wash that clothing, social events, haircuts, gyms, health care, your favorite bands to play at events, and even on-campus mental health services (which raises so many red flags that it’s beyond anything I can joke about). Modern tech campuses don’t just rival college campuses, they obliterate them in scope, activities, and money. Losing a job doesn’t just mean losing a paycheck, it means being ostracized from your community and, at least in Facebook’s case, potentially losing access to your therapist! They’re company towns.

Making the case of licensing designers (and software engineers):

Do I care if you have a license before you design your friend’s black metal band logo? No, I do not. Make it fierce. Do I care if you have a license before you design a website for your dad’s construction company? No, I do not. Help your dad. Do I care if you have a license when you’re designing data collection for two billion people? Yes, I do. Actually, it’s not even the license that I care about. I care that you know what you’re doing. I care that you understand the job and the ethics behind the job. I care that someone has tested you on this knowledge and you’ve passed those tests. The reason I care about those tests, those signifiers, is because I’ve seen us run up a body count. A license is a signifier that we’re qualified to make decisions about the thing they’re asking us to do. (Yes, we can wave that license in their face when they argue with us about the ethics of what they’re asking for.) You cannot get upset or surprised when you’ve been working unethically and someone decides to slap a governor on you. We had an opportunity to work ungoverned, and we failed. When the people we work for are out there saying things like, “what’s good for us isn’t necessarily what’s good for the world,” I need to know that we’re in place as a check on their idiocy.

A last one for the road:

If the lessons in this book seem hard, it’s because they are meant to be. If the job I’m asking you to do seems difficult, it’s because it is. Hard and difficult aren’t the same as impossible. When it comes down to it, all I’m asking you to do is the job you signed up for. Close your eyes for a second. Imagine a world in which Facebook actually vetted the news it was publishing before the 2016 election. Imagine a world in which Twitter didn’t work overtime to normalize the alt-right to save its own bottom line. Imagine a world in which the service economy isn’t widening the gap between the rich and poor. In short, imagine a world in which we had done our jobs.

Go read that book!