suztomoの日記

To be a good software engineer

Trillion Dollar Coach

TwitterのMiyazakiさんとひとでくんの読書録より

blog.sushi.money

シリコンバレーで噂のWilliam (Bill) Campbellは元々フットボールのキャプテンやコーチとして活躍した後ビジネス界でも人を成長させる力でAppleIntuitでリーダーシップを発揮した。2000年にIntuitのCEOを辞めた後はコーチ業をVC内でやったり、Appleのdirectorをやったりしてた。仕事と離れても様々な人を助けてた。Billは2016年に亡くなった。

Billが何をコーチしたか。どうやってコーチしたかを記した本。NYPLで借りた。

メンターは言葉や態度で人を感化させる。コーチは自分も頑張る。Billは他の人の子どもがどこの学校に行っているのかまで人に興味を持つ。

Chapter 2 Your Title Makes You a Manager. Your People Make You a Leader

マネージャーは必要か?学びがある人なら欲しい、と。Googleはdisorgを一年やってた。結果を出すためのチーム文化を作る。方向が間違ってたら治す。Team members feel they are valued. Listen. Pay attention.

意見が一致しない場合はどうするか?まず2人で1週間話し合ってもらう。それでだいたい決まる。決まらなければ判断材料を全部出して、1番詳しい人が決める。多数決は悪い。しっかりした意思決定プロセスを持つことは(結果的に)正しい選択肢を選ぶことよりも大切だ。

働きづらいけど優秀な人は?働きやすくなるようフィードバックをする。ダメならチームから去ってもらう。パワハラや嘘は分かりやすいライン。そのラインを越えない場合は、その人のことで多くの時間が吸い取られるかで判断する。

Bill liked generosity. お金はただのお金以上に貢献への感謝の意がある。だから何億円も稼ぐプレイヤーがその上を目指す。

Chapter 3 Build an Envelope of Trust

Bullshitters. 他人にも自分にも正直でないといけない。でないとコーチングできない。

聞く。良い質問をして学ぶ。

嘘をつかない。聞きづらい意見でも言う。ひどい出来だったと言われても、なぜかBillに言われると元気がでるそう。Disagreeable giver.

Billは何をすればいいかを言わない。自分の経験したストーリーを伝え、その理解は相手に任せる。

Encouragement, but realistic. 年齢は関係ない。サッカーが得意な子に1部に行くか、3部でスターになって勉強も頑張るか、と聞く。

Chapter 4 Team First

問題よりもそれを解く人達に焦点を当てる。

自分のエゴよりもチームの成功。他人の成功を祝える人。

Product managersだけじゃなくTech leaders (doers)を含めて議論する。

  • Ability to learn fast
  • Willingness to work hard. Grit
  • Integrity
  • Empathy

上司の部下の関係だけでなく、Peer relationshipが大切。ペアを作って作業するとチーム全体が強くなる。

会議の時に後ろに行きがちな人(特にマイノリティ)は遠慮せず中心のテーブルに座る。

Elephant in the roomの象を解決する。悪い問題はチームの雰囲気に影響するが、常にポジティブに取り組む。

Marissa was frustrated in a Google Associate Product Manager meeting. Bill told Marissa was wrong person to help them because she knew how things done in Google. She cannot relate to the problems they're facing. So set up a forum for them.

観察する。話者だけでなく聞いてる人も。ボールを持ってない人も。そしてコメントする。

Chapter 5 The Power of Love

Billは言葉遣いは汚いが愛を感じさせる行動をとり、周囲の人もかんじられる。

選手が怪我をしてしまった時は両親に電話して奨学金が継続して貰えると説明した。

コミュニティを作る。毎年のスーパーボウル観戦旅行とか。

人を助ける。正しいことをしようとしてるのに手続きや政治で阻まれてる人に便宜を図って助けてあげる。

創業者はビジョンと情熱を持っているので会社に居続けてもらう。役割はCEOでないかもしれないが。

同僚と廊下ですれ違うときも最近どう?から始められる。AdobeのCEOも最初はぎこちなかったけど慣れてきたと。

Chapter 6 The Yardstick

The path to success in a fast-moving, highly competitive, technology-driven business world is to form high-performing teams and give them the resources and freedom to do great things.

Billは自身の貢献をどう測っていたか。それは自信が影響を与えた人がどれだけ素晴らしいリーダーになったかをみていた。

A Case Study Handbook

