職業プログラマーとして生きていくために必要な5つのこころがけ

ツールや言語は覚えるものではなくて使うもの

特定のツールや環境に依存してはいけない

他人の書いたコードを笑うようでは底が知れる

聞くは一時の恥

知らないで済むことは知らなくていい





解説するのやめようかなぁと思ったんですけれどやっぱしときますかね。解説しないほうが多々誤解を招くから面白いと思うけどね(笑)。twitterが面白いのと同じ論法。ぶっちゃけ誤解を生むほど読む人が多いとは思ってないです。

ツールや言語は覚えるものではなくて使うもの

本当はこれだけ書こうと思ったんですよねぇ。
仕事のオファーでも「XXが使える人」みたいなのが多いんだけれど、俺がやっている企業の事務系システム開発のレベルだとそのツールに精通している必要はないんですよ。使えればいい。そして、その手のツールってそのそもなんのために使っているかって言うと、より効率よく開発するために使っているわけです。もし仮にそのツールの使い方自体が異様に難しくて使えるようになるまでに多大なコストがかかるようだったらそんなツールは使われていないんですよ。もちろん未経験者は経験者に比べて使い方を覚えるまでのコストはかかるけれどね。
たまーにツールに詳しいことを自慢して、そのツールを使いこなすためには多大な努力が必要だみたいなことを必要以上に吹聴する人もいますが、仕事的にはあまり意味がない。本当にそんな難しいツールならそもそも流行らないですから(笑)。
組み込み系とか、マシン語的な所を直接叩くような世界はまた違うのかも。あとゲームもか。

特定のツールや環境に依存してはいけない

これは生きていくために必要なこと。もちろんある言語やある環境を極めるのは大事だし、個人的にはそうなりたいとは思うのですが、それをやってもその言語、その環境が未来永劫流行っているとは限らないのですよ。
そしてもう一つ。
いろいろな所で仕事をすると、自分にとっては必要な環境を構築できないことも多いです。そういう場所でも仕事しなきゃいけないんですよね。
実際に仕事をすると、心ならずも覚えちゃうから心がけている必要は別にないですけど。

他人の書いたコードを笑うようでは底が知れる

ただし、動くコードに限る。
面白いんですよね。ありえないような論理で動いていたり。いくら追っても動く理由がわからなかったり。普通こんなことしねーよみたいに思うコードもあるけれど、そういうのも笑うんじゃなくて自分の物にしても決して損はしないと思う。今現在自分が書いているいけていると思ったコードが数年後には笑い物にされることだってあるんですからね。

聞くは一時の恥

いくら経験を積んでも知らないことはあります。それが仕事に必要なことならどんどん知っている人に教えを請いましょう。この業界の人には教え好きが多いので喜んで教えてくれるでしょう。たまたま聞いた相手がそう言う人でなかったらうぜぇなと思われるかも知れませんが辛抱強く教えてくれそうな人を探しましょう。大丈夫きっといるから。もしかしたらネット上にいるかもしれない。
特にその職場特有のことだったら聞かなきゃ絶対わからないんですよね。だからどんどん聞きましょう。恥ずかしくてもかまわない。エスパーじゃないんだから知らない物は聞かなきゃわかんないんですよ。

知らないで済むことは知らなくていい

全てを知る必要はないです。必要なことを知っていればいい。巨大システムの画面項目の位置をちょっとずらすのにそのシステムの仕様全体を半年かけて一通り知ることが必要でしょうか?必要ありません。初めて触れる言語でコードを書く時に、その言語が開発された背景やその言語で作られたアプリケーションにどのような物があるかを知る必要があるでしょうか?必要ありません。そういうことです。
何が必要で何が不要かを見分けるのは大変ですけれどね。
言語の話を書いちゃったのでちょっとだけ触れると、設計思想を理解することは大事だと思います。言語に限らないな。開発ツールとかミドルウエア的なところもそうですね。何で大事かというと、設計思想がわかると芋蔓的に理解が進むことがあるんですよ。こういう考え方ならきっとこう書けばこう動くに違いないみたいな推測ができるようになる。推測なんだからそうならなくて当たり前、もしそうなったらラッキーってな感じです。そうすることによってより効率的に開発ができたり、できないと思いこんでいたことができることがわかったりすることもありますね。




と書いてみて、できてないなぁと思うわけです(笑)。こころがけてはいる。でもやっぱ知らない環境で仕事するのは怖いですね。viエディタしか無い所で仕事するのはちょっとやだ。でもviエディタしか無い所で仕事するはめになったら対応せざるを得ない。
心がけているというか自然にそうなるって感じですかねぇ。タイトル詐欺ですね。そりゃそうだそう言うネタなんだから。


どうもプログラマ的な話が書いてある記事を読んでも俺の感覚とはずれているなぁと思うんですよ。研究者とか趣味でやっているんならいいんだけれどねぇと思ったりね。
生きるために泥臭くプログラムを作っている職業プログラマーの世界とは別の世界なのかなぁ。