mb

A photo of mb bischoff in a red lip and leather jacket.

mb bischoff (she/they) makes  apps,  posts, &  podcasts changes

rss subscribe mb

Impossible Ideas

John Cleese

If I could show just one talk to every software engineer, it wouldn’t be a treatise on the elegance of algorithms, a lecture about accessibility in apps, or even the masterwork that is Englebart’s Mother of All Demos. Instead, I’d show them this frequently-referenced 1991 speech that John Cleese gave (transcript) to Video Arts, a company he co-founded. In it, he presents a blueprint for how to nurture creativity at work that’s based on his own experience in Monty Python and the work of experts like Donald MacKinnon, Johan Huizinga, and Edward de Bono. The talk’s thesis is that “creativity is not a talent; it is a way of operating”. His method for creativity involves regularly setting aside time and space to be in the open mode, when most of our lives and occupations push us into the closed mode.

Let me explain a little. By the “closed mode” I mean the mode that we are in most of the time when we are at work. We have inside us a feeling that there’s lots to be done and we have to get on with it if we’re going to get through it all.

It’s an active (probably slightly anxious) mode, although the anxiety can be exciting and pleasurable. It’s a mode which we’re probably a little impatient, if only with ourselves. It has a little tension in it, not much humor. It’s a mode in which we’re very purposeful, and it’s a mode in which we can get very stressed and even a bit manic, but not creative.

If you’ve worked on a team making software, you’ve almost certainly heard the thought-terminating cliché, “That’s impossible” hastily uttered by a programmer. I know I’ve said it; I suspect we all have. Sometimes engineers blurt this out because a product manager is asking them to do something unsupported by system APIs; sometimes they really mean “It’s hard” or “It’s not worth it” or even just “I don’t want to.” And then other times they are afraid to admit that they just don’t know how to do what’s being asked of them, even if they have a nagging suspicion that it can be done.

Software engineers reject entire product ideas, categories of problems, and persistent bugs as completely impossible to tackle. What is it about the psychology of programmers that leads to this limitation of imagination? In Cleese’s model, it would seem that programmers are spending so much time in the “closed mode” that they get stuck there. So, what’s the alternative?

By contrast, the open mode, is a relaxed, expansive, less purposeful mode in which we’re probably more contemplative, more inclined to humor (which always accompanies a wider perspective) and, consequently, more playful.

It’s a mood in which curiosity for its own sake can operate because we’re not under pressure to get a specific thing done quickly. We can play, and that is what allows our natural creativity to surface.*

Programmers are problem-solvers, spending most of their day building, a task that demands they be in the closed mode, “wired in”. Implementing features to spec, tracking down and fixing bugs, and thinking like a computer are exercises in putting one’s head down and blocking out distractions, and are therefore incompatible with the open mode. When we train ourselves to see the world this precisely, dividing things into neat boxes and clear abstractions, it can hurt our ability to accept ideas outside our mental model. It’s why many programmers I’ve worked with have stories about tracking an inscrutable bug down to an unhandled condition in their code with a comment that reads // This should never happen. And it’s for just the same reason that many brilliant engineers dismissed ideas like the internet, real time direction-routing, and digital currency as impossible for decades before they were implemented. For a coder, there’s inherent anxiety in impossibiilty, anxiety that can push them toward surrender rather than creative problem-solving.

But during the earlier design and ideation stages of projects, before we start writing code, we need to remind ourselves and our teammates to remain open. Nothing’s decided, nothing’s set in stone, and therefore many things are possible that might not seem that way at first. The Waterfall model of development forces this openness to end when building begins, but newer software methodologies like agile development promote the idea that we should expect design iteration to continue during software construction and therefore allow for open mode thinking throughout a project.

Cleese also suggests ways to avoid choking off our creativity too early. He recommends collaborators establish as free an atmosphere as possible in the open mode. Improvisational comedians have a well-known shorthand for this kind of openness to whatever ideas are presented: “Yes, and”.

And never say anything to squash them either, never say “no” or “wrong” or “I don’t like that.” Always be positive, and build on what is being said:

  • “Would it be even better if…”
  • “I don’t quite understand that, can you just explain it again?”
  • “Go on…”
  • “What if…?”
  • “Let’s pretend…”