The Case Study Handbook, Revised Edition: A Student's Guide, by William Ellet. Smartly EMBAの課題の参考図書より。

Harvard Business SchoolやGeorge Washington Universityでケーススタディ(ケースとも呼ぶ)を学生に教えてる著者がケーススタディの取り組み方を教える本。

Analysisは自分で読むときのこと。Discussionは他人と話すときのこと。Argumentは自分の意見をレポートに書くこと。

Analysis

ケースの種類。主人公の意思決定には3種類ある。

  • 選択肢から1つを選ぶ場合
  • 選択肢評価する場合(forecast of profits for multiple scenarios)
  • 問題の原因を探る場合(eroding competitive advantage)

読み方

最初を読む。最後を読む。主人公の意思決定を知る。意思決定のために必要なことは何か。コスト、手続き、イノベーション

"General Motors: Packard Electronic Division"の例を読むと「Action Plan」にはテンプレートにがあるのではと思った。

Short term - Task force from representative team to monitor the implementation - Customers/stakeholders must be informed throughout the steps - Team A should assist team B on the issue. The protagonist should set an example by putting himself on cross-functional team.

Long term - Align incentives to reward innovations and collaboration across groups.

Discussion コメントを用意するのは無駄。正しいコメントも間違った時に言ったら無視される。ただ、往々にして正しい時というのは来ない。

単純な単語でも難しい単語と同じように強力であり、簡単なほうが分かりやすい。話し言葉は皆アクセントがある。

話を聞く訓練でもある。

笑わせることができれば聴衆の注意を引ける。Self-deprecating humor.

ノートはディスカッション中はおまけ程度に。授業が終わってから2、3個重要なことをまとめるのがいい。

Argument

Position - Criterion “collection period has worsened” (inference from evidence) - Evidence “It has changed 62 days -> 82 days on average between 1996 and 1998”

数字の説明を入れるのは採点者に自分の理解を伝えるため。

Action Plan

Too vagueな例: Rogers should make sure marketing and sales work better together. Too detailedな例: Person’s name, time (dates)、ノートを作る、とかを出す。

Chronological order. Show priority; urgent comes first, non-urgent comes second.

ArgumentとAction Planは別の節に書く。

The proof consists of presenting the most compelling evidence related to each criterion and showing how it supports your recommended option (inference).

It doesn't have to be crazy at work

Ruby on Railsを作ったDHHのtweetより。

週に8×5時間労働とか、忙しくてゆっくり考える時間がなかったりする職場がとても多い。一方でDHH達の作った会社Basecampは優秀なエンジニアが集まった会社。54人が30の都市で働いてる。ゆっくり考える時間がある。この環境を作る会社経営哲学を1トピックあたり数ページで書いたエッセイ。

First

Your company is a product. 使いやすくあるべきだし、バグ(社員が効率よく働けないとか)もありうる。

Curb your ambition

Bury the hustle. 子育てしながらでも、ジムに通いながらでも起業家になれる。

Happy pacifists. マーケットシェアは気にしない。お金を払ってくれる顧客がいて、コストがコントロールされて、利益を生み出すビジネスがあれば良い。

Our goal: No goals. 四半期や年間の目標は往々にして適当に作られた嘘の数字である。このために正直さや文化を失ってしまうのはもったいない。どうしてもゴールが必要ならば「会社を潰さないようにする」、「顧客に喜んでもらう」、「働くのが楽しい職場にする」あたりが良い。

Make it up as you go. Basecampでは6週間毎に次にやることを考える。

Defend Your Time

Employees’ time is very important in Basecamp.

Effective > Productive. Productivity is for machine. Productivity is how much a machine’s schedule is filled.

Work doesn't happen at work. 仕事場が集中できる環境ではなくなっているのではないか。

30分に区切られてしまった合計4時間はまとまって邪魔の無い集中した4時間と違うものである。

Basecampでは他の人のカレンダーは見られない。普通の会社では他人の時間を30分スライスにするのが推奨されているかのようだ。

The presence prison. たとえ姿が見えていたとしても仕事をしているかはマネージャが成果物を見ないとわからない。(成果物ができてなければやめてもらうけれども)

Fear of Missing Out (FOMO)からJoy of Missing Out (JOMO)へ。本当に大切ならば明日知れる。

Feed Your Culture

We're not family. 会社の偉い人が従業員のことをfamilyと言い出したら、それは従業員の時間の犠牲を意味する。そんな嘘はいつまでも続かない。

