Skip to content

Three Years in San Francisco

Mike Davidson wrote about his recent career move to Twitter in San Francisco. I could quote the whole thing, but you should probably just go read it.

Here’s one of my favorite bits about managing vs being an individual contributor:

One of my favorite rules at Twitter – at least within Engineering, Product, and Design – is that there is no such thing as a “promotion into management”. If you want to become a manager of people, it is always a lateral move. For example, if you are a senior designer and you decide you want to manage people instead of pixels, and leadership deems you ready for it, you can become a Design Manager. That move, however, does not “level you up” in the system, nor come with a pay increase, nor put you on any sort faster career track. You’ve simply moved from concentrating directly on product problems/opportunities to concentrating on people problems/opportunities. I believe some other companies have this rule as well, but it’s really fantastic for what it encourages: people should do the type of work that is most fulfilling to them and most valuable to the company. A fantastic I.C. (Individual Contributor) is just as valuable as a fantastic manager, and the system should reward and encourage both career branches equally.

The Slack Platform Roadmap

On the Slack API Blog:

We know that being a developer is hard, and building on a platform is not a decision to be made lightly. Many platforms have burned developers and we frequently see that risk highlighted. This is our response.

This kind of transparency from a platform provider is fantastic. Refreshing compared to a few recent events.

Being tired isn’t a badge of honor

Jason Fried:

Lately, I’ve been hearing something that disturbs me. A lot of entrepreneurs onstage have been bragging about not sleeping, telling their audiences about their 16-hour days, and making it sound like hustle-at-all-costs is the way ahead. Rest be damned, they say – there’s an endless amount of work to do.

I think this message is one of the most harmful in all of business. Sustained exhaustion is not a rite of passage. It’s a mark of stupidity.

Apple: A Message to Our Customers

Tim Cook:

Rather than asking for legislative action through Congress, the FBI is proposing an unprecedented use of the All Writs Act of 1789 to justify an expansion of its authority.

The government would have us remove security features and add new capabilities to the operating system, allowing a passcode to be input electronically. This would make it easier to unlock an iPhone by “brute force,” trying thousands or millions of combinations with the speed of a modern computer.

The implications of the government’s demands are chilling. If the government can use the All Writs Act to make it easier to unlock your iPhone, it would have the power to reach into anyone’s device to capture their data. The government could extend this breach of privacy and demand that Apple build surveillance software to intercept your messages, access your health records or financial data, track your location, or even access your phone’s microphone or camera without your knowledge.

Opposing this order is not something we take lightly. We feel we must speak up in the face of what we see as an overreach by the U.S. government.

The Rails Doctrine

Along with a much-needed re-branding of Rails, David Heinemeier Hansson published a very thorough doctrine covering the major tenets of the framework.

I love Rails and have used it almost exclusively for the past 8 years, so there is a lot I agree with here. There’s also a few things I strongly disagree with, but that’s ok. A framework doesn’t have to be everything to everyone. But, if you’re going to use a framework, you should understand why it exists.

One of my favorite points is the ability for everyone to disagree and yet still move the framework forward:

We need disagreement. We need dialects. We need diversity of thought and people. It’s in this melting pot of ideas we’ll get the best commons for all to share. Lots of people chipping in their two cents, in code or considered argument.

So while this doctrine has described an idealized form, the everyday reality is much more nuanced (and interesting). Rails is capable of supporting such a large community under one tent exactly because there are so few if any litmus tests.

The continued success of RSpec, a DSL for testing I’ve often expressed grave discontent with, is perfect proof. I can rant until I’m blue in the face of why I don’t think it’s the way to go, and it can still blossom and prosper. That point is the far more important one!

What 45.7 Million NFL TV Viewers Don’t See

Emily Kaplan in the MMQB:

After 14 years together, Buck and Aikman communicate almost entirely non-verbally. Between plays, Aikman scrolls back to plays on his monitor, sometimes zoning out of Buck’s play-by-play, or listening to Zyontz, the producer, in his ear.

Before Buck tees up Aikman, he’ll often tug at his arm to make sure he’s ready.
When Aikman speaks, he has a tendency to shift the weight from his left foot to his right foot. He clears his throat nearly a dozen times a quarter, each time pressing a “cough” button that mutes his microphone.

Buck rarely stands still, leaning against the table in front of him, nursing a cup of tea and grabbing for more Halls.

