非エンジニアによるエンジニアチームのマネジメント

はじめまして！
[Livesense -自 AdventCalendar2017](https://qiita.com/advent-calendar/2017/livesense-ji)の22日目を担当する @taku_shibuya です。

~~このAdventCalendarのテーマが**『自』**由なので、WordPressで作った個人サイトのしょーもない話しをしようとも思ったのですが、全くニーズがなさそうなのでやめておきます。~~

本エントリのテーマは**『エンジニアと仕事する上で大切にするようになったこと』**です。

今もなお日々葛藤しながらやっていますので、『こうすれば上手くいくよ〜』というノウハウ共有ではなく、『自分の場合こうしたらエンジニアと仕事するのが楽しくなったよ』という事例の共有です。エンジニアと何らか業務で関わる方が『エンジニアと一緒に仕事するのが楽しい！』となれば素敵だなと思い、書きました。

さっそく本題です。自分がエンジニアと仕事する上で大切にするようになったことは

- **相手をよく知り、価値観を受容すること**

です。すごく当たり前のことですが、エンジニアと働くうえですごく大切なことだと考えるようになりました。

詳細の前に、まず自己紹介をさせて頂きます。

# 自己紹介
![macbook-606763_1280.jpg](https://qiita-image-store.s3.amazonaws.com/0/221415/56afb19f-4692-568e-b8c7-b0e2a33c5616.jpeg)

『営業 SQL』でググってみてください。一番上に出てくるslideshareの表紙の人が自分です。数年前に、リブセンスに営業担当として入社しました。

紆余曲折あって現在は、[IESHIL](https://www.ieshil.com/)と[DOOR賃貸](http://chintai.door.ac/)のプロダクトマネジャーとして開発とWEBマーケを統括しています。(非エンジニアなので開発組織はエンジニアリーダーと共にです)

リブセンスに入社してからの紆余曲折はこんな感じです。

① 営業チームの立ち上げ
↓
② 営業チームの解散
↓
③ WEBマーケに異動
↓
④ 開発に異動 (注 : エンジニアとしてはではなく、マネジャーとして)
↓
⑤ WEBマーケ + 開発

異動希望的なものはこれまで1度も出しておりません。リブセンスでは職種越境することが歓迎されるせいか、職種が変わる方が他の会社よりも少し多いよう感じます。

自分の場合、リブセンスには『営業組織の立ち上げ』というミッションで入社しました。入社して営業組織をつくり始めたところ、ビジネスモデル的に営業人員を増やすフェーズではないことに気がつき、自ら営業チームの解散を決めました。

営業メンバーの異動先だけはキッチリ決めようと奔走していたら、自分の異動先を探すのを忘れてうっかり社内ニートになりかけたところ、WEBマーケチームが拾ってくださり、**職種が変わりました**。

WEBマーケは未経験だったので苦労はありましたが、やり甲斐を感じ充実した日々を過ごしてました。そんなある日、社長室に呼ばれて『来月からプロダクトグループ(開発チーム)に異動』と言われました。全く予想していないことに驚きを隠せませんでしたが、とりあえずまた**職種が変わりました**。

(その後、開発とWEBマーケのチームを両方担当させて頂くことになったのですが、今回のエントリとは関係がないため割愛します)

# 開発チームへの異動
![code-944504_1280.jpg](https://qiita-image-store.s3.amazonaws.com/0/221415/bc2440cb-bde9-cede-8626-9d7ea43748d1.jpeg)


予想よりはるかに苦戦しました。

技術力の壁にぶち当たる以前に**エンジニアの価値観**が理解できず、空回りすることが多く、ビジネスサイドでのマネジメント経験がほとんど役に立たなかったからです。

上手くマネジメントできていない自覚があったので、エンジニアリーダーに『ぶっちゃけ自分のことどう思ってます？』と聞いてみたところ**『不信感しかありませんね』**という有り難い言葉を頂戴しました。

開発チームに異動してしばらく経ってわかったことは、ビジネス職の自分とエンジニアは**別人種**であるということでした。

少し表現が過激かもしれませんが、別人種だと自分が感じた理由が~~タイトルがだだかぶりしている~~こちらの[エントリ](https://qiita.com/jonathanh/items/79056e13ac1f32a658ea#%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E8%84%B3%E3%81%A8%E3%81%9D%E3%81%86%E3%81%98%E3%82%83%E3%81%AA%E3%81%84%E4%BA%BA%E3%81%AF%E5%88%A5%E4%BA%BA%E7%A8%AE%E3%81%A7%E3%81%82%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E7%90%86%E8%A7%A3%E3%81%99%E3%82%8B)にキレイにまとまっておりました。(面識もないのに勝手にリンクして、申し訳ございません)

エンジニアと別人種の自分はどのようにエンジニアチームをマネジメントすれば良いのでしょうか？その時の自分が出した結論は**留学してみる**でした。留学といっても海外に行くわけではなく、**同じ仕事をやってみる**とういことです。

さて、問題は技術力です。その時の自分の技術レベルはこんな感じでした。

- **Ruby** :  "Hello World"レベル
- **Rails** : Rubyのフレームワークということは知っているが、それがどんなものかのイメージは持てていない
- **SQL** : 苦労しながらデータを取り出すためのSELECT句は書ける
- **HTML＆CSS** : 業務でソースを目にすることはあるが、ほとんど読めない
- **javascript** : 呪文に見える
- **Git＆コマンド** : 黒い画面で魔法を使っているように見える

まずは技術のインプットが必要です。Gitの本を1冊読んで、[Progate](https://prog-8.com/)の有料会員になって、エンジニアつかまえて質問しまくって、何とか現場デビューを果たしました。(ちなみにProgateは控えめに言っても最高でした)

最初はテキスト修正や画像の差し替えなどの超簡単なフロントエンドから始め、エンジニアが面倒そうな業務をどんどん拾うようにしました。

実際にやってみると楽しくなってきて、LPをまるっとコーディングしてみたり、PHPでパーシャル化してみたり、クロスドメイントラッキングを仕込んでみたりできるようになりました。ほんの少しだけエンジニアに近づくことができたと自負しています。

せっかくなので数えてみたところ、2017年12月22日時点で自分が出したマージ済みのプルリクエストは、ちょうど**80個**でした。(最初のプルリクは2016年2月だったので約2年間のプルリクの数です)

脱線しました。本題に戻ります。

# 留学(開発に参加)して理解できたエンジニアの価値観
実際に開発に参加して手を動かすと、今まで見えなかったエンジニアの**価値観**が見えてきました。

- **疑問** :disappointed_relieved: : エンジニアは受託っぽい仕事の進め方をなぜ極端に嫌うのだろう？
- **わかったこと** :open_mouth: : 仕様をガッチガチに固めて依頼されるとツマラナイ...
- **変えたこと** :sunglasses: : 仕様を考えるところから巻き込む

自分ひとりで考えた仕様より、よっぽど良いモノが作れるようになりました。

- **疑問** :disappointed_relieved: : エンジニアは納期にコミットするのを極端に嫌がるのはなぜだろう？
- **わかったこと** :open_mouth: : 動くモノは作れても、負債も一緒に作ってしまう怖さがありストレス...
- **変えたこと** :sunglasses: : ビジネスの都合を伝えて、開発スピードはエンジニアに委ねる

ビジネスの都合に間に合うような実装方法をエンジニアが考えてくれるのでほとんど困ることはありません。

- **疑問** :disappointed_relieved: : エンジニアは転職市場でモテモテだからウハウハじゃないの？
- **わかったこと** :open_mouth: : 技術の移り変わりで常に新しい学習が求められ、キャリアへの危機感が強い
- **変えたこと** :sunglasses: : 技術的なチャレンジを歓迎し、ビジネスとのバランスをとる

短期的に実装スピードが遅くなっても、エンジニアの技術力が向上したり退職者が減ったりするので強いチームができる。その結果、中長期ではビジネスメリットが大きい。

上記以外にも留学を通して、エンジニアの**色んな価値観**に触れることができました。

# 『信頼関係』でエンジニアの協力を引き出す
![hi-2292499_1280.jpg](https://qiita-image-store.s3.amazonaws.com/0/221415/930a7310-a22c-a9c3-658a-ffcda4602536.jpeg)

価値観に触れて**受容できる**ようになると、だんだんエンジニアとの会話が盛り上がるようになってきました。

『不信感しかありませんね』と言っていたエンジニアリーダーから『これまで関わったビジネスの人で一番仕事しやすいです！』と言ってもらえるほど関係性が変化したのです。

もう1つの大きな変化として、エンジニアの価値観を受容できるようになったせいか、自分自身もいつの間にか**エンジニアを信頼できる**ようになっていました。

信頼関係ができると**エンジニアの協力が得やすく**なり、色々仕事がスムーズに進められるようになりました。(実装してもらうめの説得とかが必要なくなりました)仕事がスムーズになると成果が出て、楽しくなるという好循環サイクルに入ったように感じています。

# まとめ
今回の留学(開発に参加する)経験の学びのまとめです。

① 相手をよく知り、価値観を受容すると相手を信頼できるようになる
↓
② 自分が信頼すると相手も信頼してくれて協力的になる
↓
③ 協力が引き出せると成果が出て仕事が楽しくなる

自分はマネジャーとしてエンジニアと関わっていますが、ディレクター・営業・CSなど他の職種の方でも応用可能な考え方だと思います。エンジニアと業務で関わりのある方は、**相手をよく知り、価値観を受容すること**で仕事がスムーズになったり楽しくなるかもしれません。

以上で1回もコードが出てこないエントリを終了します。来年はもっと技術的なことが書けるようになってたらいいなー！