より良いプログラマになるのに知るべきことは全て幼稚園で学んだ

All I Need To Know To Be A Better Programmer I Learned In Kindergartenより。

原文
http://codist.biit.com/fiche/thecodist/article/all-i-need-to-know-to-be-a-better-programmer-i-learned-in-kindergarten


プログラミングは複雑なもの。だけど良いプログラマを作るのに必要なことのほとんどは、僕らが幼い頃に習ったこととほとんど変わらない。


このリストのためのインスピレーションはRobert Fulghumの"All I Really Need to Know I Learned in Kindergarten"(http://www.robertfulghum.com/) から得られた。

1.なんでも分けよう

可能ならオープンソースを使おう。
できるならそれに貢献しよう。
みんなの知恵を集めると、少しの大企業の考え方よりも良くなる。

2.公平にいこう

他の技術や、フレームワークや、手法や意見にもチャンスをあげよう。
自分の選択だけがうまくいくと思っちゃダメ。
他の選択肢が君の考えよりずっとうまくいくことあるかもしれない。
心を開いて他のものを良く調べることに何の害もないよ。

3.人を叩いちゃダメ

2番のように、人が.netやJavaPHPを使っているからと言うだけでバカにしちゃダメ。
(僕もそれらでこの教訓を学んだんだ!)
時にはそれらのほうが君が考えるよりずっと使えるし、ずっと便利なこともある。

他人から学べることは多いんだ。
君が相手を粉々にしない限りは。

4.自分で後片付けしよう

うまく動くコードを出せるように努力しよう。
品質管理が君のために、君の全てのバグを見つけてくれるなんて思っちゃダメ。
よくテストしよう。
狭く、広く、にだ。

5.人のものを取っちゃダメ

自分の使うもののライセンスを守ろう。
絶対に盗んじゃダメ。
後で知らなかったふりをするのもダメ。

6.誰かを傷つけたら「ごめんなさい」

コードレビューはとても良いことだけど、めったに行われない。
君より経験のないプログラマに教えてあげることはチーム全体の助けになる。
ただ人前で他人を批判することだけはやめよう。


学習とは人を小ばかにすることじゃない。
他人は君の言うことを聞いてくれることもあるし、そうでないときもある。
自分より劣っていると思う人から多くのことを学べることもある。

7.食べる前に手を洗おう

コードを書き始める前に対象を良く理解するように努めよう
プロトタイプを作ったり、Webにある例を調べてみよう。
同じことをする仲間と話したり、単に遊んでみるのもいいかも。
経験のないことや使ったことの無いものを構築するのはとてもつらい。
手がかりを持って始めれば、結果はおのずとうまくいくだろう。

8.すんだら流そう

使えない物を取り替えたり、書き直したり、リファクタリングしたり、ただあきらめたりすることを恐れてはダメ。
時には「疑わしきものは投げ捨てよ」は最高の哲学だ。
自分のコードに恋してはダメ。

9.あったかいクッキーと冷たいミルクは健康に良い

もちろんプログラマは自身の環境で良い待遇を受けるべきだ。
良い椅子に、静かな環境、最新のパソコンに良いコードを易しく書けるツールが大切。
上司はプログラマに落ちてくるものを遠ざける傘の役を務めるべき。
プログラマなら低層の奴隷階級の人生は拒否しなきゃ。
もし雇い主が君を疎かに扱うのなら、別の会社を探そう。

10.バランス良い生活を

毎日、少し、学んで、考えて、描いて、塗って、歌って、踊って、遊んで、働いて


僕はGoogleの20%ルールが好きだ。
自分が価値あると思うことになら何でも20%の時間を使うことができる。
雇用者は別々に、昼寝部屋や、ゲームの部屋や、その類の落ち着ける部屋を用意するべきだ。
プログラミングはとってもハードな精神的お仕事。
君の脳みそには時々本当に休憩が必要だ。
日常的な週80時間の労働なんて拒否しよう。
君が数時間で得たもの全ては空っぽになってしまうから。

11.午後にはお昼寝

1日24時間戦うことはちっとも生産的にならない。
休憩を取り、家に帰り、ちゃんと睡眠をとろう。
僕はよく意地の悪い問題を家に帰る事で解決する。
仕事帰りの運転中や、次の朝に解決方法が浮かぶんだ。

12.車に気をつけて。手を握って一緒に渡ろう

コミュニティは心の健康に良い。
ブログを読んで、新しい言語やフレームワークについて学ぼう。
議論に参加して他人が何をしているか知ろう。
仕事をするだけじゃ、君は良いプログラマになれない。
下を向いているだけじゃ、ある日君は使い物にならなくなる。

13.興味を持とう。

発泡スチロールのコップの中の種は根が生え、芽が出る。
誰もそれがどうやってか、どうしてか知らない。
でも僕らは皆、それみたいな物なんだ。


毎日新しくて素晴らしいことがプログラミングと技術全体の世界には起きている。
調べよう。魅惑されよう。新しいことを毎日学ぼう。
それで君の心は新鮮さを保つ。君の選択肢が広がり、スキルが更新される。
もしプログラミングが退屈だとか終わったと思うなら新しい仕事を探したほうが良い。

14.みんな、死ぬ

金魚やハムスターやハツカネズミ、発泡スチロールのコップの中の種ですら死ぬ
僕らも死ぬんだ。


コードも悪くなり、死ぬ。
時にはそれをただ埋めてあげて、もう一度やり直さなきゃいけない。
お金をけちるためだけに、酷いコードを保守することと戦んだ。

15.DickとJaneの本を思い出して、最初に習った言葉を思い出そう

一番大事な言葉、「探す」


もし試さなければ、何も学べない。
僕がプログラミングから学んだことは全て、新しいものを試したり、遊んでみたりしたことから来ている。
毎朝僕はいろんなサイトを読んでプログラミングの世界で何が起こっているのか読むんだ。
僕はこれを80年代の初めからずっと続けている。(当時はカタログと雑誌を読むことだけどね。)

ね、5歳の目を通してみればプログラミングはこんなに簡単だ。