During timeouts, both men often grab their phones and text their daughters (they each have two) about schoolwork and what time they’ll land back home. “It’s incredible to me,” says Mike Pereira, the former NFL VP of Officiating and FOX rules expert, who joins them in the booth through the playoffs. “The ease in which they operate, their calmness. I would be freaking out.”

It’s incredible how much work goes into each NFL broadcast, and they make it look easy on TV.

When to charge by the hour

Seth Godin:

Most professionals ought to charge by the project, because it’s a project the customer wants, not an hour.

Surgery, for example. I don’t want it to last a long time, I just want it to work. Same with a logo or website design.

Charging by the hour protects the professional. Charging by the project sets expectations up front and is a much better way to align both parties.

NYTimes: End the Gun Epidemic in America

In this morning’s paper, The New York Times is running an editorial on its front page for the first time since 1920.

Certain kinds of weapons, like the slightly modified combat rifles used in California, and certain kinds of ammunition, must be outlawed for civilian ownership. It is possible to define those guns in a clear and effective way and, yes, it would require Americans who own those kinds of weapons to give them up for the good of their fellow citizens.

What better time than during a presidential election to show, at long last, that our nation has retained its sense of decency?

Swift: Open Source

Today Apple kept its promise to open source Swift:

Swift is now open source!

We are excited by this new chapter in the story of Swift. After Apple unveiled the Swift programming language, it quickly became one of the fastest growing languages in history. Swift makes it easy to write software that is incredibly fast and safe by design. Now that Swift is open source, you can help make the best general purpose programming language available everywhere.

It includes an in-progress complete rewrite of Foundation in Swift. Incredible.

50 Years of ‘Rubber Soul’

‘Rubber Soul’ was released 50 years ago today.

Happy 50th birthday to Rubber Soul, the album where the Beatles became the Beatles. It was the most out-there music they’d ever made, but also their warmest, friendliest and most emotionally direct. As soon as it dropped in December, 1965, Rubber Soul cut the story of pop music in half — we’re all living in the future this album invented. Now as then, every pop artist wants to make a Rubber Soul of their own. “Finally we took over the studio,” John Lennon told Rolling Stone’s Jann S. Wenner in 1970. “In the early days, we had to take what we were given, we didn’t know how you could get more bass. We were learning the technique on Rubber Soul. We were more precise about making the album, that’s all, and we took over the cover and everything.”

One of my all-time favorites.

Calypso

Matt Mullenweg with some exciting news about the future of WordPress.com:

So we asked ourselves a big question. What would we build if we were starting from scratch today, knowing all we’ve learned over the past 13 years of building WordPress? At the beginning of last year, we decided to start experimenting and see.

Today we’re announcing something brand new, a new approach to WordPress, and open sourcing the code behind it. The project, codenamed Calypso, is the culmination of more than 20 months of work by dozens of the most talented engineers and designers I’ve had the pleasure of working with (127 contributors with over 26,000 commits!).

The new wordpress.com is based on Node, React, and other cool open source toys. Looking forward to seeing how this progresses.

Rdio

Sad news this week from Rdio:

Pandora (NYSE: P), the world’s most powerful music discovery platform, today announced an agreement to acquire several key assets from Rdio, a pioneer in streaming music technology. This will accelerate the company’s plan to offer fans greater control over the music they love, strengthening Pandora’s position as the definitive source of music.

Rdio has been my go-to music streaming service for over 4 years now. It’ll be weird not to have it as a part of my daily life. Sad news, yes, but it wasn’t entirely a surprise. The service and once beautiful user-interface have been obviously neglected over the past year and it has struggled to evolve compared to Spotify and Apple Music.

Rdio, you’ll be missed.

Don’t base your business on a paid app

DHH on Signal v. Noise:

What’s good for platform makers is often not good for those who build upon it. That’s where the whole picking up pennies in front of a steamroller comes from. Yes, a few may be quick enough to pickup enough pennies to fill a jar, but for most, it’s not a wise trade of risk vs reward.

Forget the paid app.

There are a few examples of companies breaking the mold and creating great app-based businesses on mobile, but unfortunately they are the exception, not the rule.

Instagram: Lessons learned with 3D Touch

Ryan Nystrom on the Instagram Engineering Blog:

We had the opportunity to integrate this new technology into Instagram early on and were excited by how natural the shortcuts and peeking on photos and videos felt. The API for adding 3D interactions was seamless to use, and along the way we collected pointers for how to add them to your apps.

Cool writeup. This is one of my favorite new hardware features.

Kickstarter Focuses Its Mission on Altruism Over Profit

