A book of my cartoons will be out in late April.
I’m pleased to announce Cosmo, a brand new Bootstrap theme inspired by Metro. Cosmo features bright colors and no-frill components reminiscent of Windows 8.
You can jump right in and use it exactly like you would use standard Bootstrap. To really get the Metro look though, try using Font Awesome, sizing up your glyphicons, and combining them with the new .btn-block class.



This is Robert Horry.
![]()
Robert Horry enjoyed a workmanlike if not spectacular 17-year career in the NBA, averaging 7.0 points, 4.8 rebounds, and 2.1 assists per game.
During the off-season, he found the time to star in various Hollywood blockbusters such as Independence Day, Men in Black, and The Pursuit of Happyness.
Er, wait.
Even in the apex of career in 1995-1996, Horry only had marginally better stats than his career average. And yet I bring him up because he is probably the best modern example of the quintessential “role player” on a sports team. Championship teams are often built not just on the strength of their star players but the rest of their roster as well. Their “other guys” are better than everyone else’s “other guys.” Rob Horry was never an All-Star in the NBA, but he did help three different teams win a total of 7 NBA championships. He didn’t win those championships by himself, but his teams probably wouldn’t have won those championships without him, either.
I think about Rob Horry every time I hear typical phrases like “A players” or “ninjas” or “rock stars.” Whether it’s a sports franchise or a business organization, it’s tough to build a good team without some real talented people leading the way. And yet on several software teams I’ve worked on, I’ve been on several interview loops where we passed on the candidates because he wasn’t an “A player.” He never contributed to an open source project. His Github profile is sparse. He’s not a “full stack generalist.” We straddle our high horses and reject the candidate, smugly content that we’ve prevented our caste from being polluted by an unclean B player.
Yet there are some possible problems when you only try and hire A players. Many sports teams have been built around a few key All-Stars with an extremely weak supporting cast, and the result is almost always a disappointing season. The All-Stars never get a breather and then get injured. On a software team, A players can be several times more productive than a B player, but a B player can still be very productive when led by an A player. When you have the right technology team in place and your only constraint is sheer bandwidth, why wouldn’t you hire the exact kind of guy who can help give you exactly that? And let’s not kid ourselves here – unless you’re working at one of the few top-tier technology organizations in the world, are your software problems really that complex that only rock stars and ninjas need apply?
But there’s an even more insidious problem than bandwidth when you insist on only hiring A players, and that’s chemistry. Put five A players in a room and you’ll end up with five opinions on how to solve a given problem. Nobody wants a single dictator calling every the shots for every single architectural technical decision, but there’s only so much value debating whether updates for the REST API should be done via PUT or PATCH.
There’s a common saying that “B players hire C players,” and that can be true. I’m not advocating that software teams go out and hire only B players. A team of five Robert Horry’s would probably turn out exactly as mediocre as you’d expect. If you’re a startup, your early employees will ultimately be the future leaders of the company, so it doesn’t make any sense to hire Robert Horry when you still need Michael Jordans.
Likewise, part of what made Robert Horry such an effective role player was that he recognized his skill set and limitations. Even at his physical peak, he never demanded the ball and took 20 shots a game. He always deferred to guys like Hakeem Olajuwon, Kobe Bryant, and Tim Duncan. These are the B players I’m talking about. The scenario where “B players hire C players” happens when B players want to feel like A players and thus surround themselves with inferior talent, and obviously those are the B players you don’t want to hire.
The key is building a team within the context of the strengths and talents already on your team, and I think this applies to a software team just as easily as sports teams. It should be okay to say, “you know, this guy won’t magically solve all our problems, but he’ll come in, work hard, he’ll be really helpful if we put him on internal tools so can switch Joe to the optimization engine, and he’ll be thrilled to be part of this team.”
So the next time you’re interviewing a candidate who doesn’t seem to have the “A player” traits you’re looking for, ask yourself this: do you need another Michael Jordan? Because Robert Horry ended up winning more championships.
![]()
I’ve noticed an interesting phenomenon among productive people: they often overlook their own productivity. The more productive you are, the more likely you are to get down on yourself and think at the end of the day, “I wasn’t very productive today.”
Because ambitious people measure themselves by their progress towards achieving audacious goals, they often can’t appreciate a single day’s worth of tiny, incremental advancements that they’ve made. Plus, the fuller your day is with activity, the harder it seems to pinpoint what exactly it is that you did at all.

Between starting Netscape, Opsware, Ning, and Andreessen Horowitz, Marc Andreessen has done monumental work in his career and seems particularly at risk to fall into this trap. To arm himself against the daunting imperative of making meaningful progress toward his big objectives, Marc came up with a system: the Anti-Todo List. It’s his way to stop and recognize his own accomplishments, measured not by a project’s impressive success, but in increments, to fuel his motivation for getting stuff done day after day.
What you do is this: every time you do something — anything — useful during the day, write it down in your Anti-Todo List on the card.
Each time you do something, you get to write it down and you get that little rush of endorphins that the mouse gets every time he presses the button in his cage and gets a food pellet.
And then at the end of the day, … take a look at today’s card and its Anti-Todo list and marvel at all the things you actually got done that day.
Note that he’s advocating for more than crossing items off your to-do list. His Anti-Todo List gives him credit for everything he gets done, not just what’s preordained by his to-do list. And keeping a separate list means that when you take stock of what you’ve achieved, you aren’t hounded by what’s still left to do.
There’s value gained from the act of slowing down to write down accomplishments, which is inaccessible without acknowledgment. It turns out that “being able to put more notches on my accomplishment belt, so to speak, by writing down things on my Anti-Todo list as I accomplish them throughout the day makes me feel marvelously productive and efficient[,] [f]ar more so than if I just did those things and didn’t write them down.”
Rather than waiting for a major milestone to celebrate an achievement, recognize that tiny, wonderful triumphs happen every single day. Turn that into a daily process of rejuvenation and inspiration after a hard-day’s work, and you’ll have added a crucial ingredient to your day that maintains the positive emotional balance necessary to accomplishing great things.
Chris Savage, CEO of Wistia, wrote about how magnifying your field of vision when it comes to your perspective on progress is key to generating the momentum and joy to accomplish big things. He expressed this lesson concisely in two graphs:

versus this:

There’s a hard road to travel to get to big-time achievements and reaching heady dreams, whether it’s making your first million, mastering the piano, or running a marathon, and if you’re too exhausted every day to take stock of your successes, you’ll lose heart. Take a note from Marc Andreessen:
[Y]ou know those days when you’re running around all day and doing stuff and talking to people and making calls and responding to emails and filling out paperwork and you get home and you’re completely exhausted and you say to yourself, “What the hell did I actually get done today?”
Your Anti-Todo list has the answer.
us·er
/ˈyo͞ozər/Noun
1. A person who uses or operates something, esp. a computer or other machine.
2. A person who takes illegal drugs; a drug user.Synonyms
consumer
During a Square Board meeting, our newest Director Howard Schultz, pulled me aside and asked a simple question.
“Why do you all call your customers ‘users’?”
“I don’t know. We’ve always called them that.”
It wasn’t something I’ve thought about for some time. The term “user” made its appearance in computing at the dawn of shared terminals (multiple people sharing time slices of one computing resource). It was solidified in hacker culture as a person who wasn’t technical or creative, someone who just used resources and wasn’t able to make or produce anything (often called a “luser”). And finally, it was made concrete by Internet companies whose business models depended on two discrete classes of usage, a paying customer (often purchasing ads) and a non-paying consumer (subsidized by viewing the ads). Along the way only a few criticized the term, calling it abstract at best, and derogatory at worst.
It’s time for our industry and discipline to reconsider the word “user.” We speak about “user-centric design”, “user benefit”, “user experience”, “active users”, and even “usernames.” While the intent is to consider people first, the result is a massive abstraction away from real problems people feel on a daily basis. An abstraction away from simply building something you would love to see in the world, and the hope that others desire the same.
At Square we’re removing the term “users” from our vocabulary, replacing it with “customers”, and the more specific “buyers”, and “sellers.” The word customer, given its history, immediately sets a high bar on the level of service we must provide, or risk losing their attention or business. Below is a letter I sent the team after that Board meeting explaining why. It’s a start (we’re not done yet).
To everyone in the technology industry: I encourage you to reconsider the word “user” and what you call the people who love what you’ve created, starting with yourselves.
Team,
I was reminded of something today which has always bothered me, which I have since taken for granted.
The entire technology industry uses the word “user” to describe its customers. While it might be convenient, “users” is a rather passive and abstract word. No one wants to be thought of as a “user” (or “consumer” for that matter). I certainly don’t. And I wouldn’t consider my mom a “user” either, she’s my mom. The word “user” abstracts the actual individual. This may seem like a small and insignificant detail that doesn’t matter, but the vernacular and words we use here at Square set a very strong and subtle tone for everything we do. So let’s now part ways with our industry and rethink this.
The word “customer” is a much more active and bolder word. It’s honest and direct. It immediately suggests a relationship we must deliver on. And our customers think of their customers in the same way.
We have two types of customers: sellers and buyers. So when we need to be more specific, we’ll use one of those two words.
The other thing that has surfaced in a number of my 1:1s is that we have become a bit abstract and distanced from our customers. Simply: we don’t talk about them enough. So, we’re going to do two things.
First, I’m going to work with the support team to surface top issues at every Town Square instead of just CS inquiries per transaction percentages. And on our information radiators. We must feel our customer’s issues every day.
Second, all of our work is in service of our customers. Period. Therefore, we better damn well mention them in every conversation, review, meeting, goal, etc. I expect all of you to make certain our customers are always the first and only focus of all our efforts. If there is an egregious absence of this focus anywhere in the company, tell me and we will correct. If I ever say the word “user” again, immediately charge me $140.
From this moment forward, let’s stop distancing ourselves from the people that choose our products over our competitors. We don’t have users, we have customers we earn. They deserve our utmost respect, focus, and service. Because that’s who we are.
Jack
| — | 8 tips on writing from Neil Gaiman |