Even if an idea that a coworker proposes is truly impossible, it can still have value. In Edward de Bono’s book Practical Thinking, he writes about the value of intermediate impossibles. Sometimes unrealistic ideas are just a step on the path toward something that will work brilliantly. For example, you might design an impossible sign-up screen that magically knows the user’s name and email, and then realize later in a brainstorm that you don’t need either piece of information at all and still end up with a great user experience. De Bono calls this lateral thinking. As opposed to logical thinking, which requires a linear progression of true statements (just like most computer programs), lateral thinking allows and even encourages impossible ideas as middle steps, as they often help us get to a better end result.

The use of an Intermediate Impossible is completely contrary to ordinary logical thinking in which you have to be right at each stage.

It doesn’t matter if the Intermediate Impossible is right or absurd, it can nevertheless be used as a stepping stone to another idea that is right.

As software makers, we could all stand to be more open to the impossible, especially given that the technology we create must help solve wicked problems outside our screens, like climate change, transportation, and healthcare, problems that will require immense creativity and teamwork. To overcome what seem like impossible tasks, we first need to believe that there might be a way to do so.

The next time you’re playing around with new ideas and someone tells you that they’re impossible, remind them of what John Cleese said, ”When you’re playing, nothing is wrong.”

#creativity #ideas #talks

Professional Ghostbusting

Ghostbusters

It’s scary how much email I get at work. Despite Slack’s best efforts, much of the business world still “runs on email.” In 2019, the inboxes in my life are brimming with messages from new leads, existing clients, potential vendors, folks trying to network or ask for advice, and lots of transactional bullshit: newsletters, password resets, and spam. I’m sure your inboxes feel just as overwhelming. So it’s no surprise that folks (me included) sometimes get behind on responding to their email.

But today, I’m writing about a particularly pernicious form of email non-response and how to stop it: professional ghosting. The mid-2000s millennialism “ghosting” refers to abruptly and intentionally cutting off contact with someone you’re dating without warning or justification. You stop responding to their flirty texts and date asks and don’t tell them why. In fact, you don’t tell them anything. You’re a ghost. The word gained popularity in 2015 along with the rise of Tinder and a bevy of other dating apps where “leaving people on read” has become commonplace. Professional ghosting is basically the same thing…except it’s at work, so there might be money involved.

Imagine this: you’re in an email back-and-forth with a client who has hired you to design a new website for them. After they’ve paid a deposit and you’ve started the project, you have a question about how big the logo should be. You dash off a quick email to the client to ask them. And you wait. Maybe you figure it will take them a business day or so to respond. But then you hear nothing for days. Days turn into weeks. Radio silence. You’ve been (un)professionally ghosted.

Why does this happen? It’s not always just that folks are busy. It’s often a more specific kind of anxiety and friction that causes this particular supernatural phenomenon. Maybe something in your email raised follow up questions, maybe more stakeholders behind the scenes need to be consulted, or maybe it felt like things were getting more expensive or more complicated, even if you didn’t directly say so. Professional ghosting happens when the ghoster can’t immediately respond because they’re missing something and scared to admit it for fear of looking unprepared or under-resourced. And then it’s too late, new emails are already pouring in and yours has lost priority.

While this trend of ghosting in work contexts isn’t new, it does seem like it’s on the rise. Both anecdotally in my work and industry-wide, more employees and companies are noticing ghosting behavior from their colleagues, bosses, and reports. How can we fix it? Let’s fire up our proton packs and figure it out. I ain’t afraid of no ghosts.

Advice for the Ghosted ☠️

Here are a few things I’ve done while being ghosted at work that have helped me bring back some dead threads.

Follow up. I know it might feel like you’re nagging someone to email twice in a row. But if you’re in a professional relationship, and you’ve been interacting with someone who’s vanished, they’d likely appreciate a friendly follow-up after a few days. I’ve resurrected more deals than I can count with one well-timed follow up. Use a CRM system or an app like Boomerang for Gmail to automate this.

Make responding easy. Bold the questions in your email and keep them as easy to respond to as possible. Discuss complex or sensitive matters by phone or video chat. Your goal should be that your email is the first one your recipient opens, because it’s got a great subject line and they know exactly what you want and how to give it to you. Use self-service calendaring tools like Calendly to avoid being ghosted in the midst of a long scheduling volley.

