編集部からのお知らせ
宇宙ビジネスの記事まとめダウンロード
記事まとめ「テレワーク常態化で見えたこと」

優れたプログラマーの7つの資質

Justin James (TechRepublic) 翻訳校正: 石橋啓一郎

2013-05-22 07:30

 優秀なプログラマーであるためには、自分の持つスキル、経験、知識から、動くコードを生産するための資質を持っている必要がある。技術的なスキルは持っていても、必要な資質を持っていないために優秀なプログラマーになれない人もいる。この記事では、偉大なプログラマーになるために必要な7つの資質を紹介する。

1.自発的に新しい技術的・非技術的スキルを習得する

 だめなプログラマーは、どうしても必要になった時にしか学ぼうとしない。よいプログラマーは、積極的に新しい技術的スキルを習得する。偉大なプログラマーは自ら新しい技術的なスキルを学ぶだけでなく、技術以外のスキルも学び、ほかの人なら考えもしないような情報源に対してもオープンな態度で接する。

 具体的に例を挙げれば、駄目なプログラマーはWPFを使うプロジェクトを始めることになって、初めてXAMLを学び、よいプログラマーは面白そうだからという理由で1年前にそれを習得している。そして偉大なプログラマーは、WPFアプリケーションの設計ガイドライン、ユーザビリティの理論、優れたUIを作るために必要なほかの知識まで学んでいる。

2.教条主義的ではなく実際的

 ほとんどのプログラマーには、明文化されていない「プログラミングのルール」に厳密に従うなどという贅沢は許されていない。仕様書がトップクラスの開発者によって書かれたか、そういう人たちに影響を受けた人が書いたものでない限り、そういうことは難しい。

 私はよく、やりかたが一般に受け入れられているベストプラクティスにあてはまらないことを理由に、仕事ができない、あるいは仕事を拒むプログラマーを目にする。実装する際の技術的な理由で、ビジネス上の要件が縛られることはまれだ。「プログラマーの書くコードがよくないものになるので、その仕様を含めるのはやめよう」などと言う人はいない。

 結局のところ、プログラマーの仕事は技術的な完璧さを追い求めることではなく、実際に動くアプリケーションを作ることなのだ。私は、腐ったコードを書けと主張しているわけではない。他の人に、よい仕事の例としては見せられないようなコードを書かなければならないこともある、と言っているだけだ。ほかに書きようがない場合には、それは悪いコードではない。ただし、ほかの可能性はなかったと言えるようにすべきだ。

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

特集

CIO

モバイル

セキュリティ

スペシャル

ホワイトペーパー

新着

ランキング

  1. クラウドコンピューティング

    MITスローン編著、経営層向けガイド「AIと機械学習の重要性」日本語版

  2. クラウドコンピューティング

    AWS提供! 機械学習でビジネスの成功を掴むためのエグゼクティブ向けプレイブック

  3. クラウドコンピューティング

    DX実現の鍵は「深層学習を用いたアプリ開発の高度化」 最適な導入アプローチをIDCが提言

  4. セキュリティ

    ランサムウェアを阻止するための10のベストプラクティス、エンドポイント保護編

  5. セキュリティ

    テレワークで急増、リモートデスクトップ経由のサイバー脅威、実態と対策とは

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]