1411609602260097

駆け出しのあなたは、インクの香りがまだ残る卒業証書を手に仕事を始めたが、すぐに本に書かれていないルールやさまざまな煩雑な日常業務に面食らう。そんな話はよくあることで、プログラミングの仕事も例外ではない。

自分の最初の本当の仕事に100%準備できている学生はほとんどいない。その一人になりたくないなら、手取り足取りの指導なしで学べる以下の10の基本スキルを身につけよう。

1、バージョン管理システム(VCS)

VCSはおそらくコンピュータ科学のカリキュラムにおける最大の欠落だ。これらのコースはコードの書き方だけを教え、コードの管理方法を教えることをしばしば忘れている。すべてのプログラマーは、GitやSubversionを使ってリポジトリを効果的に作成し、コードの編集とコミット、ブランチとマージを行い、プロジェクトのワークフローを理解できるべきだ。

2、書くことを学ぶ

プログラマーが書くのはコードだけではない。プロジェクトのリリースノート、バージョン管理へのコミットメッセージ、システム内のバグレポートなども書く必要がある。これらを含む多くの場面で、明確で効果的な文章によるコミュニケーションが求められる。しかし、コンピュータサイエンスではこのスキルはほとんど強調されない。

3、正規表現

正規表現はそれ自体が一つの言語であり、現代のプログラマーは誰でも習熟すべきだ。現代のあらゆる言語が正規表現をサポートしているか、関連する標準ライブラリを備えている。コードがある文字列に5文字、1つのダッシュ、1つの数字が含まれているかを検証する必要がある場合、すぐに /^[A-Z]{5}-\d$/ と書けるべきだ。

4、ライブラリの使用

もう2014年なので、正規表現を使ってURLからホスト名を抽出する必要がある人はいない。現代のプログラミング言語にはすべて、一般的な機能を実行する標準ライブラリがあるからだ。

プログラマーは、開発・テスト・デバッグを経たコードは、自分で書き直すコードよりも通常は優れていることを理解する必要がある。さらに重要なのは、書く必要のないコードははるかに早く実装できるということだ。

5、SQL

多くの人はSQLを仕事で学ぶ。データベースがなぜ選択科目なのか?データベースを使わない人がいるだろうか?

データをフラットファイルに保存する時代は終わった。あらゆるものはデータベースに出入りし、SQLはデータを格納・取得するための言語だ。これは宣言型言語であり、手続き型言語ではない。そのため、SQLで問題を解決するには新しい考え方が必要になる。すべてのプログラマーはデータベース正規化の基礎を理解し、SELECT(およびINNER JOIN、OUTER JOIN)、INSERT、UPDATE、DELETEを実行できるべきだ。

6、IDE・エディタ・CLIツールを使いこなす

のこぎりしか使えない大工は決して一人前になれない。それなのに、コンピュータ科学の卒業生がNotepadやpicoしか知らないのは驚きだ。プログラミングツールはコードやその他のデータを操作するのに役立ち、プログラマーの生活を楽にする。したがって、すべてのプログラマーはコマンドライン、シェルスクリプト、find、grep、sedの使い方を知っているべきだ。

7、デバッグ

すべてのプログラマーは、対話型デバッガを使うか、コードにいくつかの出力文を散りばめてプログラムをデバッグする方法を知るべきだ。問題を追跡するために段階的に絞り込んでいく能力は非常に重要だ。

8、防衛的プログラミング

エラーは避けられない。たとえスター級のプログラマーでも例外ではない。制御不能は世界の常態であり、エラーが起こっても不思議ではない。防衛的プログラミングはまさにこの事実を理解している。物事が決して失敗しないのであれば、ファイルが正常に開けたかを確認したり、顧客IDが有効な数字かどうかをチェックしたり、コードが正しく動作するかテストしたりはしないだろう。

プログラマーは、コンパイラの警告が、避けて遠ざけるべき厄介者ではなく、私たちの生活をより快適にしてくれる有用なツールであることを知る必要がある。すべてのプログラマーは、なぜすべてのPHPプログラムが次のように始まるのかを知るべきだ。

set_error_reporting(E_ALL)

すべてのPerlプログラムには、次のステートメントを書く必要がある:

use strict; use warnings;

9、チームワーク

一人で完了できるプログラミングの仕事はほとんどない。もし頻繁に一人でやっているなら、知性は損なわれ、パフォーマンスも低下するだろう。あなたのコードは他の人のコードと相互に作用するか、混ざり合わなければならない。どんなに才能のあるプログラマーでも、他の人と協力できなければ、プロジェクトに悪影響を及ぼし、すぐに組織の負担になる。

10、既存コードの活用

学校にいる間は、すべての課題が新しいプロジェクトだった。しかし現実の世界はそうではない。働き始めたばかりの人にとって、最初に与えられる仕事はたいていコードのバグ修正だ。そして次に、既存のコードベースを基に、既存システムに小さな機能を追加する。新しいコードを設計するのは、運が良ければ数カ月後の話だ。

原文の出典:http://www.36kr.com/p/212678.html