Track opens. This is controversial from a privacy perspective. But on crucial business communications like bills or contracts, I think it’s appropriate to have view tracking in place. If you know your client is seeing and opening your invoices, it can give you peace of mind that they’ll pay them on time. And if they don’t, you can let them know they don’t have a good excuse to be late, because you see that the invoice was opened the day after they received it. 👀

Advice for Ghosts 👻

If you ghost on the job, these tips might help you get a little better control of your inbox…and your humanity.

It’s never too late. Looking at your flagged emails you realize that your skin is turning a pearly, translucent shade of white. You see a list of nice people you’ve ghosted with accompanying timestamps, some of which are months ago at this point. Take a deep breath. It’s not too late to respond to these messages. You’ve got this. Wish them a happy new year and throw in a “sorry for the delayed response” like the professional, living, breathing adult human that you definitely still are.

Ignorance is bliss. It’s okay to say “I don’t know.” In fact, it’s liberating. If one of the reasons you’re ghosting a colleague or business partner right now is that you’re just not sure about something in their email, start there. “I’m not sure how to answer this. Do you mind if we schedule a 15-minute call on Monday and figure it out together? Here’s my availability.” Sometimes that admission of uncertainty all it takes to bring that thread back from the ether.

Set realistic expectations. If you know you’re prone to ghosting, don’t use an email client that lets you snooze emails; it makes it too easy to delay indefinitely. If your Fridays are always filled with meetings, don’t tell someone you’ll get them something by “end of week.” Your time and attention are valuable just like your correspondent’s, and as long as you let people know when you can realistically respond and (mostly) stick to it, it’ll be fine.


I wrote this blog post for myself as much as for anyone else. If you’re ever waiting for a message from me, feel free to link to this piece in your polite follow up. I swear I won’t mind. None of us are perfect at this stuff. We’re all human, even if we sometimes ghost each other.

#advice #email #work

Culture Rot

This weekend, I spoke to the audience of the Difficult to Name reading series at Study Hall in Brooklyn. My talk was about the internet, my fears about building and sustaining culture there, and what we might be able to do about it. Watch the talk or read my prepared remarks below. And let me know what you think on Twitter. I’m @mb there.


I want to tell you about a number that scares me: 404. That infamous code you see when that internet thing you meant to visit is gone or it moved and no one bothered to add a redirect or maybe it never existed at all.

I’m curious though: how many of you have ever made something you’re proud of on the Web?

So many of us have written, recorded, photographed, or created important works in our personal and professional worlds that live online. Maybe they’re your bylines at that fancy publication about tiny houses, or your YouTube seltzer reviews, or your graduate thesis about the history of pizza ovens. It’s not really important what they are, just that they exist and they’re online.

Well, until…they don’t. 404: Page Not found. 410: Gone. 500: Internal Server Error. These numbers, or status codes, tell us what went wrong but not really why. This problem, the problem of the disappearing internet, of “link rot”, is no joke. Researchers have found that over 50% of URLs cited in Supreme Court opinions no longer point to the intended content. Roughly 70% of links in academic legal journals are broken, and 20% of all science, technology and medicine articles suffer from link rot. The average life of a webpage hovers right around 100 days.

People often patly state that “the internet never forgets,” that once something is online, it will be forever. In a certain light that’s true. It’s nearly impossible to permanently remove something from the internet, on purpose. But, by the same token, the web also disappears at an alarming rate. 5% of the entire internet is lost every year, and we barely notice.

Making something on the web is not a one-time investment. Someone has to spend money every year on the domain, hosting, and maintenance. But what happens when the financial incentives to do that change? Right now the massive data centers that house all this information use 3% of all the electricity in the United States. What happens when that power gets too expensive? Or when we’ve been online for centuries and we start deleting dead people’s pages? Unlike a film, or a play, or a book, the costs of keeping art and science on the web are never-ending. We’re building one of our most important shared cultural resources on land that we rent rather than own, on borrowed time from a parking meter that’s all but guaranteed to run out.

