SEは大きく分けて業務アプリケーションを開発する業務と環境に分かれる。業務はどちらかというとソフトウェア開発系に強く関わり、環境はまさに開発のための環境を整える。環境系SEの主な仕事は、サーバーの構築・設計。お客様の業務要件を聞き、それに必要なスペック(基本はCPU、メモリ、HDD)とソフトウェアを選定する。プログラミングはソフトウェアハウスに委託してしまうのでほとんどやらない。経験の長い先輩方はC言語やユニックス・シェルくらいは皆書けたが、私は全くできず。唯一業務上で書いたプログラムは
main(){}
8バイトプログラミング? なんで書いたかというと、サーバーに正しくCのコンパイラがインストールされているか、という確認作業のためだ。先輩に教えてもらったのだが、「これで良いんですか?」と聞いたら、「コンパイラがインストールできているかどうか確認するために一万行のソースコード書く人いる?」と笑われてしまった。Hello Worldすら書かない、忙しい人のためのC言語だw サーバーとソフトウェアの選定とソフトウェアのインストールまでがSEの仕事。そこから先、長い開発時間をかけて業務システムができあがるのだが、そのプログラミングはSEはやらない。ある先輩が
SEの仕事は、段ボールからサーバーを出す、置く、段ボール片づける。この3つ。」
と自嘲気味に言っていたが、客先常駐SEの世界ではあながち嘘では無いw これはソフトウェアハウスに委託できない重要な作業である。またソフトウェアのインストール、OSから始まって(HDDのパーティションとかユーザー定義と権限設定とか)、開発ソフトウェアのインストールと起動確認。SEはUNIXの世界では常にroot権限だw 面倒だったのが、ライセンスの購入もSE。Cコンパイラのライセンス、開発者50人分。開発者増えたら追加で50人分とか、各ソフトウェア会社毎に割当とか。めんどくせーw