best-programmer

私は非常に優れたプログラマーとは言えませんが、この問題についてはすでに5年間繰り返し考えてきました。皆さんと私の考えを共有します:

まず、答えは絶対にではない「何年もコードを書けばそれでいい」というものではありません。私は10年の経験がありながら、コードがとても下手なプログラマーを数多く面接してきました。経験は貴重ですが、経験だけでは十分ではありません。将棋のようなものです。もし真剣に研究し、復習し、自分自身に挑戦し続ければ、名人になれるかもしれません。しかし、だらしないやり方で将棋を指し続けて20年経っても、ただの「へぼ棋士」にすぎません。

私が思う、比較的有効な上達方法:

1. コードを読むことを学ぶ

多くのプログラマーは自分で書いたコードしか使いたがりませんが、達人は他人が書いたコードを簡単に呼び出すことができます。表面的には仕事の習慣が異なるように見えますが、実際には能力の差です。コードを読むことは書くことより何倍も難しいです。

私は、勤務中にはチームメイトのコードレビューを多く行い、退勤後にはGitHub上のオープンソースコードを読んでみることをお勧めします。

2. 復習

プログラマーは一般的にとても忙しく、終わりのない仕事を抱えています。しかし、一部の会社では、ただ繰り返し同じことをしているだけです。たまには手元の仕事を置いて、自分の弱点を分析したり、悪い習慣を改めたり、新しい本を読んだり、新しい言語を学んだりする時間を取りましょう。

3. 個人プロジェクトを行う

仕事でのプログラミングは通常、一部の技術にしか精通させず、知識の穴を作ってしまいます。これは、長い間一人で裏庭でシュート練習をしているようなもので、初めて試合に出た時(惨敗の中で)初めてパス、ディフェンス、リバウンドといった概念も必要だと気づくのと同じです。

Facebookはいわゆる「フルスタックプログラマー」を雇うのが好きです。つまり、デザインからインタラクション、HTML、CSS、JavaScript、サーバー、SQL、アーキテクチャ、データ統計まで一人でできる人のことです。フルスタックプログラマーになる最良の方法は、個人プロジェクトを継続的に行うことです。

4. Q&Aサイト

質問するのも回答するのもとても良い学習方法です。良い質問を書くことは、その問題を解決するために必要なコードを書くことよりも難しいこともあります。質問を書くことは、自分の思考のロジックを整理するのに役立ちます。毎週、stackoverflow.comそこで良い質問をするか、良い回答を書いてみてください。

5. 優れたチームに加わる

最良の上達方法は、自分より優れた人と一緒に仕事をすることです。達人は集まりたがるものなので、多くの人は優秀なアーリーステージのスタートアップを選びます。私はシリコンバレーと创新工场で起業したときに、多くのすごい人たちに出会い、彼らから多くのことを学びました。