We even saw a large-scale example of this recently when a capricious billionaire hastily took down years of content from Gothamist and DNAInfo, leaving reporters to scramble for saved and aggregated clippings of their work just to build a portfolio to get an new job.

Before you say, “Wait Matt, there’s this One Weird Trick. What about the Wayback Machine, what about the Internet Archive, what about Google’s cache?” Let me quote the web developer Maciej Cegłowski in his talk Web Design - The First 100 Years:

We have heroic efforts like the Internet Archive to preserve stuff, but that's like burning down houses and then cheering on the fire department when it comes to save what's left inside. It's no way to run a culture. We take better care of scrap paper than we do of the early internet, because at least we look at scrap paper before we throw it away.

He’s right. It is no way to run a culture. We’re experiencing quantitative losses of data on par with the burning of Alexandria every year, and we’re barely blinking an eye as the stuff we’re making vanishes in a puff of smoke.

The truth is: there is no easy fix. But as writers and makers and inhabitants of the internet, we need to demand better of the platforms and services and publications we entrust with our work. It might seem safer to trust the big guys (Facebook, Twitter, Medium) with this content because they have the funding and incentives to maintain it. That’s true today, but large platforms like them have failed before, taking terabytes of data with them. Remember Friendster, TwitPic, Geocities?

There are academic efforts like Perma.cc out of the Harvard Library Innovation Lab that will solve this problem for the most important legal and scholarly works. But we can and must to do better than that.

Starting in 2014, a small group of programmers became obsessed with building what is called “content addressable” version of the internet called IPFS. IPFS stands for “InterPlanetary File System”. And “content addressable” means that files are stored and located by their content instead of an arbitrary and therefore brittle address. As I’m sure some of you have guessed by now, it’s built on top the blockchain. Insert eye roll emoji 🙄. But before you write them off, I think these nerds might be on to something. Their system, which is entirely peer to peer, and inherently resistant to the rot I’m talking about is already being used to build a mirrored version of Wikipedia that will be accessible from countries with oppressive regimes, and was used by those in Catalan seeking independence when the government blocked their pages from being accessible on the web. The IPFS team is building a system by which the websites and apps of tomorrow might be able to defend against this failing foundation, but who knows if it’ll get adopted.

The next time you make something and put it online: think about where it’s going to live, how long it’ll be around, and what you can do to preserve it, even if that means making an extra local backup, or printing it out on a dead tree. The culture we’re building together is increasingly digital, hyperlinked, and accessible from anywhere. But it’s not accessible from any when. We’re losing more and more of it every day. If we’re going to continue making things online, we need to deal with this problem systematically and soon. How? I’m not sure. Maybe IPFS, or something like it that hasn’t been invented yet. Until then, I’ll keep my printer.

#404 #internet #talks #tech

Code is Prose

I first saw the phrase “Code is poetry” pop up on websites and in conversations about the craft of software development in the early 2000s. Popularized by the Wordpress project, the idea that programming and poetry are similar forms has been the subject of Quora questions, as well as pieces in WIRED, Torque, and Smashing Magazine.

On its face, it is an appealing idea for a few reasons. We programmers would prefer to think of ourselves as lone artists creating clever works of art than a tribe of code monkeys or monastic scribes writing line after line of boilerplate to make a button do something. Sure, some methods might look so concise and beautiful that they remind you of a piece of modern poetry or so archaic that they sound like Old English. And yes, sometimes the variable names and symbols used in a script look sort of like E. E. Cummings if you squint.

But this idea is an example of elitist thinking in our discipline, and it misleads new programmers and the general public into believing that being a software developer requires natural talent, a spark of divine inspiration, or that the code they write should be inscrutable upon first glance. Nothing could be further from the truth.

Great code reads like great prose. It is succinct, expressive, and clear the first time you read it. It tries to be as linear as possible, guiding the reader through tough transitions with the knowledge that one wrong move could lose them entirely. Good code uses language and vocabulary with an understanding of its audience, and it aims for functions with a single main idea, like the paragraphs of a persuasive essay. Instances are narratives—they have a beginning (initialization), a middle (operation), and an end (deallocation).

Well-structured codebases feel more like newspapers or encyclopedias than poetry collections. Individual files operate in a shared universe and are often edited by multiple authors and revised as the facts change. Frequently used objects act like recurring characters: the more you see them, the more you begin to understand how they work.

