今こそ武者修行!超絶プログラマーになるための10の方法

プログラミングはがむしゃらに練習すればよいというものではありません。

きちんとしたスキルを身に着けるためにはきちんとした鍛え方というものがあります。

本記事ではプログラミングスキルの武者修行の方法を10個ご紹介します。

本記事は英文の「10 ways to improve your programming skills」をもとにしています。

1. 新しいプログラミング言語を学習する

新しいプログラミング言語を学びましょう。

プログラミング言語は日々進化しており、新しい言語にはそれまで知らなかった、あるいは無かったパラダイムを含んでいることはよくあります。

新しいと言っても古い言語を土台にしているものが多いので、それほど習得は難しくないはず。

2. やる気が出る良書から学ぶ

プログラミングについて書かれた本は数あれど、全てを読むことなどできません。

読むならやる気が出る良書を選びましょう。

良書は考え方を変えてくれたりレベルアップしてくれます。

ただし、「一日で理解できる」とか、「サルでもわかる」といった本に良書は少ないので避けた方が良いです。

先輩エンジニアや尊敬できるプログラマの推薦本から始めてみるのがよいかもしれません。

3. オープンソースプロジェクトに入る

オープンソースプロジェクトに参加すると、プロジェクトメンバーと協調作業ができます。

開発となればコードを徹底的に咀嚼して理解する必要があるので、よいトレーニングになります。

オープンソースプロジェクトの多くは英語でのコミュニケーションが必要ですが、他の参加者も英語圏以外から参加しているプログラマも多く、下手な英語でもたいてい理解してくれます。

英語のスキルアップにもつながり一石二鳥かも!?

4. プログラミングの問題を解いてみる

Web上には山のようにプログラミングの問題が落ちています。

これらを解くことでスキルを高めることができます。

コードゴルフに挑戦するのも良いでしょう。

コードゴルフとは与えられた問題に対していかに短い文字数で解くかというもの。

コードゴルフを解けばプログラミング言語に対してより深い理解が得られますし、クリエイティブになれます。

5. プログラミングする

自分でプログラミングをゼロから組んでみましょう。

プログラミングスキルの最も優れた磨き方はプログラミングを実際に組むことです。

間違ったとしても、間違いの中から学ぶことも多いです。

プログラムの完成を目指すことは、本で勉強すること以上に楽しいですし、やりがいもあります。

6. コードを読む

完成されたプログラムコードを読むと非常に勉強になります。

例えばLinuxカーネルのような有名なコードは知識の宝庫です。

コードの勉強と言う点では MIMIX3 がおすすめ。

新しいコーディングの慣用句や、ブログラムの設計についても学習できます。

詳しくない分野のコードを読むのは最初は大変ですが、その分得るものも多いでしょう。

良く使うAPIやプログラミング言語のコードを読むだけでも、理解を深くすることが可能です。

7. プログラミングのWebサイトやブログを読んでみる

StackOverflowに代表されるようなプログラミングに特化したサイトを見てみると、さまざまなプログラマや考え方に出会えます。

自分の世界を広げるためにも、Webサイトやブログを読んで刺激を受けましょう。

8. プログラミングに関する記事を書いてみる

自分でブログなどにプログラミングに関する記事を書いてみましょう。

自ら情報を発信するというのは知識を深めるよい方法です。

正しい用語、正しい内容を書こうとすれば、自ずと曖昧な知識が整理され、より正確なものになっていきます。

書いているうちに今までの勘違いなどにも気付くことができるでしょう。

9. 低水準プログラミングを学習する

メモリやCPUを直接処理するような低水準のプログラミングを学習すると、コンピューターに関する知識が一段と深まります。

低水準プログラミング言語とはCやアセンブラなどです。

コンピューターの構造、OSの組み込みシステム、ドライバの開発手法などを学ぶとコンピューターが実際にどのように動作しているのか知ることができます。

10. 質問せず自分で考えろ!

プログラムを組んだものの動作しない、なんてことはしょっちゅうありますが、その度に質問サイトなどで質問していては成長しません。

時間をかけ、じっくり問題に取り組んで自分で解決するように心がけましょう。

紙とペンに書きだしてみるのも良いですし、時間をおいてコードを見直すでも良いです。

1時間ほど悩んで解決しないようなら、その時初めて質問サイトを利用しましょう。

悩んで考えることでスキルは鍛えられます。