FiNC Technologies Androidエンジニアを卒業します-2019振り返りAndroidチーム編-
どうも、南里改めバイソン改めneonankitiです。
あけましておめでとうございます。
FiNC Technologies(以下FiNC)の2019年振り返りブログリレーということで、昨日のtakayuki_shmzから襷を受け取りました。
この襷を次の担当になんとか渡します。
FiNCでは、2019年末まで自社アプリのAndroid開発(兼マネージャー)を担当していました。
そして、2019年の12月末でFiNCでのAndroidに関わる全ての職務を辞しました。
ということで、本エントリでは、私個人の振り返りとAndroidチームの変遷を話します。
私の観点から書いたポエムなので、あまり有用な話はないと思います。
最後なので、許してください。
自己紹介
まずは、簡単に自己紹介させてください。
私はFiNCというヘルスケアスタートアップで、Androidのアプリ開発を行なっていました。
FiNCは2020年1月現在、360名を超える従業員が働く会社になっています。スタートアップとしては中々の規模になったと感じています。
私自身は、2014年にFiNCに参画しました。大学3年生だったこともあり、社員としてではなくインターン生として働いていました。
当時は、10人程度の人数で人が少なかったこともあり、メインであるAndroidのアプリ開発に携わりました。
そのまま、新入社員として入社し、現在までAndroidアプリの開発/マネージャーとして色々な事業に関わりました。スキルのなかった自分に色々な機会を与えてもらって、本当に感謝しています。
開発者としての登壇/ポートフォリオはscrapboxにまとめているので、興味のある方はみてください。
南里個人の2019振り返り
まとめると、「可もなく不可もなく」な一年でした。
比較的良かった部分としては、個人のアウトプットです。
勉強会でLTをしたり、ブログでの発信を定期的に行いました。
比較的大きめのものでいうと、DroidKaigi(Android Annualカンファレンス)に登壇したり、Flutter本を出版しました。
アウトプットは常に意識しているので、形にできて良かったです。
改善点としては、事業に対する貢献です。
2019年は、新しい事業やプロジェクトに配属されることが多かったです。
振り返ってみると、事業が継続的な利益を創出するためのアイデアや貢献はほとんど出来なかったように感じます。
具体的なプロジェクトは、明記出来ないため詳細は書きません。
もちろん、果たすべき役割に対しては貢献していたつもりです。昨年の半期の評価は、個人の予想を大きく上回り非常に良いものでした。(FiNCでは360度評価を採用しています。)
しかし、個人的な感情として、事業に関わる限りは、事業を成功させたいという気持ちが年々強くなってきています。そういった意味で自分はまだまだ事業の成長に貢献出来ていないと感じています。
2020年は近視眼的にならず、尽力したいです。
Androidチームの変遷
2018年以前のAndroidチームの変遷に関しては、DroidKaigiで話しています。
そのため、本エントリでは2018年以降に関して話します。興味ある人は是非以下のスライドをご覧ください。
それでは、2018年から振り返っていきます。
Elastic Leadershipに習い、本文中の用語を利用します。
- サバイバルフェーズ: チームに学習する時間が十分にない状態
- 学習フェーズ: 十分なゆとり時間があり、その時間を使って学習や検証を行なっている
- 自己組織化フェーズ: あなたが何の心配もなく携帯電話やノートパソコンの電源を切り、数日間仕事を放置できる状態
FiNC Androidチームのフェーズ(主観)
〜2018 サバイバル&学習フェーズ
〜2019前期 学習フェーズ
〜2019後期 自己組織化フェーズ
〜2018 サバイバル&学習フェーズ
2018年はAndroidチームの主力であった外国人メンバーが退職し、チームの底力が問われる時期でした。
その穴を埋めたのが、当時新卒であったizmeal2000と中途のdigitaljunkyでした。
まだ、環境になれない中で高い対応力でチームを推進してくれました。
この時に気づいたことは、機会のみが人を成長させるということ、またメンバーを成長させるなどという意識は傲慢すぎるということです。
当時の自分は、マネージャーとしての役割に捉われすぎていました。
そのため、”メンバーに何かしてあげないといけない”という意識になってしまいました。
”〜してあげる”という考え方は、一人の人間に対してリスペクトが不足していたように感じてます。
もちろんマネージャーとしての役割を担う限りは、サポートは重要です。
しかし、それよりも重要なことは、挑戦する機会を提供することだと感じています。
百聞は一見に如かずで、挑戦して主体的に動くことで新しい気づきが生まれます。
また、マネージャーとしての役割に捉われず、一人の人間として信頼される状態を目指すことを強くオススメします。そのためには相互理解が必要です。
相互理解のために、効率が良いと思っているのは、以下の2つです。
- 現場に対する理解があること
- ポジショントークをしないこと
現場に対する理解力をつける一番効率的な方法は、やはり現場に出ることだと思います。そして、ポジショントークはすぐバレます。可能な限りオススメしません。相当数(50人とか)のメンバーをマネジメントする必要がない限りは、不要なものだと思います。
そのような激動の2018年末、Google Play Best of Awardの大賞を獲ることができました。
2018年は個人的には、一番困難の年でした。
多くのメンバーが辞職しただけではなく、私がヘルニアを発症してしまいました。一ヶ月半ほど寝たきりになり、6kgほど痩せました。
多分あれです、宿命大殺界です。
そのような時期にGoogle Play Best of AwardをAndroidチームで受賞できたのは本当に嬉しかったです。
ただの一つの賞かもしれませんが、チームの力を実績ベースで示せたことは、最高の気分でした。
FiNCのAndroidチームの良さは、周りの意見に迎合しないことです。
誰が言ったか?ではなく、何を言ったか?を重視する文化があると思います。
2018年の具体的な活動は詳細は触れません。以下でtakasek やizmeal2000 が発表しているので、興味ある人はみてください。
〜2019前期 学習フェーズ
2019年の前期は、多くのAndroidメンバーが大規模プロジェクト開発に注力しました。このプロジェクトはAndroidメンバーが3人も関わる大きなプロジェクトでした。
開発中のプロジェクト/チームの状態は非常に良かったです。その要因は以下にあったと思います。
- 個々人が異なった専門的で高度なスキルを持っている。
- 各メンバーがプロジェクトの目的を理解している。
- 他人の状況を気にかけ、落ちている(そうな)ボールは積極的に拾いにいく。
- わからない問題は、すぐ共有し課題解決に一緒に取り組む。
- メンバーがやり遂げる気概を持っている
- 心理的安全性が高い
- 建設的かつ厳しい議論を行う
Androidチームのメンバーは、プロジェクトを成功させるために、職能横断的にプロジェクトを推進していました。彼らは、このプロジェクト以降においてもアジャイルの精神を継続的に発揮しています。
このプロジェクトは私にとっても非常に勉強になりました。
各チームメンバー(Android以外も)が佳境だったにも関わらず、相手を思いやり行動していました。
初めから出来ていたわけではないです。
プロジェクトを通して信頼関係が築かれ、行動が変容していきました。
自分が困難な状況でも、他人のことを思いやれるのは本当に素晴らしいと思います。ちょっと言葉にするとクサいですが。
このチームの一員になれたことは私の誇りです。感謝します。
学びは、最初のアサインがほぼ全てを決定するということです。
元も子もない意見ですが、非常に重要です。
必要なことは、採用する人材の要件は細かく定義すること、また、要件を満たさない場合に妥協して採用しないということです。
とはいえ、既存のリソースで戦う場面も多いと思います。その場合は、トップラインに合わせた制度設計/運用をすることです。
ボトムラインに合わせてしまうとトップラインの優秀なメンバーが離脱し、不確実性が増加するためプロジェクトマネジメントの難易度が上がります。
そして、2019年は、DroidKaigiで3人のメンバーが登壇した年でもあります!
コミュニティに対しても貢献できた1年でした。
特に2019年は、社をあげてカンファレンス登壇支援やスポンサーを行いました。
普段のプロジェクトで関わることのないAndroidコミュニティからのフィードバックは、非常に有益です。
自分の業務/アウトプットを他人のフィードバックを通して客観視すると、自分自身の強み、弱みがより認識できるようになります。
Androidチームでは、DroidKaigiに登壇したいメンバー同士で集まり、CFP(CFS)に対してピアレビューをしました。そして登壇決定後には、予行演習を行いました。
Androidチームだけではなく、他チームの様々なエンジニアが協力してくれました。
DroidKaigiのスポンサーに関しても、諸事情により実現はしませんでしたが、稟議もなんなく通り会社としても万全の体制でした。
しかし、一般的にはカンファレンス登壇支援やスポンサーは、費用対効果がみえにくいため、意思決定が難しいです。動くお金も大きいからです。
この議論は社内で何回もやりましたが、結局やってみないとわからないです。
採用を目的におくと、応募から採用確定までをファネル分析っぽくしがちですが、結局エントリーポイントを把握できるわけではないため定量化できません。
だから、意思決定材料としては弱いです。
もし目的を定めるとするならば、社内外のブランディングやエンゲージメント向上施策などは非常に良いと思います。
定量化するのであれば、NPS的なものがいいと思います。ただ、社外のNPSは定量化にコストがかかるので、「えいや!」と気合いでやってしまうというスタンスも有りだと思います。
〜2019後期 自己組織化フェーズ
色々な経験を経て、Androidチームはかなり自己組織化した組織になりました。
FiNCはスクラム開発を行っていますが、2018年以前と比べてみると、毎スプリントの品質/期日などは格段に改善しました。今日はポエムなので、詳細は省きます。
個人的には、めちゃくちゃ負担が減りました。私が何もやらなくても全てが順調に進みました。普段から属人化しない仕事をしてきたつもりですが、「ああ、やっと俺バス因子じゃ無くなったんだな」と思った瞬間でした。
とにかく属人化をなくしました。
自分がいなくても回るようにドキュメント化を徹底する(scrapboxを利用)、自分の開発以外の業務を持ち回りでやってもらう(ペアプロ的な)などは効果的でした。
一番、重要なことを忘れていました。
自分より特定のスキルセットにおいて優秀な人をとり続けることです。私の場合、自分よりAndroid開発が出来る人を採用し続けました。
ただ、自分より優秀な人を採用してしまうと居場所がなくなってしまうんじゃないか?と不安になったこともあります。
でも、居場所がなくなったら、また別の場所を探せばいいんです。それは同じ会社にあるかもしれないし、ないかもしれないです。なければ、外を探せばいいんです。
自分がいないと回らない。そんな幻想は無くしてください。あなたがいなくなっても世界は回り続けるし、会社も継続します。
一方で、自分しかできない仕事を探し続けることが重要です。それこそが、あなたのユニークネスになります。そうでなければ、あなたは本当に会社にとって必要でなくなります。
私の場合、自分がいなくなることで、他のメンバーがより大きな挑戦が出来ればいいと思いました。また、自分自身も新たな挑戦を始めるべきだと感じました。
そして、Androidエンジニアとしての職務を辞することを決断しました。
私はいませんが、興味ある方は、ぜひAndroidチームへ。
2020年の主戦場は?
FiNCでは、もう少し頑張ってみようと思います。
機械学習/深層学習をメインにしているチームに異動し、ソフトウェアエンジニアを続けます。
全くゼロからのスタートですが、モバイルエンジニアでやってきた知識を胸にまた這いつくばって頑張ります。
なぜ異動するのか?という問いですが、長く同じ環境にいすぎたというのも大きな理由の一つです。
まとめ
ポエムのように徒然なるままに書いたので、全然まとまりのない文章でした。
毎年なんだかんだ楽しんでやってこれたと思います。
「常に楽しく」という価値観で、Androidチームの雰囲気もよく出来たかなと思います。
自己組織化された強いチームですが、ここから新しい挑戦をすることで、またチームのフェーズが変わると思います。
私がマネージャーとして担当した、FiNC Androidチーム第1章はここで終わりです。私はAndroidのマネージャーの職を辞し、全幅の信頼を置くSataKentaroにバトンを渡します。
明日のブログリレーはiOSチームのリーダーのtaktemです。
それでは、また。