Mike Isaac and David Gelles in the New York Times:

Many technology start-ups aim to become “unicorns,” the companies that get valued at $1 billion or more on their way to probable vast riches. Yancey Strickler and Perry Chen have no interest in that.

As co-founders of Kickstarter, the popular online crowdfunding website that lets people raise money to help fund all manner of projects, including cooking gadgets and movies, Mr. Strickler and Mr. Chen could have tried to take their company public or sell it, earning millions of dollars for themselves and other shareholders.

Instead, they announced on Sunday that Kickstarter was reincorporating as a “public benefit corporation,” a legal change they said would ensure that money — or the promise of it — would not corrupt their company’s mission of enabling creative projects to be funded.

“We don’t ever want to sell or go public,” said Mr. Strickler, Kickstarter’s chief executive. “That would push the company to make choices that we don’t think are in the best interest of the company.”

Here Is Postlight

Paul Ford, on his new company:

Over the last few months I’ve learned a lot about what it means to be a partner in a business. In practice, partnership means that we talk. Rich and I talk to the Postlight team, in small meetings and all-hands meetings, and over drinks or coffee. We talk to lawyers. We talk, over breakfast, about signage, recruiting, bookkeeping, taxation, legal fees, cashflow, and lead generation.

We ask ourselves, “What are the most important things we can do as an agency, as a company that ships big things?” We think the most important thing we can do is: Build a self-sufficient team and do absolutely everything we can to keep it together. Which sounds incredibly obvious in theory but is not obvious in practice. So we talk even more: About loyalty, and how to build loyalty, how to create trust, and how trust can help you ship good software fast. There’s a lot that is new. It takes time. We’ll get there.

Sounds like a familiar story.

The Right Way to Ship Software

Jocelyn Goldfein on First Round Review:

In a profession where we carry out decade-spanning holy wars over tab widths and capitalization, it’s no surprise that people get attached to their development and release habits. But if shipping so much software has taught me one thing, it’s to be an agnostic. Different methodologies optimize for different goals, and all of them have downsides. If you maximize for schedule predictability, you’ll lose on engineer productivity (as this turns out to be a classic time/space tradeoff). Even when you aren’t dealing with textbook tradeoffs, all investments of effort trade against something else you could be spending the time on, whether it’s building an automated test suite or triaging bugs.

Goldfein’s perspective is refreshingly honest. Most successful engineers will tell you they’ve found the ‘one true way’ to ship great work. But in reality, it seems that there are many different ways to attack these problems depending on your situation.

To determine “the right way to develop software,” you’ve got to understand what matters for your product and how to optimize for that. This isn’t based on personal preference. Ultimately it stems from your company’s mission, and the way you make money is a reasonable proxy for that.

Such a great look at how to approach shipping software.

Peace

Marco Arment, on Wednesday:

Today, I’m launching my own iOS 9 content blocker, called Peace, to bring peace, quiet, privacy, and — as a nice side benefit — ludicrous speed to iOS web browsing.

There are a lot of content blockers being released today, but Peace strikes the best balance I’ve seen between effectiveness, compatibility, simplicity, and speed, powered by what I’ve found to be the best database in the business after months of testing.

Marco Arment, on Friday:

I’ve pulled Peace from the App Store. I’m sorry to all of my fans and customers who bought this on my name, expecting it to be supported for longer than two days. It’ll keep working for a long time if you already have it, but with no updates.

As I write this, Peace has been the number one paid app in the U.S. App Store for about 36 hours. It’s a massive achievement that should be the highlight of my professional career. If Overcast even broke the top 100, I’d be over the moon.

Achieving this much success with Peace just doesn’t feel good, which I didn’t anticipate, but probably should have. Ad blockers come with an important asterisk: while they do benefit a ton of people in major ways, they also hurt some, including many who don’t deserve the hit.

The App business is really hard. It’s easy for people on the outside to judge Marco for his decision, and criticize the week he’s just had. Good on him for sticking to his morals and doing what he feels is right.

For what it’s worth, the app is great and I’ll be keeping it installed.

Forget about the mobile internet

Benedict Evans:

Mobile is not a subset of the internet anymore, that you use only if you’re waiting for a coffee or don’t have a PC in front of you – it’s becoming the main way that people use the internet. It’s not mobile that’s limited to a certain set of locations and use cases – it’s the PC, that can only do the web (and yes, legacy desktop apps, if you care, and consumers don’t) and only be used sitting down. It’s time to invert that mental model – there is not the ‘mobile internet’ and the internet. Rather, if anything, it’s the internet and the ‘desktop internet’

