2013-04-12 Fri 09:59
ベンチャーで働くエンジニアに必要な「勇気」
「恐怖」を知ること
35歳が目前に迫りつつある中、ぼちぼちスピリチュアルなことも書いていこうかと思う今日この頃です。
これまで十数年、小さな会社やフリーランス、大企業(はすぐ辞めたけど)を渡り歩いてきて改めてベンチャーの面白さを実感しています。
様々な要素がありますが、その最たる物は「エンジニアが会社の命運を握っている」という紛れもない事実です。自社でプロダクトを開発しているベンチャーにおいて、どんなに立派な経営理念やビジネスモデルも動かないシステムの前ではクソの役にも立ちません。
そして、それはそのままエンジニアの過ちが会社を危機に陥れるリスクを意味します。言ってしまえば「ワンクリックデプロイ」が「ワンクリック倒産」へと直結するかもしれないのです。省力化そのものは目指すべきですが、自分の行為が内包するリスクは忘れてはならないのです。
「何か」が起きてしまった時に上長の責任だ、確認ミスだと逃げることは簡単ですが、ベンチャーは一人一人の裁量の最大化をよしとする文化です。その中で大企業では得られない自由を享受しながら、自らは何のリスクも負わずにいられるわけがないのです。
こういう時に「責任を持ってやります」なんて発言が出来る人はそれこそ恐怖を知らない。事業あるいは会社そのものが無くなることに一介のエンジニア責任を負えるのか。正直なところ責任の取りようなどありません。
もちろん、全てのエンジニアがいつもそこまでの危機に直面することはありません。しかし、本質的にそうしたリスクが内在していることと向き合えないエンジニアは、ベンチャーにおいて重用されることはないでしょう(あえて重用されないよう振る舞うという生き方もあります)。
ベンチャーで働く上で忘れてはならないのが、この「自分の責任能力の及ばない仕事をこなすこと」への恐怖です。
恐怖を我がものとする
では、その恐怖にどう立ち向かえばいいのか。身も蓋もない言い方ですが、日々やれることをただやるしかないのです。
エンジニアには何が出来るのか。
- 「ここがコケたら何が起きるのか」を想像し、最悪の事態を引き起こさないように手を打つ。
- 間違いが起こりにくいようにコードを明確にし、テストを厚くする。
- システムが正常に稼働していることを確認するため。そして、何かあった時に素早く状況を把握し、適切な対応が出来るよう、ログを吐く。
- 監視スクリプトを仕込み、アラートには24時間365日すぐに対応する。
- サービスのコードだけでなく、ビジネス要件やインフラも理解し、状況把握の早さと正確さを上げる。
こうした要素の一つ一つが必要不可欠です。目新しいものはないし、全て当たり前と言えば当たり前。しかし、これら全てを一人でこなせるようになるには一朝一夕では難しいのも確かです。
では、まず何をすべきか。やはりテストを書くことが誰にでも出来て、確実なリターンを得られる備えでしょう。
「テストは不安を解消するもの」とはよく言われることですが、ベンチャーで働くエンジニアにとってはより切実です。
テストは不安などという生っちょろいものではなく「恐怖を克服するためのもの」なのです。
Kauliではそんな勇気のすばらしさを知るエンジニアを絶賛募集中です。@nekoyaまでDください(思った以上に読まれているのであさまし追記)。
そして君の未来にこの言葉を持って行けッ!
いくら強くてもこいつら屍生人は『テスト』を書かん! ノミと同類よォーッ!