南極の図書館

ペンギンが寝ていた…。

今春“プロ”グラマーになる人が、あと1週間で学ぶ3つのこと(+1)

元記事はこちら。
今春“プロ”グラマーになる人が、あと1週間ですべき7のこと | Act as Professional - hiroki.jp by HIROCASTER

シリーズ化?
今春サーバを触っていくのにびくびくしてる人が1週間ですべき7のこと - カイワレの大冒険
今春“組み込み”プロ”グラマーになる人が、あと1週間とはいわないけどこれからやってほしい7のこと - what you see is what you get


元記事はターゲットが広すぎたからか、対象を指定したエントリが書かれている。
私はもう一度、対象を広く戻して、自分なりのエントリとしてまとめてみた。


と、いうのも。
元記事は少なくとも「新卒」が一週間で準備すべきことには当てはまらない。
「新卒プログラマーがこの1年で意識すること(マスターすること)」という趣旨なら十分納得できるのだが。

見出し

・プログラミングの知識
・私が新卒プログラマーに求める3つのこと
・(+1)それでも読むべきプログラマーのための本

プログラミングの知識

プログラミングの知識というものは、はじめは入社後にその会社に最適化させて覚えていくべきだ。


例えば、入社前にマーチン・ファウラーやケント・ベックに心酔し、マイケル・フェザーズよろしく「テストがないコードはレガシーコードだ!(キリッ」と言ったとしよう。
そこで「それはもちろん正しいんだけど、このプロジェクトはテストコード書かないんだよ」と先輩に言われたら、残念だが従うしかない。
それが嫌なら、学ぶべきはプログラミングではなく根回しの方法になる。正しいという理由だけで物事が受け入れられることは少ない。


また、例えばあなたがギークだったとしても、支給されるPCは「低スペックのWindows」であることもよくある。
そこで「かぁーっ!俺のMBPでEmacs使って書いたら1日で書けるのにな〜!ほらみてこの小指?かぁーっ!」と言ったところで、ニックネームが「ミサワ」と決まる以外に事態は変わらない。または無駄に悪化する。


もちろん、プログラミングの知識が多いに越したことはない。
ただ、まだ知らなくてもいい。
入った職場で言われた規約に従いながら結果を出し、それから勉強しても遅くはない。

私が新卒プログラマーに求める3つのこと

では何が大切なのか。プログラマーなのにプログラミングの勉強をしなくて良いのか。
ひとつの例として、私が新卒の社員に求めるものは3つある。
・素直さ
・論理的思考力
・会話力

素直さ

まずは、素直で真面目であること。
前述のように、素直になることを知識が邪魔をするならば、そんな知識はまだ必要ない。
素直で真面目であれば、なんでもすぐに吸収できる。
プログラミング規約や技法はもちろんのこと、社内の人間関係や権限まで、見えないものも理解するよう心がける。
組織で働くというのは、とても人間くさいものである。
それに、できれば時間は守ったほうが良いし、整理整頓(自分のPC内も)など細かいところに気がきく方が上手くいく。
あわせて「人」というものがどういうものであるかも知っておくべきだろう。

私は「新卒が1冊だけ読んできてくれるとしたら」迷わずこれを推す。
上に書いた「正しいという理由だけで物事は通らない」理由など「教えづらい」ことが、これを読むことで理解してもらえるから。
オススメは左の三冊セット。文庫サイズなので電車でも読める。

論理的思考力

これは技術だから学ぶしかない。オススメはこちら。


「ロジカルシンキングって当時流行ってたね」という印象があるかもしれないが、実際に知ってるかどうかで全然違う。
たまに読み返してる。わけのわからない仕事を大量にふられたときの対処法。「マッキンゼー式」を再読する。 - holyppの日記

会話力

いわゆるコミュ力だが、「素直さ」「論理的思考」があればあまり問題にならないだろう。
弊社で中途採用をするときには、プログラミング能力はもちろんとして会話力があるかを見る。
システム開発は一人で最初から最後まで行うことは(一般的に)無い。
自分が作ったものは、自分では承認できない。
例えば、コードレビューでは意図を説明しなければならないし、問題が起きた場合は具体的に説明しなければならない。
また、必要があれば情報の提供の依頼をしなければならない。つまり、人を動かさなければならない。
それに、「メールで10往復しても何も決まらなかったけど、電話したら5分で決まったよ」なんてこともよくある。
会話重要。

(+1)それでも読むべきプログラマーのための本

「全然プログラマー向けじゃないじゃないか!」と怒りの声が聞こえてきそうなので、One more thing.
(とはいえ上記を満たす、つまり「学ぶ姿勢がしっかりしており、人間とはどういうものか理解があり、きちんと考えをまとめられ、話もできる」人材であれば、これを読まずともすぐに頭角をあらわすことは間違いない。)
上記にあわせて、この時期は多くの人の考えに触れ、それをもとにして自分を創っていく時期でもある。
本書の内容は、コーディングやデプロイ、設計から、心構えや人間関係まで多岐に渡るので、学ぶところが多い。

この本には 73 人のプログラマによる 97 本のエッセイと、日本人プログラマ 8 人による 書き下ろしの 10 本、合計 81 人による 107 本のエッセイが収録されています。

最後になるが、目次から日本人プログラマの部分を抜粋する。

日本人プログラマによる知っておくべき 10 のこと
1 命を吹き込む魔法 森田 創
2 ロールプレイングゲーム 関 将俊
3 ルーチンワークをフローのきっかけに 宮川 達彦
4 プログラマが持つべき 3 つのスキル 吉岡 弘隆
5 快適な環境を追求する 舘野 祐一
6 見知らぬ人ともうまくやるには 小飼 弾
7 不具合にテストを書いて立ち向かう 和田 卓人
8 育ちのよいコード 森田 創
9 No といえることの大事さ 宮川 達彦
10 名前重要 まつもと ゆきひろ

+1というか、+107ですが。ぜひ。