より良いプログラマーになるには
熟練したプログラマーは、技術の世界では常に大きな需要があり、プログラミングの友好団体から常に求められている存在です。 この需要は近い将来も衰えることはないでしょうから、評判の高い技術系企業でプログラマーになろうと考えているなら、正しいキャリア選択をしたと言えるでしょう。
ここでは、より良いプログラマーになるための10の簡単なコツを紹介します。
1.急速に変化する技術に対応する
技術系企業は、ステークホルダーの満足度や顧客の満足度だけでなく、短納期やタイムリーな立ち上げに常に注力しているため、プログラマーとして最新の技術に精通している必要があるのです。 最新の技術に精通したプログラマーは、常に最も高い報酬を得られる仕事に就くことができるのです。
2.プログラミングスキルを磨くための特別な努力
頻繁にコーディングすること、そして実世界でコーディングすることが重要なのです。 プログラミングのスキルを向上させるために、できるだけ多くの時間を費やしてください。 プログラマーは、ただ単に何かを習得するだけでなく、物事がどのように動いているのか、その仕組みを細部まで理解できることが必要です。 このようにして、現実の問題に対するコーディングソリューションを提供することができるのです。 プログラマーは、より深いレイヤーに入ると、プロジェクトにパーソナルなタッチを入れることができるようになります。
3.複数のプログラミング言語を学ぶ
一つのプログラミング言語を習得すると、プログラマーになる。 しかし、それで終わりではなく、テクノロジーは常に進化を続け、かつてないスピードで進化しているのです。 プログラミング言語をいくつか知っていれば、本当に成功するプログラマーになることができます。 企業は、プロジェクトの間を行き来できる人材を求めるので、そうなれば給与のポテンシャルも上がります。
そして、それだけではありません。 一つのプロジェクトでも、さまざまな言語のマッシュアップが必要になる。 例えばFacebookでは、フロントエンドにJavaScript、バックエンドにHack、PHP、C++、Java、Python、Erlang、D、Xhp、Haskell、データベースにMySQL、HBase、Cassandraを使用しているそうです。
4.オープンソースコミュニティに参加し、そこで貢献する
プログラマーは島に住んでいても、仕事ができるようになるわけではありません。 主要なオープンソースコミュニティに参加し、フィードバックを得たり、技術の最新動向を学んだり、意見交換をする必要があります。 そうすれば、プログラミングの世界で起こっていることを常に把握できるだけでなく、燃え尽き症候群になることも防げるだろう。
5.データ構造とアルゴリズムの知識を完璧にする
よりよいプログラマーになるためには、データ構造とアルゴリズムに関する完璧な知識を身につける必要があります。 これによって、プロジェクトの妨げとなる多くの問題を解決することができます。 コンピュータは基本的なデータ構造とアルゴリズムに依存しているため、コンピュータをよりよく理解し、必要なときに必要なだけ問題箇所を修正することができます。
データ構造とアルゴリズムには、主に次のような側面があります。
- ソートアルゴリズム
- 検索アルゴリズム
- ハッシュ化
- ダイナミックプログラミング
- 二乗による指数化
- 文字列のマッチングとパージング
- プリミティッドテストアルゴリズム
6.ブログの熱心な読者であること
すべてのプログラマーは、自分のスキルアップに貢献するブログを読むべきです。 Coding Horror、The Crazy Programmer、Code Better、Endjin、Joel on Softwareなどのブログは、オンラインで見つけられる多くの優れたブログのほんの一部に過ぎません。 これらのブログには、より良いコードを書くためのチュートリアルや研究材料、ヒントが掲載されています。 購読することで、ループから外れることがなくなります。 しかも、自分だけの仕掛けや道具を開発することまでできるようになるのです。 また、自分のブログを運営することは、自分の意見を他の人に伝えるためにも良いアイデアです。
7.コードレビューを行う
コンピュータに読ませるコードは誰でも書けますが、人間が理解できるコードを書くことが重要です。 コードレビュー会議は、コードの段階的な改善を行うために、定期的に実施する必要があります。 納期に間に合わせようと躍起になっているかもしれませんが、コードレビューを行うことで、実は自分のコーディングスキルが向上するのです。 また、新しい開発者を育成したり、他のモジュールを使って仲間を紹介したりする場合にも、コードレビューが有効です。 もちろん、プロジェクトに品質という文化をもたらします。
8.無駄な時間を過ごさずにふんわりと
コードを完璧にするために時間を費やす必要がありますか? これはプログラマーなら誰もが抱く疑問ですが、私たちは、コードにこだわりすぎることなく、核となる問題点に目を向けることを提案しています。 コードは時間とともに変化する可能性が高いので、むしろ抽象化のレイヤーについて考える必要があります。
9.ビジネス面でも考える
成功するソフトウェアをリリースすることがビジネスの目的です。 組織のビジネス面を補完する新しいアプローチや改善策を発見することを学びます。 プログラマーとして、できれば株主を含むビジネス部門と良好な関係を保ちたいものです。 そうすることで、ビジネスを拡張するためのシステム設計が可能になりますし、粘り強く取り組んでいけば、非技術系マネージャーを畏怖させるような新しいビジネスチャンスを発見することもできるかもしれません。
10.たまには外す
毎日新しい技術が出てくるので、一日も休まずに状況を把握しなければならないというプレッシャーを感じるかもしれません。 しかし、より良いプログラマーになるためには、たまには離脱することも大切です。 休みを取れば、より良い視点と新鮮なアイデアが得られるので、休暇を取っても仕事に遅れを取ることはなく、むしろ軌道に乗ることができるのです。
結論
ジュニアプログラマーから中級プログラマー、そしてシニアプログラマーへのステップアップは、プログラマーの実力次第といえるでしょう。 ジュニアプログラマーは、スキルを磨けるようになるまで誰かが指導する必要があります。中級プログラマーは、働きながらスキルを磨くことができ、組織のビジネス目標を達成するために必要な最低限の監督を必要とします。 シニアプログラマーになれば、組織のビジネス価値に関わりやすくなり、同時にスキルアップも図れます。 こうしてプログラマーとして成長していくのです。
さらに詳しい情報があります。
Flickr/ Rafa Berlanga, burhan rehman