ハードワークで自己犠牲を見せるリーダーは他人にもそれを強いる。

採用するときには学校や経歴は見ない。同じような人が会社にいたら採用しない。なぞなぞは出さない。Finalistは1週間$1500で仕事をしてもらう。

給料交渉はなくて、ポジションごとに業界の90 percentileを払う。シリコンバレーのギャンブルが好きな人はいたが、給料が原因で辞めた人はいない。

Calm goodbyes. 辞める人か辞める人の上司(特に解雇する時)がメールを出す。情報が隠されていると人は想像で補おうとしてしまう。

Dissect Your Process

Independencies. 他のチームに依存してるのは良くない。製造業だとパイプラインがあるから仕方ないが、ソフトウェアは独立してこまめにリリースされるべき。

Compromise on quality. 完璧ではなくても良い。

提案は文書にして、他の人もよく読んでからコメントすべき。

3人チーム(2 engineers, 1 designer)が良い。

くるくるプロジェクトを変えるのは良くない。6週間がちょうどいい。

Mind Your Business

借金はしない。コストをコントロールして利益をあげる。

Basecampは従業員がどれだけいても1アカウントあたり$99. これは小さい会社をターゲットにしてるから。大きいアカウントがあると顧客対応に差が出てしまいCalmになれない。

Basecampには3バージョン(2004-2012, 2012-2015, 2015-)あり、古いのがいい顧客はそのまま使い続けられる。大きなマイグレーションは多大な労力を伴うからそれを避ける。

Mindstorms

SmartlyのCo-founderであるAlexieが書いたブログより。

blog.smart.ly

カメ(Turtle)を使った子どものプログラミング実験録かと思いきや、それを土台にコンピュータを使った新しい学びの方法を論じる本。

Introduction

パリにいる子供がフランス語を学べる一方でアメリカにいる子はフランス語を学ぶのに苦労する。プログラミングを学ぶのに良い環境というのもある。

プログラミングを学び易くコンピュータをデザインするができる。 コンピュータとのインタラクションを学ぶことで他の学習方法を変えられる。

著者は過去10年間MITのLOGOグループの人たちと子供のプログラミング学習を見てきた。

Piagetはそれまで当たり前すぎて気づかれていなかった大人と子供の考え方の違いを書いた。

Chapter 1: Computers and Computer Cultures

  1. コンピュータのように決まったことを一つ一つ機械のように進める考え方を知る
  2. 上記の機械の考え方を知ることで、非機械的な考え方を相対的に見られる。問題に対して適切な考え方を選択できる。

カリキュラムではなく、学ぶ子どもの周囲の文化を変える(創造的なものを置き、悪いものを除く)のか良い干渉である。

Chapter 2: Mathophobia: The Fear of Learning

Mathには数学の意味と学びという意味がある。子供は学ぶのが好きなのに成長すると学問、特に数学を嫌いになる人がいるのはなぜか。

水を別の容器にいれても容積は保たれるというのは大人には当たり前だが子供にはそうでない。数を数えるのも数え方によって数字が変わるというのはconservationist viewである。

大人の中にも"私の耳はフランス語が聞けない"とか"数字が苦手だからビジネスマンにはなれない"と言う人がいる。知識的や感情的なサポートがある環境があればそういっている人も楽しみながら数学や外国語を学ぶことが出来る。ただし"できない病"は手強い。そう思ってることで失敗し、失敗はその気持ちを強くする。個人の"できない病"はグループの文化になる。

何が勉強できることやないことで人々はsmart peopleとdumb peopleにグループ化されてしまう。数学をやらされて、点をとらないとできない子とされる。この"Anti-Mathland"な環境は数学を学ぶのに良くない。

馬車をいかに勉強しても自動車を発明できない。教育学は今の教室での教育を扱うばかりで"教育における自動車"を発明できる方向にはない。

喋ることがが堪能な子供Jimはどうやって喋ればいいかわからない算数が嫌いだった。Mathlandでは言葉が堪能な事と数字を扱うことは反しない。数学は右脳、言語は左脳、といった明確すぎる区別は間違いだ。統一された教え方が合わないけど数学ができるようになるもいる。耳が聞こえない人でも手話を学べるのと同じ。コンピュータがその力を発揮する。

Chapter 3 Turtle Geometry: A Mathematics Made for Learning

