Tuesday, October 15, 2013

Nothing to Hide: Living with Complete Email Transparency - Patrick Collison - Stripe

Had unconventional ideas: no office, pay everyone the same, not having a phone number, not having a receptionist

Later realized an office is needed if you have a few employees. Also that compensation has to vary.

Believer in ambient transparency, where you can overhear things in the office and join in if it is important to you.

At first it was just a couple brothers and they shared an email address so they'd be on the same page. With a third employee they configured gmail so all 3 could log into each other's inboxes. Later they configured the server to automatically BCC everyone on every outgoing message. This scaled to around 6 people, but of course they needed a new solution to scale further. For each functional area there was an email address. So for instance there was "ops" and "finance" which you could CC on any email if it was relevant. A new employee configures which of many accounts they will subscribe to (there's a script for it). It gives an ambient feel of what's going on in the organization. This means they aren't surprised by things that are happening. Employees are able to discover a lot just by searching through the stream. Also people get to learn about things outside their area, like for instance "legal" is a popular list for many who have nothing to do with it. A benefit is that this system seems to reduce politics. Some of politics is controlling the flow of information, but no one can do that. Some issues are that people get confused by things or a little surprised, but they seem to get used to that. Also it can be used as a crutch for implicit agreement by merely CCing and not getting authorization. People can loose too much time in email if they don't have good time management.

Overall there is a hive mind mentality where everyone can be involved. Other tools that can help for this are HackPad. It allows for transparency. By having this overall transparency meetings can be more efficient. Especially it calms fears about the board meeting. At Stripe a random employee is always invited to the board meeting to take notes and pass them out to everyone.


Lessons learned

 
1. get an office
2. it is net better to not have project manager. better to have engineers to manage. there is a faster iteration cycle when this happens. you get twice the amount of iterations
3. self discipline matters most in hiring people
4. hiring individual contributors who can be highly useful (have people do real life activities like find bugs or refactor code instead of text book problems)
5. a change of environment can have an amazing impact. hack trips to foreign countries are extremely impactful
6. happy culture is built from hiring happy people
7. don't underestimate how much people will want to learn about other areas of the company. bring them to important meetings, be transparent
8. have as much discussion about your code as possible - ways of doing things - idioms
9. have a build and run distinction in your team. every week have 25% of the team handle run while the other 75% handle build
10. make sure that group chat happens in your company. its a communication tool and a culture tool
11. have a shipped@ email address for people to send to when you have shipped something. it feels good to send to that email address and allows people to see what has happened. do pay attention though to the results of shipping (it's not a good thing to ship a bad product)
12. have a social@ email address to allow people to easily set up group outings (like, I'm going out for a drink, who wants to come along)
13. at around 25 people have a company chef it actually makes financial since versus eating out and people love it
14. visit your users on a frequent basis and get the rest of the company to do it too
15. offices are often not good for working late into the evening. the lights are often too florescent for evening hours. get ikea floor lamps to give a warmer feel at night. it helps people do their best late at night. (this lesson has been proven each time Stripe moves into a new office as they immediately see few people staying late until they correct the lighting)
16. tell everyone why you've fired someone. it helps reassure others about what happened and why.
17. thank people profusely if they give a criticism about the company (it's hard to speak up, so reward it)
18. constantly find ways to praise those who do the undervalued work.
19. preserve values more than culture.
20. don't talk about someone who's not present and incourage others to do the same

get involved: hack pad at bit.do/cultivate - https://hackpad.com/Culture-Hacks-8WwaHfFfZfl

Things that would be helpful - group chat lines (searchable logs, all OS, inline images) they use IRC - screen sharing collaboration for code (both terminal and screen)

No comments: