手紙～追伸新卒エンジニアの君へ～

## はじめに

新卒だった数十年前の自分に宛てて書いた手紙はもう届いたかな？

https://qiita.com/kaku3/items/2c8d4d783be7ce4fc9ea

前回の手紙では、君が驚かないように最初に君が就職した会社での話ばかりを書いたけれども、君はゲームが大好きで、面白いゲームをつくって暮らしていきたいと思っていたから、今回は君の人生に大きな影響を与えることになるゲーム屋での話しを書くよ。

※ゲーム屋を辞めて普通のIT屋になってからも役に立ってる内容でまとめました。ゲーム業界じゃない方にもお役に立てれば嬉しいです。


## 面白いゲームをつくる５カ年計画

これはまだ大学生の頃の話だから君もよく覚えていると思うけれども。
謎のネットビジネスをやってるっぽいペプシマンと名乗るおにーさんからの電話を受けて、なんだか面白い人だなと思って話を聞きに行ったよね。
どんな流れだったかは詳しく思い出せないけれども「面白いゲームがつくりたいんだ」みたいなことを言ったら、「それにはまずを計画を立てないとダメだ」と言われて計画を立ててくれたよね。

```
1年目        ：とにかく遊ぶ
2年目        ：とにかく考える
3年目 - 4年目：とにかく作る
5年目        ：とにかく売る
```

当時の君には衝撃的な計画だったよね。

まだ学生だった君には「売る」という概念がまったくなくて、とにかく面白いものを作れば売れると思ってたよね。ビジネス用語で言うとプロダクトアウトだね。

君は、この後「市場を無視して感性100%で作った物」で儲けるのは難しいことを、数え切れない程のフリーアプリを作って学んでいくことになるんだけれども、できたらこの手紙からも学んでほしいかな。
あ。自分の感性は必須だから誤解しないでね。感性が不要でマーケットインで物を作れば100%物が売れるとすると、AIに企画を立てさせればよいということになってしまうよね？

この計画にはもう一つすごいところがあったよね。そう、「とにかく遊ぶ」だよ。

インプットの必要性を端的に伝えているんだよね。しかも実現可能な方法で。壮大で退屈な５カ年計画だったら全く着手する気にならないけど、この計画ならまずは最初の１年目には取り組もうってなるよね。１年目の計画を達成する頃には「コンコルド効果」が発生してやめるにやめられなくなっているのも秀逸だったね。

この計画は実際は５年ではなくて全く想像もしない形で達成されることになるのだけど、大事なのはインプットを続けることだと思っているよ。１年目はインプットの仕方を学ぶ時期。インプットの量と質はアウトプットに直結するし、量を集めるには絶対的に時間が必要だから。ゲーム以外のいろいろなこともやっておいた方がアイデアを考える時に幅が出ていいと思うよ。

## 人を動かす企画？

ゲームのプログラムは書けないから、企画で入ろうとか、数学が苦手だから文系に行くみたいな理由で企画で入るんだけど。

企画を考えてプログラマーのとこに行くと「こんなんじゃ作れませんよね？」って取り合ってもらえなくて。今なら「心理的安全性のない組織」の一言で片付けられそうだけど、みんな自分のゲームが作りたくて色々勉強したのに、よく分からないシロートのフワっとした企画を持ってこられてもそれは困るっていう話なんだよね。俺の企画サイコーなのになんでやって凹まないようにね。

売れることとか、面白いことをきちんと証明するか、それができないのであれば、きちんと作れるところまで落とし込む外部設計をしないと人は動かせないんだよ。


## 外部設計はプログラムより難しい

そんなこんなで、プログラムできないと仕事にならないからプログラムも覚えることになるんだけど。
「人に説明するより自分で書く方が早い」って思うようになって、自分で仕事を抱え込んでいたね。
これは、自分のプログラング力が高くなったからではなくて、文章で誤解なく他人に伝えることが難しいからなんだよね。企画者の思いも開発者の考えもきちんと理解して書き出さないとダメ。AIに正しくインプットできる人は未来でも必要になると思うよ。


## 出会いと体験

君は、ゲーム屋に転職した後で割りと有名なゲームを作っていた師匠と出会うことになるんだけれども、その人がとにかく豪快な人で。
途中から別の会社に就職されたんだけれども君の会社とも謎契約をしてて。夜に君の会社にやってきては色々なプログラムを教えてくれて、その足で深夜でもやってるゲーセンに行って当時流行していたDDR（ダンスのゲーム）や鉄拳とかをやって会社に泊まるみたいな生活をしたんだけれども。