Steve Smith Sr.’s Last Lecture

Steve Smith on retiring from the NFL after this season (emphasis mine):

My name is Steve Smith Sr., and you might know me as an undersized wide receiver who played 14 NFL seasons. You’ve seen a lot of me on TV, some of it unflattering. And as I step away from the fame and the media and a life captured on SportsCenter, there are a few things I’d like you to know about who I really am.

I’ll start with this: I’ve always been a big reader. I encourage young players to find something that moves their needle in the same way football does. Find something that can challenge you and make you think. Our game is so consuming and you can fall into the trap of being a one-dimensional human being. Don’t let that be you.

[…] In 2008, I began reading The Last Lecture, the best-seller by Randy Pausch, a professor who was diagnosed with pancreatic cancer and told he had only months to live. Pausch’s last lecture is about achieving your childhood fantasy. He asks if you are spending time on the right things, because time is all you have. He talks about overcoming obstacles, seizing every moment and doing everything you can to live life to the fullest. The book speaks to everyone, but really, it is the lessons he wanted to impart on his children.

Focus on what matters.

The Ingredients For Greatness, By Jerome Bettis

This past weekend, Jerome Bettis was inducted into the Pro Football Hall of Fame. Normally, I wouldn’t associate with anything Steelers-related, but his acceptance speech was particularly good. Semil Shah of Haystack also enjoyed it, and took the time to transcript the last bit:

Greatness is not a sports term — it’s a life term. I believe there are four things that get you to greatness. One, you gotta have the ability to sacrifice. A lot of times that means sacrificing the relationships that mean the most to you. The second thing is pain. You’re gonna have to go through some type of pain in your life — either physical or mental — and you’ve got to find a way to endure. The third one is failure. You’ve got to have the ability to understand that you’re going to fail, but it’s how you recover that makes you a better person. And the last, the fourth one, is love, because if you love it, then, it’s not a job — it’s a passion. And if you love it, you’re willing to sacrifice for it, you’re willing to go through all types of pain for it, and you are willing to go through that failure and understand that ‘I will be successful.’ If you go through those four things and understand [them], … then success is in your path. Greatness is available to you.

What Steve Jobs Taught Me About Being a Son and a Father

Nick Bilton in yesterday’s New York Times:

Mr. Jobs said he wanted freshly squeezed orange juice.

After a few minutes, the waitress returned with a large glass of juice. Mr. Jobs took a tiny sip and told her tersely that the drink was not freshly squeezed. He sent the beverage back, demanding another.

A few minutes later, the waitress returned with another large glass of juice, this time freshly squeezed. When he took a sip he told her in an aggressive tone that the drink had pulp along the top. He sent that one back, too.

My friend said he looked at Mr. Jobs and asked, “Steve, why are you being such a jerk?”

Mr. Jobs replied that if the woman had chosen waitressing as her vocation, “then she should be the best.”

Cool story, read the whole thing to see why.

App Camp For Girls 3.0

App Camp For Girls is on a mission: we encourage girls to pursue app development as a career by teaching them how to make iPhone apps in a fun, creative summer camp program under the mentorship of women developers. We are shifting the gender balance in our industry. App Camp 3.0 is the next stage in bringing the program to more girls in more locations!

There’s a few days left in this wonderful campaign. I’ve supported them, and I hope you do too.

Great Leaders Replace

When someone is in a leadership position for the first time, their tendency is to feel responsible for everything. They define leadership as the ability to make all decisions and be the focal point of their team’s output. On the surface this is a noble effort, but the rookie leader doesn’t yet see the full picture.

Leadership is not just about one person doing everything. Leadership is about lifting the team up. It’s about making the collective better than the individuals. And it’s about leaving the team better than it was before. Great leaders don’t try and do everything forever, great leaders replace themselves.

To illustrate the point here’s a common story I’ve seen many times:

Meet Rachel1. She was recently promoted to be the head of her company’s engineering product team. The team is small with only about 6 full-time engineers but they do fantastic work. Before her promotion, Rachel was on a small product team as an engineer herself. Many on her team agree that she is the best engineer in the company. She has great leadership skills and she can speak to customers, management, and the technical team with confidence. She was a natural fit to fill the recently vacated team lead role.

Rachel’s first few weeks as the team lead were a breeze. She was still able to write a lot of code and help the team get better. Her team respected her and they came to her with their code puzzles, bugs, challenges, and ideas. She loved being able to help on each of the team’s projects and everyone’s work became better because Rachel was leading the team. Quality increased, speed increased, and the customers were happy with a steady stream of new features.

