こんにちは^^仲ちゃんです。
仲ちゃんは、人事給与システムのプログラマーやシステムエンジニアの仕事をしていたので、本日は、PG・SEそれぞれの仕事内容と必要な知識や経験を紹介します。
人事給与システムは、提供会社は違えど、どの企業も使っていますから、プログラマーやシステムエンジニアとして需要はあると思うんですが、仕事をするにあたって必要な知識や経験をお届けします。
人事給与システムとは!?

従業員の個人情報や給与情報を管理しているシステムです。
【人事システム】
従業員一人一人の個人情報がインプットされています。
氏名や住所、生年月日、家族情報、顔写真。などなど・・・
また、大企業だと評価制度というものがあるので、実績や経験に応じて、ランク付けがあります。
それらの情報も入っています。
↓そして、給与システムに情報を連動します。
【給与システム】
毎月の給与計算はもちろん、社会保険料の計算、賞与の計算、年末調整などなど従業員の給料に関することを全てこのシステムでやっちゃいます。
また、従業員一人一人の評価制度によるランクによって、基本給が変わったり、手当が付いたりつかなかったりもします。
これらの計算も自動でやっちゃうんですよね。
10人くらいの企業だったら、事務のおばちゃんが計算機を叩いて、手作業でサクッとやっちゃいますけど、大手企業は何千人、何万人という人が働いています。さすがに、手作業では無理ですよね^^;
これをプログラムというものを駆使して、何万人の給与計算を、サクッと数時間とか1時間でやっちゃうんですよ^^
例えば、一人の給与計算を行うのに、10秒の処理時間を必要とした場合、1分で6人、10分で60人、100分で600人と・・・
実際にはもっと処理速度は早いんですが、こうして考えてみると、システムの力は偉大です。
では、人事給与システムのプログラマーの仕事内容を見てみましょう。
人事給与システムのプログラマーの仕事内容
やる作業を順番にしてみますと、こういう流れになります
1.事前調査
2.詳細設計書の作成とレビュー
3.実装・コーディング※時にはソースレビューもあり
4.単体テスト計画書の作成※これもレビューあり
5.テストデータ作成
6.単体テストの実施と結果のまとめ
7.テスト結果のレビュー、チェックを行い完了。次の作業へ・・・
事前調査というのは、例えば機能追加があったとして、そのシステム内で完結できるのか?
もしくは、実現不可能なので、プログラミングでカバーするのか?というものです。
場合によっては、資料を作成したりすることもあるので、リーダーの人の指示に従ってください。
あとは、SEの人が作った、基本設計書を見て、詳細設計書を作るところからです。
そして、実装・コーディングをしていきます。
PL/SQLという言語だったので、既存のソースを見ながら、詳細設計書に合わせて、ゴリゴリ書いていきます。
プロジェクトによっては、書き方があるので、適度にコメントをつけるとか、変数の名前の付け方とかですね。
既存のフォーマットがあると思うので、参考にしてプログラム作成をしてください。
その後、スケジュールに余裕があれば、レビューを行いますが、忙しい繁盛期はレビューをすっ飛ばすこともしばしば。。
次は、単体テスト計画書を作って、開発環境でテストデータを作って、テストの実施とエビデンスを取って、テスト結果報告書を作ります。
全ての工程が終わったら、レビューを行います。
テスト漏れがないか、仕様通りに動いたかどうかチェックを行います。
オッケーであれば、次の作業に移り、1.から順番に作業をしていきます。
場合によっては、その次の結合テスト、システムテストなどのサポートをするかもしれませんが、範囲としてはここまでが主ですかね。
では、人事給与システムのプログラマーに必要な経験や知識をお伝えしますね
必要な知識や経験
【プログラミング言語】
データベース操作言語でもある、PL/SQLです。
最低限知っておけば、何ら問題はないです。
【その他の知識】
あとは、資料を作る時に使う、エクセルやワードを使えればOK!
詳細設計書や単体テスト計画書は、エクセルもしくはワードを使いますので、使い方を覚えておきましょう。
エクセルは罫線のひき方とか、色の付け方、フォントサイズの変更など、基本的なことがわかれば大丈夫です。
では、次に、SEの仕事内容を見てみましょう。
人事給与システムのSEの仕事内容
1.事前調査、準備
2.要件定義用の資料作成
3.要件定義
4.基本設計書の作成
5.詳細設計書の作成とレビュー
6.実装・コーディング※時にはソースレビューもあり
7.単体テスト計画書の作成※これもレビューあり
8.テストデータ作成
9.単体テストの実施と結果のまとめ
10.テスト結果のレビュー、チェックを行い完了。
11.結合テスト計画、テスト、結果のまとめと報告
12.システムテスト計画、テスト、結果のまとめと報告
13、ユーザー検証計画、テスト、結果のまとめと報告
14、本番環境への移管(リリース)作業
15.本番環境プレ実行
16.納品物のまとめ、納品
17.運用保守
18.その他必要に応じて会議への出席
と、プログラマーの2倍は仕事内容が増えているのがわかります?
SEといっても、現場によって仕事内容の範囲は様々で、仲ちゃんがいた現場では、要件定義はもちろんですけど、運用保守まで担当していたし、プログラミングもするし、単体テストもするし、システム間の連携テストなど全てを行っていたんですよー。
今は、SEの仕事が要件定義と基本設計だけっていうのは、なかなかないのかなぁと思います。
何でもやらないと、現場で生き残ることは厳しくて、基本的にYESマンなんです笑
で、先ほどのプログラマーの仕事に付け加えて、要件定義という工程があります
また、事前の調査や資料作成等、提案することもあるので、ちょっと経験が必要だったりします
とはいっても、誰もが最初は初心者なので、ベテランのSE、リーダーの人と一緒に要件定義に出席するところから、経験を積んでいくんですねー。
ある程度、人事給与システムのことをわかっていれば、なんとなく言ってることはわかるし、会話はスムーズに進むので、あんまり心配しなくてもいいのかなと思います。
けど、知識において不安な場合は、本などで勉強してみましょう。仲ちゃんも現場で、人事給与に関する本を読んでいましたよ苦笑
給与なら社会保険に関する事、健康保険とか年金とか、年末調整にはどんな書類があるのか?などですね!
要件定義が終われば、開発もやることがあるし、単体、結合、システムテスト、さらには、ユーザー検証のお手伝いもします。
実際に、ユーザーの方とお話しながら、手順書を作成して、順番通りに操作してもらったり、実際の業務と同じ手順でやっていくんですよ。
質問されたら答えられなければならないので、やっぱり人事給与システムのことを知ってないと難しいんですね~
仕事内容の多さにびっくりしましたか??そんな人事給与システムのシステムエンジニアに必要な知識や経験を次で紹介です!
必要な知識や経験
まさに、人事給与システムの仕組みと、人事や給与計算に関する知識です。
場合によって、プログラミングをすることが多々あるので、もちろんプログラミングの知識は必要で、人に教えられる力も求められますよ!
そして、コミュニケーション能力ですね!
SEは、顧客と話をする機会がたくさんありますから、会話のキャッチボールが出来なければ、役立たずです笑
業務知識はもちろん知っていなければ、日本語といえど話が通じません^^;
かたや人事給与システムのことも知らないと、質問されても・・えっ・・・それは・・・となるので、必要ですね。
また、無表情で生真面目すぎる性格だと、面白くありません^^;
顧客も人間ですから、たまには雑談、世間話をすることもあるんです。
あまりフランクすぎるのも問題ですけど、ほどほどに会話できれば問題なし!
とまぁ、本当にざっくりですけど、こんな感じでしょうか?
あとは、障害が発生したときに、慌てず騒がず、冷静に対応するといったことも必要で、落ち着きがない人は、見ててめんどくさいかなw
ということで、仲ちゃんからお伝えするのはここまで!細かい質問などは、コメント欄からして頂ければ、親切、丁寧にお答えします!