自社アプリ開発で業務効率化プロジェクトを経験しました

自社のWEBアプリ開発に従事

自社製品のWEBアプリケーション開発に、システムエンジニアとして参画しました。ゼロからの開発だったため、まずは要件定義から入り、画面レイアウト、DB定義書の作成、社内向けの規約の作成、基本設計書と詳細設計書の作成、開発手順書と開発環境の準備、コーデイング、単体テスト、テスト環境の準備、結合テストまでを経験しました。設計書とコーデイングはレビューがメインで、新人の育成に力を入れました。また、製造した製品を紹介するWEBサイトを作成しました。

業務効率化のためのPC,スマホアプリの開発

PC、スマートフォンに対応したWEBアプリケーションで、企業の業務の効率化、社員同士の情報共有を目的としたグループウェアです。ログインするとスケジュール管理や、タスク管理、ショートメール、ファイル管理、設備管理、日報、電子掲示板など、多数の機能を利用できます。また、管理者画面が用意されており、社員の氏名やメールアドレスなどの個人情報や会議室などの設備情報の管理、またデータ使用量の確認をすることができます。

javaやjavascriptなどの言語マスター

使用した言語はサーバーサイドはjava、クライアントサイドはhtml,css,javascriptでした。基礎については書籍を元にした独学と、javaは資格(SJC-P)の取得をすることで身につけました。それ以上のスキルは、コーディングは現場で使用しているフレームワークや規約に依存する部分が高いので、ともに働いている優れたエンジニアのコードから学んだり、コードレビューにて指摘をもらったりして身につけました。

社内では、WEB関係のプログラミングスキルを学べるスクールを利用している人も多かったですね。中でも「WEB Camp(WEBキャンプ)」が人気があったみたいです。

開発の経験とネットワークの知識を習得

この仕事以前は、基本設計からの参画経験しかなかったので、要件定義から参画できたことがとてもいい経験になりました。コーディング規約やネーミング規約などの規約も作成することができ、改めて言語の理解を深めることができました。また、テスト環境や本番環境の構築やデプロイは初めての経験で、ネットワークについての知識を得ることができました。それまではプログラマとしてシステムのほんの一部にしか携わっていませんでしたが、このプロジェクトで初めて全体を見渡すことができ、大変勉強になりました。

テスト環境をすべて削除してしまう失敗も!

失敗談としては、結合テスト環境のマスタデータを、WHERE句の条件をつけ忘れ、誤って全て削除したことです。結合テスト中だった社員が全員、テストできない状況になってしまい、心臓が止まりそうでした。幸い削除したのはマスタデータのテーブルのみだったので、復旧は簡単でしたが、全員の作業の手を止めてしまったのでとても反省しました。仕事で大変だったことは、プロジェクトのメンバーは7人と少なかったのですが、3人が新人だったので、とくにコーディングのフェーズでの進捗管理が大変でした。

システム構築とプログラミングの体験談

証券会社のシステム開発をしてました

証券会社のシステムで、古いアセンブラシステムから、Java主体のシステムへ移行させるプロジェクトで、要件定義、基本設計、総合テストを担当していました。

また、詳細設計や結合テストのレビュアーを行いました。

具体的には、顧客(証券会社社員)から必要な要件をヒアリングして、実際にプログラムを作る会社への橋渡し的な役目をしていました。

開発会社が作成してきた各種の資料をレビューして承認を行い、顧客にその機能説明などを行っていました。

バックシステムの管理が主な作業です

証券会社のバックシステムのうち、顧客口座の管理や金銭、証券の決済業務関連のシステムをサービスを提供していました。

フロントシステムから、証券の売買データを受け取り、バックシステムとしての管理になります。

入金されたデータから顧客勘定を管理、証券の売買に際して顧客勘定の管理、銀行口座の入出金についてのデータを管理し、証券や金銭の決済データを作成して、外部決済機関(ほふり、日銀決済、全銀協)へ提供し、各種残高の管理、外部データとの照合するシステムを作成しました。

プログラミングスキルは社内教育と自主学習で身につけました

プログラミング言語はJAVAとCOBOL扱ってました。

JAVAに関しては、実際にコーディングするのは中国の会社になり、私達はレビューを行うのみでしたので、社内の教育で対応しました。社内の教育は教育専門部署に最低限の知識と、システムのコーディング規約などを取りまとめた資料を使って講習してもらいました。

COBOLについては、長年、現場での経験がありました。当初は社内教育からスタートし、新しい言語の際は、社外の講習に通ったり、テキストを購入して自宅や会社で勉強しました。

今はプログラミングを教えてくれるプログラミングスクールとかがあるので、いい時代になりました。下記のようなサイトの管理人のように、プログラミングスクールで学んでプログラマーになる人もいるみたいですね。

参考サイト:https://pro-cheki.com/

お客に提案できて満足してもらうことがやりがい

システムの仕事は「できて当たり前」ということで、顧客に喜ばれることは少ない仕事です。

この仕事はシステムを構築するためにヒアリングする顧客と直接話す機会が少ないことが多いですが、この仕事は実際に端末を叩く顧客と直接会話して、最善の仕組みになるように提案できたことが、やりがいにつながりました。

また、顧客と直接話をすることで証券のバックシステムにおける事務の問題点などを直接聞くことができたことがとてもよかったことです。

先方の無理な要求が大変でした

システムを理解していない顧客から要件を聞き出すので、先方が無理な要求を出してきたり、仕様変更といえることが多数発生したことです。

何回も確認をとって画面を作っても、顧客が後から「そんなことは言っていない」ということを平然と言って「仕様変更ではない。システム側のミス」と言い張ってきたりしたことです。

また、外部システムと疎通テストがありますが、関係各社のスケジュールやテスト環境を調整するのはかなり大変なことでした。