【ポエム】コミュ力低いプログラマがサラリーマンで生きていくために工夫すべきと思うこと

この記事は[フューチャーアーキテクト（裏） Advent Calendar 2017](https://adventar.org/calendars/2449)の8日目の記事です。
厳密には９日になってしまいましたが寝るまでが８日だという自分ルールを適用させていただきます。
7日目は[平凡なITエンジニアが40の壁を超える方法を、40手前にして考察してみる](https://qiita.com/ya-mada/items/dc29fa6a9d4a199e2d85)でした。
9日目は担当がいませんね。。。
「（裏）」はもともとQiitaのAdvent Calendarで行われようとしましたが、
テーマ的にちょっとでも目立つとメンバーが（社内的に）死にゆく可能性があったため、あまり目立たない[Adventar](https://adventar.org/)で行われることとなりました（たぶん）

技術的な話は無いため、Qiitaに書くべきことではないかもしれませんが、
Qiitaを始めたときに、ブログは辞めてしまったため他に書くところが無いのです。
本当にごめんなさい。勘弁してください。


# コミュ力低い（いわゆるコミュ障な）プログラマがサラリーマンで生きていくために工夫すべきだと思うこと

私は、出来ることなら人としゃべりたくない という思いでプログラマを目指し、そして プログラマになる ことだけは実現しました。
しかし、企業に属しサラリーマンとして生きるためにはコミュニケーションは必須であり苦痛な状況ではありますが、こんなコミュ障に、独立して生きる能力があるわけもなく、サラリーマンという安寧を捨てる勇気も無く、いわゆる社畜として生きてきました。
そんな生活の中、コミュ力低でもサラリーマンプログラマで生きていくのにやったほうがいいと思ってきたことを書き出そうと思います。

## 前置き
完全な主観が入っていますし、大げさに書いたりしていますし、ネタ記事ですので、絶対に真に受けないでください。
ジョークみたいなものだと思って見ていただけると幸いです。

あと、ちょいちょい論理破綻してますし、最後の方は力尽きて内容が薄いです。すみません。
ポエムは難しいですね。

## ①概要だけ伝えるコミュ力

私は人としゃべりたくないです。出来ることならばPCとだけしゃべっていたいです。
残念ながら、しゃべらないと全く仕事にならなかったので、しゃべりたくないという願望は早々に諦めましたが、
それよりも話が伝わらなくて困ったことが多々ありました。

一応、「結論を先に言う」みたいなこととか実践していたのですが、
なかなか周りに仕事の内容を伝えることができません。
伝わらないのは、相手の技術知識が無いからわからねーだけじゃねーの？
と思うことも多々ありましたが、仕事にならないので改善しようと思いました。

### 細かいことはどうでもいい

私の場合、「事実を全て伝えよう」と思っていたのが、逆に話を伝わりにくくしていたようです（当時の先輩のアドバイスで気が付きました）。
なので、ほとんどの説明を端折ることにしました。あとは聞かれたら答えたらいいやぐらいの感じで。

このおかげか概要だけは伝えることはできるようになりました。

逆に全てを伝えることはできなくなりましたが、
実際のサラリーマンの仕事としても、全て伝える必要は無く、概要だけ伝えて、相手を解った気分にさせるほうが重要だということもわかりました。
そもそも人間は人の話を100%理解するなんて不可能だという話もありますが、
技術を知らない人に技術的なことを理解させる必要なんて無いということです。
技術的なことは俺に任せておけ！ぐらいの感じがお互いにとってハッピーなのだと思います。

あと、仮に、顧客をだまくらかす必要のある場面に出くわした際には、
細かい話をせずに、解った気分にさせる能力は大変重要な能力になるでしょう:smiling_imp:

## ②事実を伝えられるアピール力

私は若いころ、自分の技術力が重要であって、周りにどう評価されようと関係ない、という幻想を持っていました。

しかし、周りにいませんでしたか？
ぜんぜんプログラミング知らないくせに、なんだかわからないけど周りに評価されて、結果、技術的に面白そうな仕事をしてた奴（意識高い系）。

そういう出来るって思わせる人って、コミュ力高いというのもありますが、私が思うに、成果をより大きく見せるアピ力も高かったりすると思います。

あんなの騙されてるだけだ！って思うのも良いのですが、何もしなければ、技術的にも面白そうな仕事は取られてばかりなので、最低限の対抗をしましょう。

### 自分の成果を伝える

自分の成果を周りは知りません。まずは伝えるための行動をします。日報でも、週報でも、成果発表会でも何でもいいので。
ここは面倒くさがってはダメです。（意識高い系はこれだけに全力です。）

### 大げさである必要はない

大げさに表現しアピールするには高いコミュ力が必要であると考えます。
コミュ力の低い私には到底無理です。

また、大げさに伝えて事実以上の評価を得るのはズルくて卑怯なことだと考える方もいるでしょう。

だからといって自分を過少に評価されてしまうのは損でしかありません。
正しい実績を伝え、正しい評価を得るためにどうするかを考えます。

### 謙遜はいらない（かもしれない）

謙遜する姿勢は日本人の美徳とも言われていますが、
謙遜で伝えたおかげで自分の評価が下がっては意味がありません。
自分はすごい成果だと思ってるのに、「大したことではありませんが」→「なんだ大したことないのか」では損するだけです。
（特に技術力の低い上司・評価者には謙遜なのかどうか判断できません。）
謙遜がダメだとは言いませんが、謙遜に伝えた結果、相手にどう伝わるかは考えましょう。

### プレゼンテーションを工夫

私の勤めた会社はどちらも成果発表会的なものがありました。

ダルいわー。適当でいいよね。それだけで評価されるわけないし。
と考える人もいますが（新卒の頃の自分）、成果を改めて伝えるチャンスなのでちょっと頑張ります。

次は、私がプレゼンテーションで行ってるちょっとした工夫を少し紹介します。
本当はプレゼンテーションの本読んだりTED見て勉強するとかしたほうが良いと思いますが、
そんなプレゼン力を上げる努力へのモチベーションが無い、私がやっていることとして紹介します。

この程度の工夫では劇的に良くなったりするわけではありません。ただ聞いてもらうために、伝えるためにある程度の工夫は必要です。だって聞いててつまんなかったら寝るでしょ。聞くほうもダルいのです。

#### 資料は多く書いておいてプレゼンでは端折る
思うのですが、プレゼンで資料をただひたすら読んでいく人ってプレゼン上手く見えませんよね。
上手い人のプレゼンを見ていると、資料を基に進めてはいますが、書いてないこと沢山しゃべったり、資料に書いてあることを飛ばしたりしてます。

私は書いてないこと喋るとかできないので、資料は多めに書いておいて、その中からピックアップしてしゃべることで少し良い感じに見えるようにしています。あとは読んどいてー、って感じで。
（プレゼンで資料をただひたすら読んでいくプレゼンにはならなくなる）

#### 演台から離れてスクリーンの前でスクリーン指さしながらしゃべる

私はじっとしていることが苦手＆プレゼン中に聞いている人たちの顔を見れません。
これ凄くダサいらしいのですが、
演台から離れて、スクリーンを見ながら、スクリーンを指さしながらプレゼンすることで、
顔を見ない＆フラフラしてても目立たなくなります。
（ただし演台から離れるには備え付けではないマイクが必要です）
初めて演台を離れるときはかなり勇気が必要でしたが、聞いている人の顔を見るよりは楽でした。

#### 制限時間内に収める
成果発表会の発表時間は一人当たり長くて10分程度しかなく、1年間分の成果発表だったりします。
10分で1年分の働きを全て発表できないので、無駄に評価を下げないように端折りましょう。

* 反省・失敗は端折る
    少ない時間で失敗を長々発表している時間は無いです。まずは成果の出た内容を盛ることを考えます。
    発表形式として「反省」の項目を強制されているような場合も、反感を買わない程度に短くし、成果を多く盛りたいです。
    （質問等に備え、反省事項を考えることはしておきましょう。普通に今後のためになりますし。）

* 掛け算を意識してアピールする
    すべての成果を発表するのは無理なので、2つ以上の観点で発表できる成果をサンプリングして発表するのが、私の意識していることです。
    例えば、
    * 多くの成果を出しました（量をアピール）
    * この成果はこのように高品質の成果でした（質をアピール）
    * また、この成果はこのようにここまで工夫した結果です（深さをアピール） 
    
    と発表することで、
        多くの成果はどれも高品質でありどれもとても考えられていた。（量×質×深さ）
    という勘違いをしてくれたりします。

    こう言うとズルい感じがしますが、本当に多くの成果すべてが高品質であったとしても、
    それを短い時間で全て伝えることは無理なのでこういう方法も必要です。
    少なくとも嘘はついていないですし、本気で勘違いするのは普段自分のことをほとんど知らないにわかです。

    しっかり自分を見てくれていた人は、「そういえばあの仕事もこの仕事も品質高かったな」と思い出してくれるだけです。
    この程度でガチ勘違いする上司・評価者はメンバーのことを見てないただのお飾りなので、この人たちが勘違いしようが、それは私の所為ではありません。

制限時間を良いように利用する事について書きましたが、
そもそも、面白いプレゼンが時間オーバーするならまだしも、私のような**つまらない**がデフォルトのプレゼンを10分以上聞くなんてお互い辛いだけなので、制限時間は意識するようにしています。

## ③ランクは苦痛にならない程度でできるだけ上げる

先の話にも絡みますが、評価されれば評価されるだけ、面白い仕事ができるチャンスが増えます。（つまらない仕事も増えます。つまり単純に仕事が増えます。）
また、ランクが上がればランクが上がるだけ自由が増えます。（上のランクであるほど、つまらない仕事を他人に振ることができます。）
あと給料（サラリー）が増えます。

技術力・プログラミング力とリーマンの評価は、必ずしも一致しないのでリーマンの評価のために努力することは不毛なことと考えるかもしれませんが、
サラリーマンエンジニアとしてやっていくのであれば自分の自由を得るために必要なことです。

ただし、ランクを一定まで上げると次の問題がやってきます。

### マネジメントやれよ問題

ある程度評価されると、マネジメントの話が舞い込んできます。
うれしく思う人はそのまま受ければいいと思うのですが、
プログラマ志向の人たちは、マネジメントは面倒でつまらないし意味のない仕事だと考える人もいるようです。
というか私はそういう考えでした。コーディングから離れたくないし。

マネジメントには、

* チームメンバの管理
* モチベーション管理・教育
* 調整ごと・責任
* たくさん人と話す。

などなど、本当に本当にめんどくさい仕事が満載です。

私は、結果として、いろいろ妥協してマネジメントをすることになりましたが、その時マネジメントをしていて思ったことがありました。

### プレイングマネジャーという罠

コーディングから離れたくないなら、コーディングもやりつつマネジメントもやればいいじゃないか！
君はプレイングマネジャーだ！

プログラマを続けたいような人にとっては甘い言葉のようですがクソくらえと私は言っておきたいです。

まるで、プレイングマネジャーはマネジャー初心者でもできる仕事のような言い方をしてくる奴（上司）がいますが、
それは罠だと私は考えます。
プレイングマネジャーはマネジメントの仕事から逃れられたわけではありません。
自分個人の仕事で成果を出そうが、マネジメントの仕事がおろそかになれば責任を取らされます。
というかマネジメント初心者なのに自分の作業なんてしている時間なんてあるわけないじゃないですか？
プレイングマネジャーはマネジャーをある程度極めた人の為の上級職です。騙されてはいけません。

### やっぱりコード書けなくなる問題

やはり頑張って捻出しなければコード書く時間はありません。
特に自分のチームのプロダクションコードを書く時間が無いです（特にコードを読んで影響範囲を把握する時間が無い）

私はどうしてもコードを書いていたかったので、自分のマネジメントを効率化するためのツールを作ることにして、コードを書く時間を作っていました。そのツールの品質は低かったですが、バグっていもどうせ自分のマネジメントはバグっていたので問題ありません。

### マネジメントは大切なお仕事

一度、マネジメントをやっておくと色々わかってきます。
ついでに自分が本当にマネジメントを楽しめないということも理解できましたし、ついでにダメマネジメントをしている奴もわかるようになりました。

私は、組織にとってマネジメントの必要性を理解できないという時期もありましたが、
これは、本来のマネジメントをしている人が周りにいなかったから、必要性を感じなかったのだというのもわかりました。

## ④マネジメント知識と理解

私は最終的に運よくマネジメントから離れることができました。

ですが、なんやかんやでマネジメントという仕事の知識はサラリーマンにとって必要な知識だとも思いました。
例え自分のチームを持たなかったとしても、自分のチームのマネジャーの仕事を理解して、フォローや根回しをすることで、自分のやりたくない仕事が舞い込む（増える）のを防いだり、自分のやってみたい仕事を優先的にもらったりできます。

あとは残念ながらダメマネジャーについてしまったとき、放置するとそれだけでチームが炎上し、自分の仕事も増えるので、マネジメントを少しフォローしてあげると、自分にとっても組織にとっても幸せになれるかなと思います。

### 中間管理職の邪魔をしない

意外と気が付かないところで中間管理職（上司）の邪魔をしていることがあります。

例えば、「残業するな！早く帰れ！」みたいな会社の方針があったとき、中間管理職はそれをメンバーに徹底するのが仕事になります。かわいそうですね。
とりあえず中間管理職は「早く帰れと」ミーティングでメンバーに伝えます。
→自分には関係ないねと思い、中間管理職が自分に強く言えないのを良いことにガン無視します。
→他のメンバーがあの人が無視してるなら自分も無視していいやと思い、無視します。
→中間管理職はメンバーが早く帰っていないことに気が付き、毎日時間前に「帰れ」メールを送ることにしました。（無駄な仕事が増えました）
→本当に中間管理職ってかわいそうですね。
（全て妄想です）


中間管理職の邪魔（意図していなくても）をしてしまうと、中間管理職はその対応に時間を取られ、結果あふれた中間管理職の仕事が自分に振ってくる可能性があります。嫌ですね。
ヘタな邪魔はしない方が得策です。


## ⑤転職できる準備をする

（日本の）サラリーマンとしては転職は良くないことかもしれませんが、サラリーマンプログラマとしては必要だと思います。
ぶっちゃけIT企業なんていつ潰れてもおかしくないので、今属している会社が無くなっても生き残れる先を用意したいです。

ふつうに能力があってコミュ力が高ければ、転職の面接で簡単に受かると思うので、次のようなことを考える必要はないと思いますが、コミュ力低い私としては、まず面接が苦痛なので、ある程度面接しないでも受け入れてくれる先が欲しいです。

### 自分のタイミングで転職する

会社がヤバくなってから転職活動を始めるよりは、自分のタイミングで転職活動を始めたほうが、準備もできますし面接に対する負荷は減ると思います。

また、もしかしたら自分にとって今の会社よりエンジニア人生を楽しめる会社があるかもしれません。
（私は、いまの会社では、全くマネジメント業務をしないでコードばかり書いています:smirk:）

### 円満退職する

これは勝手なイメージですが、IT企業には「出戻り制度」がある会社がそこそこあります。
「出戻り制度」があるなら、転職して転職先が潰れたら戻ればいいですし、前職が潰れても転職後の自分には影響ないです。
リスク分散ができてかなり安心です。
潰れなくても転職して失敗だったと思ったらな出戻ればいいです。
出戻り制度がない会社でも偉い人に土下座すれば戻れる可能性もあるかもしれません。
そして戻れる可能性を限りなく上げておくため、辞めるときは**円満に**辞めましょう。

### 技術ブログ書く・GitHubにアップする

所属する企業のルールや守秘義務等で難しい場合もありますが、できる限り自分の能力はオープンにしていきたいです。

私が一度転職したとき、面接で知らない人に自分の能力を伝えるのは死ぬほど大変だ、と思いました。
技術ブログやGitHubのようにURLだけ伝えてある程度の能力が伝わる情報があれば、面接が少し楽になるんじゃないか？という**予想です**。


## ⑥悪目立ちは避ける

話は突然変わりますが、IT企業はフルフレックスとか、服装自由とかいう企業が多い印象です。

だからと言って、昼過ぎ出社してみたり、膝の破れたジーパンやサンダルで働いたりするのは何故か怒られたりします。めんどくさ。

バカらしい古い考えで頭が固いやつらと言って切り捨てるのも良いですが、サラリーマンとしては無駄な軋轢は避けたいので、社長や取締役の服装を見て、毎日スーツであれば、ジャケパンの襟付きぐらいの範囲で服装を考えるとか、部署のメンバーの中で真ん中より少し早い時間に出社するとかしておくと、立派なサラリーマンになれるのかなと思います。




# まとめ
1. リーマン的コミュ力  
    わかった気分にさせてあげることが重要。  
2. 負けないアピ力  
    意識高い系に面白い仕事を取られないための対抗手段を考えよう。   
3. 社内的に偉くなり自由を勝ち取る  
    社内でエンジニアとしての自由度をあげるためにリーマンとしての評価もされておこう。  
4. マネジメント知識   
    マネジャー・上司がクソだと自分も変な仕事にまきこまれるから出来る範囲でフォローしよう。  
5. いつでも転職できる準備をする  
    赤字続くとかまじやべぇから（弊社ではない）  
6. 会社との軋轢は避ける  
    こだわりが無いなら無意味なコミュニケーション（良くわからないけど怒られるとか）は防ぎたい。  

コミュ力低＆リーマン＆プログラマなセグメントの方のちょっとした参考になれば幸いです。

---

裏なのでひどい表現が多々ありますがすべてネタデス。