Even language designers know this. Smalltalk, Swift, and other languages that don’t start with the letter “S” have made English prose the basis of their syntax design. Individual lines of code are called statements, the same word we use in English for the most common type of sentence.

Unlike poetry, computer code does not try to express emotion or evoke meaning through rhythm and rhyme. It aims to tell a story to two audiences: the machines that run it and the people who maintain it. It both narrates and defines how the product it powers works. As Eric Suh points out in Writing code and prose:

Those that I see write the cleanest, most maintainable code are those who write prose well, whether in documentation, in emails, or in their everyday lives.

Many aphorisms about writing style translate fairly well to coding.

So, the next time you write a piece of code and revel in its austere beauty or multi-layered meaning, think about whether it might be better suited as straightforward prose. And while you’re at it, write some actual prose in the form of documentation. Save the poetics for poetry.

#code #tech #writing

Activist Engineering

You’ve been there. You’re sitting in a meeting and your boss, a product manager, or an executive is talking about Q2 goals. They’re laying out a roadmap of the features that are going to be “coming down the pike”. All of a sudden you see it. An innocuous bullet that makes your blood boil: “Auto-invite friends”, “Re-engagement notifications”, or “Disable ATS”.

The particular feature isn’t important. What matters is that you’re the engineer that’s noticed this capital-B Bad Idea. You know why it’s a problem. This time it’s not just the technical debt or the time it’d take to implement. This idea is bad because it trades a worse product for a better “business”: revenue, eyeballs, impressions, you know the drill.

You have a choice in this moment. You can stay quiet and hope it goes away or point it out, question it, and even argue against it. But so often, engineers fold. They ignore their conscience and their gut in the interest of a steady paycheck and an easier work day. Avoid conflict at all costs, especially when that cost could be their job. “Just keep your head down and do what you’re told”, they think, while they twiddle their thumbs as bad product decisions whoosh by. Sure, they complain about it over drinks with coworkers and in one-on-ones, but they don’t say anything when it counts.

We’re better than this. As software engineers and designers, we’re in the room when decisions are shaped, and the only ones who have the power to actually execute them. It’s our responsibility not to forsake the people who trust the apps we make with our silence. To stand up and refuse to implement unethical systems and dark patterns. And even more, to educate stakeholders on the real human costs of their business decisions: the time, attention, money, and trust of their customers.

It’s harder, yes, and riskier. But they can’t build it without us. We get a say. Even if it’s not in that meeting, we can think about the goals they’re trying to accomplish and propose alternatives. We don’t have to hide in our sit-stand nap pods and eye-roll while we engineer a worse world. We can do more than write code. We can research and present better alternatives. We can write memos and make slide decks to convince them of our position. We can be activist engineers.

Even though these bad ideas may buttress the metric-of-the-week, they’re at the direct expense of consumer trust and customer satisfaction. They’re a tax on our company’s reputation. We have to push the people making the decisions to measure more than just the number they’re trying to increase. Look at reviews, net promoter score, social media mentions, and team morale. All of these trends matter to the long-term health of the company, and should be treated as such.

This requires long-term thinking and the kind of organization that’s receptive to it. In many companies, quantifiable short term gains are valued more than long-term, qualitative investment. The best companies resist this temptation to make a quick buck and build upon a lasting mission and principles. But even in companies with lofty vision statements, things can go awry. A bad quarter can send the company’s hard-won principles out the window to make room for the growth hackers.


In other disciplines, engineers wear an iron ring to remind them of their commitment to their profession. Though we may not be part of the Order of the Engineer, we can learn a lot from their obligation:

As an engineer, I shall participate in none but honest enterprises. When needed, my skill and knowledge shall be given without reservation for the public good. In the performance of duty, and in fidelity to my profession, I shall give the utmost.

Of course, not every idea you dislike is a bad one, so spend your reputation thoughtfully but forcefully. Make your dissent count, but don’t be a jerk.

Our job as software engineers is to build things that make the world (or a corner of it) better, things that solve problems. But that’s not our only job. It’s also to be gatekeepers: to prevent ideas that we know are harmful from being realized. What’s the worst that could happen: we get a reputation for giving a damn?