Turtleの世界では独自のgeometryがある。Euclid幾何学では円はある点からの距離が等しい点の集合とされるが、Turtle geometryではTurtleを進めてちょっと角度変えてまた進めて、を繰り返して描く図形のことである。何も属性を持たない"点"という概念よりも方向を持った亀の方がわかりやすい。

描きたいものを実現するために角度を学ぶ。数字、繰り返しや変数は役に立つ。

Chapter 5 Microworlds: Incubators for Knowledge

新しいものを学ぶ時は次の2つのステップが大切。

  1. 既に知っているものに関連づける
  2. 自分の物として使う

ニュートンの法則は物は動き続けるというが経験と一致しない。Turtleは一定速度で動くことができるので、それを教えるのに適している。

Traction: How Any Startup Can Achieve Explosive Customer Growth

IndieHackerの紹介より。著者はJustin MaresとGabriel Weinberg。

www.indiehackers.com

NYPLで電子書籍とeaudiobookを予約した聞いた。初めてのaudiobookのメモ。

会社を作って商品を作っても売れなければ意味がない。顧客の目に触れずに終わった会社はよくある。著者が会社を売却したあと別の事業をやろうとした時に、Tractionを考えるフレームワークがないことに気づいた。2009年のこと。Tractionを得るためのフレームワーク"Bullseye"を紹介する。

この本を書くにあたり40人以上のスタートアップ創業者にインタビューした。

本で紹介されているのは19 channels. どれがいいかは試してみないとわからないのにみんなちょっとしか使わない。

Search Engine Marketing, Search Engine Optimization, Offline Ad, Email Marketing, ブログマーケティング, Offline Events

Customer acquisition channel = traction channel

Chapter 3 Bullseyeフレームワーク

  1. 考えうるchannelをブレインストーム。何が成功か。他社がやってることを学ぶ。成功例や失敗例を同業のCEOから学ぶ。記録しておく。
  2. 最も成功しそうなやつで試す。複数同時進行でも良い。いくらかかるのか、そのtraction channelに何人いるのか。大成功を狙うな。例えば4個のfacebook ads. データを集めるのが目的。高くて1ヶ月で$1000程度。
  3. Core channelを選んでfocusする。他のchannelが付随してくるかもしれない。コアをsaturationするまでやる。

もし効きそうなのがなかったら1からやる。それでも見つからなかったら商品を見直す。

リーンとの比較。リーンはプロダクトを作るための作法。Bullseyeは顧客を見つけるための作法。両者は組み合わせて使える。

Chapter 4 Traction Testing

Channel Strategyは(1つのchannelの中で)顧客を捕まえる手法のこと。ランディングページやキャッチコピーを考えること。どれだけのコストがあるのか、何人いるのか、獲得した顧客はターゲットした人達に合っているか。

Core channelの中でA/B testingをして良いchannel strategyを見つける。

Analytics toolは次のような質問に答えられる。どのような人達がよく使ってくれてるのか。サポートとやり取りした人達は顧客のままでいるのか、離れるのか。どこで顧客が逃げているのか。

Chapter 5 Critical Path

ゴールを設定しマイルストーンを計画する。時々マイルストーンは更新する。

Chapter 19 Affiliate Program

Leadは大切。保険会社は1クリック$200も払っている所もある。広告してもらってカスタマーごとに$5払ったり、コンバージョンごとに払うとか。ネットワークの例:

Commission Junction, PeppdrJam, AdKnowledge, NeverBlue

Chapter 20 Community

ミッションに共感した人達の集まりを作る。特に人や繋がりがテーマだと良い。

Wikipediaにはconfilct of interestを解決するルールがある。

残りは聞き飛ばし。

The War of Art

IndieHackersのおすすめ本エントリより。NYPLで借りた。

www.indiehackers.com
Resistance(阻むもの、怠惰)は人々の心にあり、崇高な目的を達成するのを阻む。著者は物書きだが、起業、ダイエット、勉強などに当てはまる。Resistanceにより都合が悪くなり、言い訳を与えられる。自分ののやる気を相対的に見て、Resistanceを克服するには、自分の中から出てくる創作意欲を種に毎日打ち込むのである、と説く。

第2章で紹介されているProfessionalismはResistanceに打ち勝つ姿勢である。第3章はとても宗教/精神的な話。 

Book One: Resistance

先送りは最も典型的なResistanceの形である。Resistanceに囚われた人でも"達成しない"とは言わない。"明日からやる"と言う。

