マネージャーになってから自分自身のためにやったことまとめ

これは[Supershipグループ Advent Calendar 2020](https://qiita.com/advent-calendar/2020/supership)の1日目の記事です。
初日のプレッシャーをほんのり感じながら書かせていただきます。


## 自己紹介

Supership株式会社のVPoEをやっている名畑と申します。  

まずは簡単に最近の経歴を。

- Supershipでは[Ad Generation](https://supership.jp/business/adgeneration/)というプロダクトのSDK開発をずっとしてきました。言語で言うとObjective-C、Java、Swift、JavaScript、C#、C++あたりをここ数年は書いてきました。
- 2016年11月からプロダクトマネージャーになりました。このタイミングでメンバーのマネジメントもするようになりました。
- 2018年1月からアドテクノロジーセンターというインターネット広告エンジニアのみを集めた組織の副センター長になりました。
- 2020年4月からVPoEになりました。

超定番な趣味ですが、漫画とアニメが好きです。
今期アニメだと[いわかける！ - Sport Climbing Girls -](http://iwakakeru-anime.com/)がかなりお気に入り。シュールな表現は突っ込みどころ満載。

## 本記事でなにを書くか

マネージャー職に就いてから約4年なのですが、その間、自分自身のためにやったことをつらつらと書いていきます。  

エンジニアリングマネージャーについてはかなり界隈も盛り上がってきており情報も増えましたが、まだまだキャリアパスとして具体的に描けていない人も多いかと思います。
そんな方々の想像の一助を担えれば幸いです。

## イベントで話す

下記のように他社様主催 or 他社様との共催でのイベントで話すことをちょくちょくしています。

- [アドテクの「今」と求められる「変革」を考える / AdTechnology Meetup vol.1](https://adtechnology-meetup.connpass.com/event/189385/)
- [オレシカナイト ビアバッシュ＆LT大会](https://cyberagent.connpass.com/event/108040/)
- [Repro Tech: Mobile SDK Reliability support 助太刀](https://repro-tech.connpass.com/event/128924/)

理由としては

- 会社の名前を売って採用に繋げたい
- 人脈を得たい
- 表現力を身につけたい

など、色々とあるのですが、わかりやすいアウトプットを生むことによって精神的な安定を得ることが最大の目的なのかもしれないと最近は考えています。

マネージャーになり、業務においてコードを書く時間が減りました。
マネージャーにも成果というものはあり、それはたとえばチームの活躍だったりプロダクトの広がりだったりするわけですが、その際に得られる喜びはコードを書いていたときの達成感とは異なるものがあります。

その差分を埋める一つの方法が私にとっては登壇であるという説が有力です（他人事のよう）。

余談ですが、発表の際のスライドは一部Speaker Deckに上げてありますので、興味ある方はどうぞ。

- [広告SDKとその信頼性確保について](https://speakerdeck.com/nabata/20190514-repro-tech)
	- Reproさんのイベントでの登壇資料です。広告SDKの信頼性確保のためにどのような取り組みをしているかをまとめたものです。広告SDKがそもそもどのようなことを行っているのかも軽く書かれています。
- [オレシカナイト vol.12 アドテク ビアバッシュ&LT大会](https://speakerdeck.com/nabata/20191213-oreshika-night)
	- サイバーエージェントさんのイベントでの登壇資料です。2019年のアドテク業界についてを振り返る内容になっています。ITP、ユニバーサルID、1st priceオークションなどなど。

## 本を読む

以前よりもマネジメント系の本を読むようになりました。

あえて紹介する必要もないであろうぐらい有名な本ばかりですが、読んだうちの一部を挙げますと……

[Scaling Teams 開発チーム 組織と人の成長戦略](https://book.mynavi.jp/ec/products/detail/id=115439)は組織の成長について、採用や管理など様々な側面でまとめられた本です。実例にもよく触れられているので、すっと胸に落ちました。
[エンジニアリング組織論への招待～不確実性に向き合う思考と組織のリファクタリング](https://gihyo.jp/book/2018/978-4-7741-9605-3)はエンジニアリングとはなにかという部分から始まりますが、この考え方はエンジニア以外に対しても通じるかと思います。
[エンジニアのためのマネジメントキャリアパス テックリードからCTOまでマネジメントスキル向上ガイド](https://www.oreilly.co.jp/books/9784873118482/)はマネジメントの基本から始まり、メンター、テックリードと順を追い、経営幹部に至るまでのそれぞれの段階でどのようなことが求められるか、どのように問題を解決すべきかがまとめられています。
[カイゼン・ジャーニー たった1人からはじめて、「越境」するチームをつくるまで](https://www.shoeisha.co.jp/book/detail/9784798153346)はストーリー形式で主人公の立場に立ってKPT、インセプションデッキ、トラックナンバー、スキルマップ、モブプログラミングなどなど、チーム開発における諸々の手法をこれでもかと知ることができます。

## 競プロをやる

プロダクトマネージャーになったあたりから、エンジニア採用にも関わるようになりました。その頃は自分が見ている開発範囲（つまりSDK）の採用についてが主でした。  

今はVPoEという立場であり、全社のエンジニア採用について中途新卒問わず関わるようになっています。
採用資料作成、書類選考、採用イベントへの参加、面接、入社してもらうためのアトラクトまで、一通り絡んでいます。

採用活動をしていて思うのは、最近、競技プログラミングの実績を出される応募者の方が多いなと。
「[AtCoder](https://atcoder.jp/)で何色です」みたいな。

もちろん検索すれば`何色は上位何%なのか`はわかりますし、過去問もあるわけなのですが、そのスキルレベルがなかなか具体的に思い描けずにいました。

なので、これは自分でやってみるしかないなと思い、つい先日、AtCoderに登録して始めてみました。
言語はPython(3.8.2)です。どうせならと業務経験がない言語を選んでみました。

まだAtCoder Beginner Contest(ABC)に数回挑戦しただけの超駆け出しなのですが、ひとまず自分でやってみて`上位ランカーはめちゃくちゃすごい`ということを実感いたしました。

普通に楽しいので、しばらく続けてみようと思います。

私、とある問題で総当たりを実現するために急いで下記のようなコードを書いて……

```
# 見やすく整形はしたけど処理内容は本番で書いたものをベースにしています
Num = int(input())

def make_order(gone_list, now_list, count, last):
    done_list = []
    for i in range(0, last):
        temp_gone_list = gone_list[:]
        temp_now_list = now_list[:]
        temp_count = count
        if temp_gone_list[i] == 0:
            temp_gone_list[i] = 1
            temp_now_list.append(i)
            temp_count += 1
            if temp_count == last:
                done_list.append(temp_now_list)
            else:
                temp_done_list = make_order(temp_gone_list[:], temp_now_list[:], temp_count, last)
                for j in range(0, len(temp_done_list)):
                    done_list.append(temp_done_list[j])
    return done_list

print(make_order([0] * Num, list(), 0, Num))

# Num = 3の時の結果
# [[0, 1, 2], [0, 2, 1], [1, 0, 2], [1, 2, 0], [2, 0, 1], [2, 1, 0]]
```

解いた後に解説を読んだら、itertoolsのpermutationsを使うだけでやりたいことできてしまうんですって。
という至極当たり前なことに感動する日々です。
初心者丸出しですが、発見は日々の潤いです。

## 採用活動で浅くても広く話せるようにする（深いに越したことはない）

採用面接では、応募者とSupershipの人間が面することとなります。
応募者の疑問を解消し、応募者がSupershipでどのように力を発揮できるかを判断できる面接官をSupershipからはアサインします。

ただ、たとえば最近多い新卒の逆求人イベント（学生が自らをアピールし、自ら選んだ企業との面談を希望するイベント）では、当日までどの学生と話すかが確定しない上、日に十人以上と人数も多いため、その学生の`得意分野/研究分野/志望分野/志望業種……`すべてに詳しいSupershipの人間をアサインすることには無理があります。  

私も逆求人イベントで学生と話す機会が多いのですが、学生が知りたいことのすべてを提供することはできていないでしょう。もっと伝えられる内容があったはずだとどんよりすることが多いです。
そういう場合は、後日、もっと適任な別の人間と話す場を設けることを提案するのですが、そもそもの入り口である私がちんぷんかんぷんなことを言っていると、その提案を受け入れてはもらえないとなります。

なので、できる限り、Supershipに興味を持ってくれる相手に対して、広く入り口となれる程度の知識量は必要だと感じる機会が多いです。

そのため、流行りの言語やframeworkのチュートリアルに触れてみたり、Udemyで講座聞いてみたり、あと最近は採用活動をしているとDeep Learningのことが話題に上がる機会がかなり多いので読んでみた[ゼロから作るDeep Learning](https://www.oreilly.co.jp/books/9784873117584/)は面白かったです。学生時代はこのあたりに少しだけ関係する研究をやっていたのですが、さすがに昔すぎるので基礎から再勉強……。

競プロもこの一環ではありますね。

## Engineering Manager MeetupのSlack workspaceへ参加する

[Engineering Manager Meetup](https://engineering-manager-meetup.connpass.com/)というエンジニアリングマネージャを主題として語るイベントがあります。 
そのイベントのSlack workspaceがあり、参加してみました。
※ 別に私は運営でもなんでもないです。ほぼROMです。

評価についてや、採用についてや、エンジニアリングマネージャーの抱える孤独についてや、多くの人にとって身近な話題が取り上げられていて、見ているだけで癒されます。そして時に傷をえぐられます。

## たくさん歩いてたくさん寝る

プレイヤーもマネージャーもプレッシャーやストレスはあります。
ただ、少なくとも私にとって、感じるプレッシャーやストレスの種類は異なっていて、マネージャーになってから感じるそれはプレイヤーの時のそれと比べてなんだかもやもやしています。
それは私の能力や気質によるものなのかもしれないですが、アンコントローラブルな領域が増えたからのようにも思えています。

その対応策は`もやもやを書き出して自分の中の不確定的要素を確定的要素に近づける`とか`不安に思っていることを人にひたすら聞いてもらう`とか[宇宙よりも遠い場所を見て号泣する](http://yorimoi.com/)とか諸々あるんですが、私の場合はたくさん歩いてたくさん寝るのが最も効果的だなと実感し、意識しています。
1日平均で10000歩は歩くようにしています。

あと[リングフィットアドベンチャー](https://www.nintendo.co.jp/ring/)やってます。筋トレ最高。

## 最後に宣伝

- [Supershipグループ Advent Calendar 2020](https://qiita.com/advent-calendar/2020/supership)を明日以降もよろしくお願いいたします！ 
- [Super Stories](https://super-stories.com/)というオープン社内報やっていますので読んでくださると嬉しいです！
- エンジニア積極採用中ですので、興味があれば[弊社採用情報ページ](https://supership.jp/recruit/)を訪れてやってください！