#activism #code #politics #programming #tech #work

Reviewing Code: A Checklist

You’ve been there. A 10,000 line pull request lands in your email and you don’t even know where to begin. No description provided.

Should you start by installing it, running the test suite, or should you just start scrolling though while your eyes glaze over from the red and green stripes? Is this developer really looking for feedback or are they on a deadline and pressuring you to say “lgtm”. Will your one innocuous comment ignite a flame war?

Code review, or more generally peer review, has a long record of finding defects in not just software engineering, but in science, academia, and many other industries. While some argue about the specific percentages of issues that it finds compared to an automated test suite, or others method of testing, code review is an incredibly useful tool in any software teams arsenal against bugs and poor software architecture. But only if it remains a sharp one. Laziness can creep into code review very easily if you’re not careful.

Jason Brennan has written two great pieces on the topic of diligently writing and reviewing pull requests, and I’ve used his series as an inspiration for my own system. I’ve also found it’s handy to have a short-form checklist to go over when performing code reviews to remind myself what I’m going for. Maybe it’ll help you and your team too.

For the engineer drafting the pull request

  • Provide a screenshot, GIF, or video of the change if possible. People like pictures.
  • Explain what changed and why.
  • List step-by-step how to test the changes.
  • Link to any relevant task(s) or ticket(s) in the bug tracker.
  • Link to any existing documentation that could make the change easier to understand for the reviewer.
  • Mark any areas that are work in progress or require follow up.
    • Note anything that is waiting on other departments or team members.
  • Call out any legal, security, or privacy concerns.
  • If any third-party dependencies have been added, explain what they are and why you chose them.
  • Double check that the code is styled, documented, and tested to your team’s standards.
  • Mention people who would be interested in the changeset:
    • Engineer(s) who wrote the old version
    • Designer(s)
    • Product manager (if they’re interested)
  • Give the diff one final pass yourself before asking others to take a look. You might catch a few silly things like typos in comments.
  • Annotate particularly tricky sections in the diff to make what’s going on even clearer. Maybe even turn these into code comments.
  • Get a coffee and wait for the constructive criticism to roll in.

For the reviewer

I find it’s helpful to do these in order if you can.

Most importantly, remember that the engineer on the other side of the screen is a person. Try not to be curt or hurtful in your comments.

The Pull Request

Start here to build an understanding of what you’re about to be diving into.

  • Let your teammate know that you’re reviewing their work however’s customary: a comment, a message, making yourself the assignee.
  • Read over the pull request description and any linked documents to understand the nature of the changes.
    • Ask questions about anything you don’t understand or if there isn’t enough detail to properly review.

The Product

Does it work as you’d expect? You can write lots of pretty code that doesn’t work.

  • Checkout the pull request locally.
  • Confirm that the project builds and compiles.
  • Look for any new warnings or errors that have been introduced.
  • Run the unit / integration tests to look for any new failures.
  • Follow the steps provided to test the changes or determine a testing plan for it and run through those tests, noting any issues in your comments.
    • Test things that the original engineer might not have considered like errors, failures, other inputs.
  • Look for significant changes in performance.
    • Profile the changes if performance seems to have regressed.
  • Run the application in another language and region to check for internationalization and localization issues.
  • Confirm that the changes are fully accessible to customers with disabilities.

The Code

Alright, it’s time to start looking at the code, line by line.

  • Deleted code
    • If code was deleted, was its functionality adequately replaced or is what it provided no longer required?
  • Added code
    • Does the new code introduced conform to the teams’s standards for style, documentation, and testing?
    • Does new code make sense when read? Is anything too clever or inexplicable?
    • Is new code safe?
      • Does it have the potential to crash or hang?
      • Are there any obvious race conditions or concurrency concerns?
    • Is new code fast?
      • If not, can you suggest optimizations?
    • Is it well-designed and well-factored?
      • If not, try to propose alternative solutions or schedule a time to whiteboard with the engineer.
    • Is it well-named?
      • Are the names of types and functions obvious and unambiguous?
  • Modified code
    • Do you understand why the modifications were made?
    • Do the modifications improve the factoring, design, or performance of the software?
    • Do the modifications change any of the fundamental assumptions that the original code made?
  • Dependencies
    • Make sure to understand the implications of new dependencies on third-party code, including their licenses.
  • Assets and Resources
    • Do all assets and resources exist in all the right formats and sizes?
    • Are they finalized and ready to go into production?
  • Configuration changes
    • Do you understand the effects of these changes and how they can be rolled back?

