suztomoの日記

To be a good software engineer

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-)あり、古いのがいい顧客はそのまま使い続けられる。大きなマイグレーションは多大な労力を伴うからそれを避ける。