君は、どちらかというと堅苦しくて面白みがない人間だったからプログラム教えてくれるだけでいいとか思ったり思わなかったりしてたけど、こういう人達との出会いが君を少しずつ変えていくからね。その時の自分の価値観で理解できない人との出会いや体験は大切にしてほしいな。

誤解してほしくないのは「社員が帰属意識を持たない」という問題に当たった時に、ピザパーティをするのではなく深夜のゲーセンに連れて行けという話ではなくて、言葉ではなく心で理解するためには体験が必要なのでは？という話だからね。

## ダイバーシティ？

プロジェクトのゴールは、プロジェクトに参加しているメンバー全員同じだけれども、企画とデザイナーとプログラマーのゴールは違うんだよ。

このゴールが違う人と一緒に仕事がすることは製品開発において重要な視点を学ぶのに役立つからね。

たとえば、デザイナーはゲームに組み込む絵素材を作るのがゴールだし、プログラマはその素材を受け取ってゲームに組み込むのがゴールだよね。

絵素材を作る仕事では、ルールが明確に定義されていなければ、プログラマがゲームに組み込みやすいファイル名をつけるのは仕事に含まれないよね。プログラムで使える半角英数字で分かりやすいファイル名をつけるのが「常識」とか思ってはいけないんだよ。自分の「常識」やプログラマの「常識」を他の職種の人に押し付けると摩擦が起きるから注意してね。


## せっかく作ったのに使われないツール

ツールを色々作成したけれども使ってもらえないことも多くあったね。
後から考えると「相手としてはツールを使うという仕事が一つ増える」からだったのかなと。

多くの人間は「なんだか分からない新しいことを覚える」のが嫌いで、できるだけ余計な仕事を増やしたくないと思うんだよね。デザイナーはフォトショップやイラストレータといったデザイン作業で必要なツールの使い方を覚えた上で、自分のスキルをそのツール上で発揮しているのだから、名もなき君が作った、そのプロジェクトでしか使えない謎のツールの使い方を覚えることにはモチベーションが上がらないのも不思議じゃないよね？

そのツールを利用して素材受け渡しのコミュニケーションコストが下がったり、自分以外の誰かの作業が効率化されることが、ゲームを完成させるために必要な作業として認知されなかったのかと思うよ。

あと、圧倒的に必要なのは「簡単に使える」ツールであることだね。「プログラマー」の簡単ではなくて、「使う人」にとっての簡単。それであれば、多くの人はあまり疑問を感じずに使ってくれるからね。

せっかくすげー苦労して作ったのに「なんで使わないんだ」とふてくされずに、状況を観察・整理して相手のことを慮ることが大事だよ。


## PM（プレイングマネージャ）

就職したのは小さなゲーム屋だったから、20代の頃に割りと大きなプロジェクトでプログラマーをやる傍らPMをやらされて、嫌で嫌でしょうがない思いをすることになるんだけれども。
炎上して何度もスケジュール引き直したり、見えないお友達のXさんをWBSに書いてみたりなかなか悲惨だったけれども、しばらくした後に「やらなきゃいけないこと」を「やりたいこと」と思う様にすると楽になるというライフハックを発明して、前向きに仕事に取り組める様になるから安心してね。

年を取ったらやらなきゃいけない仕事だけれどもいきなり出来るようになる仕事ではないし、年を取ってから派手につらい思いもしたくないと思うから、チャンスがあるなら若いうちからやった方がいいと思うよ。


## おわりに

令和的にはブラックな話もあるのかなと思いつつ、意外と人生は長いので色々なことに興味を持って前向きにとらえて若い時から有意義な日々を送って頂けたらいいなと思いました。


## おまけ1

https://qiita.com/kaku3/items/fb949aa1a53f1f71c796


営業A短編シリーズ

https://qiita.com/kaku3/items/03aae7b9e3c70c55f513

https://qiita.com/kaku3/items/3378ea55b1240d7360a1


## おまけ2

2030年にIT人材が最大79万人不足するらしいので、学習用の資料をgitで**無料**公開してます(不定期更新)。
よろしければどうぞ。

[エンジニアのためのお仕事問題集](https://github.com/kaku3/workbooks)