Adding a system like this to my own pull request reviews has helped me catch a lot more, but I’m sure there are still things I’m missing. If you have ideas about how this checklist can be improved, pull requests are welcome!

#advice #code #code review #programming #work

The Idea Guy

A few years ago I was tasked with helping to recruit interns for The New York Times iOS team1. I traveled around to top-tier engineering programs at universities all over the northeast talking about the Times’s engineering culture and to students about what they wanted to be when they grew up.

One of these interviews stuck with me. I asked a junior what he saw himself doing in five years, and I’ll never forget what he said.

“I want to be the idea guy at a startup”.

I wish I could have stopped the interview right then and there. I wanted to tell this guy that there is no Santa Claus, that the Easter Bunny isn’t the one hiding the eggs, and that no such role exists or ever will.

Ideas are everywhere. They’re a multiplier. They’re not a thing you make, and they have have no intrinsic value. We certainly don’t need a whole person for them at a company that’s just starting out.

Some nights I wonder where that guy is. I’m scared to look through my notes and check up on him, but I sincerely hope that he’s found some way to bring his ideas into the world — something to do or to make.

I wish we hadn’t separated those two concepts in English. ‘Faciō’, one of my favorite Latin verbs, encapsulates both concepts in a beautiful way. Anyway, back to doing. The ideas will come.

  1. By the way, they’re still hiring. If you want to work there, or at Tumblr for that matter, email me

#advice #startups #work

The Website Isn’t Your Problem

Inside The New York Times Building next week, it’s going to get harder to do your job. Clifford Levy, a Pulitzer prize winning journalist, and former coworker tweeted that the way to get this company thinking mobile first, is to block the website. Wait, what?

Just like Cliff and the others, I believe very strongly that if The Times is to survive, it needs to think about its apps and mobile website a hell of a lot more than www.nytimes.com, or “triple dub” as it’s known inside the company. But is blocking the site for its own employees really the right way to do that?

It feels like a punishment. Your dad is turning off the TV and making you eat your vegetables. This kind of paternalistic attitude is not what will spur the brilliant engineers and journalists at the Times to improve their pocket-sized offerings and consider the report from a mobile angle.

So what’s a better way to get a company as large and old as The New York Times to care more deeply about its report on phones, tablets, and watches? There’s no magic bullet, but in my years there I saw incredible ideas, people, and talent wasted on a website with declining traffic while the iOS app suffered a lack of attention from the newsroom. I saw initiative after initiative to make mobile more important flounder while many of the reporters still aimed to be on the front page of a gray piece of paper.

It may be that the way to make sure that employees of the Times care more about mobile is to point out when these failures happen, to be critical of the web first mindset, and to remind people every time they try to perfect a web layout, that they’re doing so for a rapidly declining number of readers. Along with that, the Grey Lady should be celebrating the teams and people who are getting this right, without putting people who still rely on the website in time out.

The newsroom brass at the Times are trying to solve a social problem with a technical solution and I can’t imagine anyone there that’s too happy about it. It feels robotic, oppressive, and downright annoying. Honest conversation and critique of the attitudes and norms of a century old organization will almost certainly be received better than playing with the valve of information flow inside the Times. I hope they reconsider.

#mobile #nytimes #website

Once More With Feeling

For years now this website has merely pointed people to my profiles on other websites and social media services. It wasn’t always that way. In the past, it housed my blog, a podcast I hosted, and even a photoblog at one point. Remember those?

It’s time to make this place my own again. A place to put the things I write and make. And more than that, a place to experiment.

Inspired by my heroes and my friends, I’ve decided to write under my name. And while I expect that what’s here will change a lot of over time, I’ll try not to break too many links along the way.

If you want to come along for the ride, subscribe in your feed reader, and if you want to know more about the person who’s writing this, there’s an about page.

#me #meta #website