読者です 読者をやめる 読者になる 読者になる

seri::diary

プログラミングのこととかポエムとか

周囲からの期待値を自分で決めて自分で動くということ

今の会社に入ってから新たに増えたタスクとして、「周囲からの自分に対する期待値を自分で決めて動く」というタスクがある

今までの会社でいえば、「お前に期待することはこういうことだから」というのを教えてくれる人がいた。その上で自分がやりたいことを踏まえてどういうことをやっていくかを決定してきた。 だから周囲の期待値は何となく見えていたし、自分でもそれについて納得しながら仕事をしてきた。言い方を変えれば「走るべきレールが決まっていてその上でいかにパフォーマンスを出すか」ということに集中していた。

それが今の会社では、誰もレールを引いてくれない状態になった。これは会社の方針として開発チームに意図的にマネージャーを置いていないからなのだが、この状況に当初は戸惑った。 自分の期待値は当然伝えられず、何をすべきか分からず、何を期待されているかすら分からず、さらに言えば、何故自分が今の会社に採用されたのかすらわからなかった。(一応聞いてはみたが、まぁそこまで自分である理由はなかった。)

ということで、「どうすれば自分がこの会社で価値を発揮できるか?」を自分で考える必要が出てきた。

入社して最初の3か月でやったことは、サーバーサイドチームの開発体制の見直し。 デプロイ頻度の固定化、相互レビューの導入、エラー監視のためのBugsnag導入、CircleCIの導入、定例ミーティングの導入、Hubot導入などなど、これまでいた会社でやってきて上手くいったことを導入して足場を整える仕事を中心に行った。「誰かにやれ」と言われたからやったのではなく、「今これをやれる知識があるのは自分しかいない」という自己判断の元行った行動である。誰も文句は言わなかったし、多少抵抗があった項目もあるが説得して導入していった。今でも適宜チーム内で話し合ってやり方は都度見直している。

serihiro.hatenablog.com

また、もう一つの自分の役割として「コードの品質を担保する」というのがあると思っている。スタートアップならよくあることなのだろうが、今までスピード重視で書かれてきたコードベースは必ずしも綺麗ではなかった。Rails純正の機能を使えば解決できることを自前で処理していたり、そもそも問題を抱えたまま運用していたり、課題を結構抱えていた。

しかし、それは「課題」として認識されていないものが多かった。要するに、それを「課題」だと気づける人間がいなかった。自分は気づける人間だったので、その課題を直していくことが自分の役割だと今も考えている。

普段やりたくてもできないタスクを1日かけて消化する「改善部」イベントを企画してrubocopを導入したり(もちろん.rubocop.ymlは意味のある指摘だけに絞るようにいじり倒した上で)、普段からコードベースをいじるときに既存のコードでリファクタできるところはリファクタし、新規に書くコードは後から入ってくる人が真似したとしても負債が残らない、変なコードにならないようにすることを第一に考えてコードを書くようにしている。

レビューは自分一人だけでやってる訳じゃないのですべてのコードを見られる訳ではないが、自分がレビューするコードはなるべくそういう観点で見ている。もうスピードだけでコードを適当に書き殴ってプロダクトを作っていいフェーズの会社ではないからだ。ユーザーが増えるにつれて安定稼働への責任に重きをおく必要が高まっている。もちろん、この認識は自分がセールスやサポートの人と話をしていて思っているだけであるが。

今のところ、普段のタスクをやりつつ上記のようなことを念頭において仕事しているが、今のところ誰からも「それよりこういうのやってよ。」「お前最近価値のある仕事してないよ。」と言われることはないので周囲からの「実際の期待値」も「自分が考える周囲からの期待値」とそこまでズレてないようだし、自分の仕事はそこそこ会社に貢献できているのではないかと思っている。 この辺も誰からもフィードバックをもらったことがないので分からないが、とりあえず誰かから何か言われるまで、あるいは自分の仕事が意味がないと自分が感じるようになるまでは、今やっている草の根活動を続けようとは思うし、今後も必要そうなタスクが見つかったら開発チームに提案して自分でやってみようとは思う。

VP of Engineeringみたいなポジションの人がいる規模の開発組織だと、この一連の作業はそういうポジションの人がやるんだろうけど、ウチみたいなスタートアップにおいてはまだ自律的に各メンバーが考えて行動する必要がある。自分は少なくともそう考えているし、他のメンバーもそれぞれ必要だと思うことを自律的に考えてやっている節がある。どこまで今の体制で開発チームがスケールできるか分からないが、少なくとも自分で何が必要かを考えて動くというのは、自分の経歴としても良い経験だと考えているので、とことん必要なことを考えて自律的に動いてやろうと思っている。