Resistanceはself-dramatizationやvictimhoodを起こす。Self-dramatizationの例は犯罪歴のある彼氏を家に連れてくるとか、病気になった気になるとか。他の人が怒ることをわざとする、というのもこれだろう。手を動かさずに他人の注目を集められるからだ。ただそれらをしても決してあなたの作業は進まない。

Resistanceによる行為をした後は不幸せに感じる。

Resistanceはゴールが近づくとさらに強くなる。

恐怖は良いサインだ。恐れると言うことはそれが大切な事で自分の成長に必要だかららだ。The professional tackles the project that will make him stretch.

他の人からのsupportは自身を強くしてはくれない。

Book Two: Combating Resistance

ProfessionalはResistanceの影響を受けず物事を成し遂げる。私達は仕事中はProfessionalだ。毎朝会社に行き1日働く。

Professionalは常に技術を磨く。もし閃きがきた時の為に技術を手に入れておく。必要ならば師に助けを求める。

Professionalは成功や失敗を個人的なものとして捉えない。Resistanaceはfear of rejectionを使って阻もうとする。作品は自分自身ではない。

Professionalは全能であることはない事を知っており、他のProfessionalを尊敬を持って扱う。

Professionalはどれだけ成功しようが居心地が良かろうが次の事を見つける。


Book Three: Beyond Resistance

毎日机に座って物事に取り組むと、段々と不思議な力が周囲に集まりだす。

天使達は見えないガラスの向こうにいてこっちを語りかけようとしている。私達が捜索活動を1から始めるとき、そのガラスが割れて天使達がこちら側へ来て皆幸せになる。

癌だと告知されてから大切なものに気づき生き方を変える人もいる。


Self v.s. Ego; Self wishes to create, to evolve. The Ego likes things just the way they are. The Ego produces Resistance and attacks the awakening artist.

人間は20人から多くても800人のグループで住むのが適しているが、今の社会は大きすぎる。階層社会のなかで上にいく為に創作活動をしても駄目。自分のやるべき事を他人に認めてもらうのは駄目だ。大金、人々の注目や称賛のために行動するのではない。自分の中からやりたいと思ったことを創作するのだ。

生まれながらにして物書なのか、絵描きなのか、科学者なのか。この問いに答えるのは行動しかない。皆の内面にある創作活動の種は世の中の宝である。あなたが持っているものを見せて欲しい。

White Fragility

Joi Itoがtwitterで言ってたので図書館で予約した。

著者が多様性のトレーナーとして企業研修をした際に多くの白人は怒りや逆に沈黙を表した。なぜ白人は人種について語ることが苦手なのか。差別しないというWhite progressivesが有色人種に害を与えている。 個人主義が集団の属性による差別はないものだと言う。全ては個人の問題であるというものたがそんなことはない。 白人労働者階級か"白人だからマシ"と感じられる構造。

Racism and White Supremacy

Prejudiceは皆が持っている。Discriminationはprejudiceによる行為。白人以外にもracismは存在するが、西洋社会では白人以外がracismによる法を定める力を持っていない。学問なかでは白人ばかりが社会の高い地位にいることをWhite Supremacyという。

地区や学区も経済格差と人種によって分かれている。

The Good/Bad binary

Good/bad binaryがさまざまな言い訳を作る。color-blind: 自分は皆平等に扱う。color-celebrate: 家族に有色人種がいるからレイシストではない。という扱いよりも、誰もが持つ連続するものとして捉えると良い。

人の気分を害した場合はよりよく知ろうとする事が大事。

White fragility and the rule of engagement

人種の事になると怒りだしたり黙ってしまいよりよく知ろうとしない事。白人に人種のことを指摘する時は冷静に、すぐに、1-1で、はっきりと。

Where do we go from here?

黒人の髪についてジョークを言ったら傷つけてしまった話。事象について調べて、当人に謝った。ジョークのintentionではなく、そのインパクトを謝った。

"あなたの感じてることも分かる。昔も私はそう考えた。でも今私が思うことはXYZ". 個人的なものの見方であることについて文句を言う人は少ない。 "この前のXだけどずっと気になってたんだけど今クリアになった。"と少し経って落ち着いて整理してからでも良い。 有色人種の人が指摘する時は、白人を味方につけてから指摘すると、White Fragilityを起こさなくて良い。何か指摘された白人が他の有色人種に"これは自分のracismではないよね"と肯定を求めるのは駄目。Engagementをなくしてしまっている。