As the months in her new position went by, this cycle continues. Rachel is the focal point of the team. She immerses herself in every project and every decision. She loves it. She finally has the ability to speak into all aspects of her team and the team respects and craves her decisions. Everyone comes to Rachel for every crucial decision. She reviews all code before it is released. She white-boards architecture before every project kick-off. She handles indecision between the other engineers by making quick moves about which new cool framework to use. Rachel’s presence at the helm of her team is undeniable. She is so relied upon by her team that she often hears “I don’t know what we’d do without you.” This is extremely satisfying to Rachel, as she remembers back to a time not so long ago where she wasn’t even leading a team yet.

The company’s executive team catches wind of how awesome Rachel is. They already know her as a great engineer but now she can lead a team of her peers with ease. This is perfect because the company has a big new initiative coming up: a new product offering that they want to take to market next year. Rachel is again the natural choice to lead the new team and make it just as awesome as her current team. The decision is made, and Rachel is given a few weeks to transition to the new product team.

But wait. How can Rachel leave her current team? They rely on her for everything. Every line of code goes through her. She makes every major architecture decision. Every framework dispute is solved by her. Her team is full of smart engineers, but none of them have had to think about bigger decisions since Rachel took over the team. They have loved being able to just focus on their code and leave the high-level decisions entirely to Rachel. She is the focal point of the team and without her the team wouldn’t be able to function. At best the team would have setbacks as someone else was brought up to speed.


I’ve seen this scenario several times over the past few years. What’s the problem? Why would a team leader not want to make themselves the key focus and have everything go through them? Not only is that satisfying for them it allows the team to focus on doing great work rather than making every decision. There’s two pieces wrong with this thinking. First, no one on the team feels the desire to step up because there is no reason for them to. And second, the leader can’t move on to do anything else without damaging the team. A great leader is always working on finding and training their replacement. Their #2.

If you’re leading a team, stop and think: Who is my #2? Who am I training to replace me? Who am I lifting up so they can take my position when I move on to do something else? Am I actively working with my team to take more responsibility, or am I shielding them from it? These questions terrify many leaders. The insecure ones fear for their jobs. They fear being replaced and they fear someone else under them being good enough to take their jobs. If you’re happy being in the same position for your entire career, then don’t bother with your replacement. But if you’re ambitious and want to do bigger things then part of your job is finding a responsible way to leave your team in great hands.


Let’s finish Rachel’s story: She’s not able to take the new position to build the company’s new product right away. But she’s smart. She knows that another opportunity will come up, and the company will come asking again. So this time she puts her head down and gets to work preparing for that day. She identifies a great young talented developer, Jim, on her team that has been chatting in their one-on-ones about one day leading his own team. Perfect. Rachel’s potential #2 has been identified in Jim. She pours into him. She not only makes decisions and ensures quality of work for her team but she brings Jim into those decisions. She thinks out loud and allows Jim to ask questions about her thought process at every turn. It doesn’t happen overnight, but soon Rachel defers most of these decisions to the team, including Jim. The team recognizes this and also rallies behind Jim. Rachel is now better equipped to lead her team because she’s not running point on every day-to-day decision. She’s also set the team up for success regardless of her involvement.

As Rachel suspected, the next big opportunity in the company comes within another few months. The executive team once again turns to her and this time she’s ready. She recommends Jim to take over her team. After a period of transition, Rachel is now in charge of one of the company’s biggest initiatives to date. Her old team is still running at a high pace and hasn’t skipped a beat because its leadership is already in place. By the time the announcement of Jim’s new position comes, the title is just a formality because everyone knows he’s already been doing the job. And, he’s learned from Rachel well. He immediately starts working on finding his #2.

Bad leaders are afraid of being replaced. They fear the young upstart on their team that is slowly taking more and more responsibility. They work themselves into every situation, every meeting, and make themselves irreplaceable. Great leaders quickly identify their replacements2 and train them to ensure the team’s long-term success. Great leaders want to tackle new challenges. They want to be replaced so they can move on to something even better.


  1. I’ve never worked with anyone named Rachel. This is a fictional example to protect the innocent. ↩︎

  2. Leaders replacing themselves often should not be confused with ladder-climbing. Nobody likes the person that is always ditching his team to do the next important thing and climbing the ladder quickly. Don’t be that person. ↩︎