SE候補になれば、最初はプログラム開発中心であっても、仕様書作成、基本設計書、要件定義など徐々にシステムの上流工程を経験していくようになる。
そうならない場合は酷な表現だが、SE候補に認められていないかもしれない。
プログラミング能力、そして与えられた仕様書作成等が認められれば、一歩一歩上流工程に関わっていくはずだ。
上流工程を担当する意味は、実務担当者レベルであることが要求される。
例えば、人事給与システムを構築する場合、給与計算の仕組みを知らなければ話にならない。
当時の私は若く、SE兼PGだったため、システム設計とプログラム作成の両方をこなした。今でも紙と鉛筆があれば税額テーブル片手に給与計算が出来る。
給与計算以外に遡及計算/月変算定/年末調整など考慮すべき項目はある。
これをファイル設計からテーブル設計、システムフロー、仕様書を書いてプログラム開発を行う。
システムを完全に理解しなければ、開発なんかできるはずがない。
会計システムを開発する場合、会計知識がなければお客様と会話も成り立たない。
私が30歳代前半の頃、大手製造業の原価管理システムを担当することになった。
その知識獲得だけに、日商簿記3級(商業簿記)と2級(工業簿記)を勉強し、ちょっと恥ずかしかったが若い学生達に囲まれて受験までしている。
残念ながら、その知識だけでは実務に全然足りなかったが、簿記2級の原価計算の知識は少なからず役に立った…気がする。(笑)
設計(仕様書)だけ担当し、仕様書はプログラム開発者に投げ、数か月のテストに立ち会い整合性をチェックした。
ここで重要なのは、誰しも最初から熟知しているはずがないこと。最初は初心者だ。
少なくとも3年程度は経験しないと一定レベルに到達しないと思う。
だから、私は面接時に業務経歴書の経験年数を重視する。半年や1年で業務を変わる技術者はSEと言うよりプログラマー作業を行っていると判断している。
一応、情報処理試験も受験している。私の時代は情報処理 2種、1種、特種だった。(ふっる~)
システム監査レベルの特種は受けたことがないが、2種、1種はSEとしては必要と思い、一応資格だけは持っている。
それが役に立った記憶は一度もないけれど、技術者としてのスキルの指標になっているのは確かだ。 (続く)