私立文系プログラミング未経験の人間がSEになった話その⑤

新卒SE

みなさんこんにちは。きだです。

今回は、「私立文系プログラミング未経験だった人間がSEになってどうなっているのか」という話の続きをしていきたいと思います。

 

まず初めに、この記事を初めて読まれる方向けに、簡単に私の紹介と私が入社したIT企業について書きます。

 

2020年4月1日に、都内の中堅IT企業にSE職として入社しました。SES事業と自社製品の開発の両方を行っている企業であり、私はその企業で配属前に、4月から半年間の新人研修を受けています。

私自身、大学の学部は文系でありプログラミングの経験もほとんどありません。そんな私でも、IT企業に入社をし、日々頑張っています。

今回の記事は、そんな私の新人研修5か月目のレポートです。

 

ハードだったチーム開発演習が終了しましたが、8月も引き続きハードな日々が続きます。

8月から9月にかけて行う研修内容は7月まで行っていたチーム開発演習で作成した「書籍管理システム」の二次開発。具体的には、書籍管理システムのバージョンアップです。

 

 

私立文系プログラミング未経験の人間がSEになった話その④
...

 

7月までの書籍管理システムには実装されていなかった

 

・DBに登録されている書籍情報の変更・削除機能

・初回ログイン時にはログインパスワードを強制的に変更させる機能

 

などを新規で実装させたり、既存の書籍登録機能についても、ISBN番号で書籍情報を登録させることができるようにするなど大幅なシステム改修が入ります。

私立文系プログラミング未経験の人間は新人研修最後の研修内容であるこの「開発実習」を乗り越えることができたのでしょうか。

 

私立文系プログラミング未経験だけれどSEという職種、IT業界に興味がある。

 

方の参考になればい幸いです!どうぞよろしくお願いいたします。

 

8月の研修内容

 

書籍管理システムの二次開発!(前編)

新人研修5か月目、8月の研修内容は書籍管理システムの二次開発です。

チーム開発演習と同様に、各個人に担当モジュールが割り当てられ、8月は基本設計及び詳細設計を行いました。

基本設計は顧客(今回は研修なので同じ会社の上司)と

 

きだ
きだ

こういうデザイン、機能で成果物を作成していきたいのですがいかがですか~?

 

というすり合わせを行い、それを元に画面のモックアップ作成や操作概要などを決定していくフェーズです。

 

詳細設計は基本設計で決めた内容を元に

 

どういうソースコードを書けばその機能を実装していくことができるのか

 

を具体化するフェーズになります。

 

私は、基本設計のフェーズでは

 

「書籍情報削除画面(DBに登録をした書籍情報を削除する際、削除する書籍の確認を行う画面)」

 

を、詳細設計では

 

「書籍情報詳細画面(DBに登録してある書籍情報の詳細を確認できる画面)」
「アプリケーション初期化処理(アプリケーションを起動した瞬間に処理を実行するモジュール)」

 

の設計書を作成しました。

 

基本設計を終えて

基本設計にて苦戦をしたことは「モックアップの作成」です。

画面イメージを作成していくのですが、これはある程度のHTML、CSS、Javascriptの知識がないと難しいです。

 

ボタンの位置の微調整であったり、ナビゲーションやフッターと書籍情報がかぶらないようにしたり、画像の大きさを調整したり、、、

 

これがなかなか難しい。

インターネットで調べたり、わかる人に質問をしたりすることで何とか終えることができましたが、とにかく試行錯誤する時間が長すぎましたね、、、

 

CSSとかって「こっちのデザインを修正したらこっちのデザインが崩れる」みたいなことが起こっちゃうんで厄介なんですよ、、、

 

デザインの調整は、この後全員の成果物を結合させる結合テストのフェーズでも「障害」という形で発生します。フロントエンドの言語については、勉強しておくことを強くお勧めします。

 

詳細設計を終えて

書籍情報詳細画面は、正直イメージがしやすかったためそこまで苦戦をしませんでした。

書籍情報一覧画面で選択された書籍情報の詳細情報を、取得して表示すればよいものだったので。

こんな感じですね。

しかし、もう一つの私のタスクであった「アプリケーション初期化処理」については、はじめ聞いたときはいったい何者なのかさっぱりわかりませんでした。

何度も先輩社員に聞きに行きましたし、何度もインターネットでググりました。

最終的には、「アプリケーション(今回の場合はTomcat)の起動を行った時点で処理を開始するモジュールである」という理解に到達し

  1. @WebListener
  2. public class InitializationListener implements ServletContextListener {
  3. public void contextInitialized(ServletContextEvent event) {
  4. ServletContext application = event.getServletContext();

と書いていけばよいということを理解し、無事に処理詳細を作成することができました。

アプリケーション初期化処理の設計書作成については、正直非常にきつかったところではありましたが、

 

アプリケーションスコープの機能についての理解と実装方法

 

について理解を行うことができ、良い経験になったと感じています。

 

8月の研修を終えて

8月は基本設計と詳細設計が中心であり、また新システムも続々と実装していくことから非常に不安でしたが、何とか無事に終えることができました。

 

不安 → とりあえずやってみる → 無事完了

 

というのは“いつものパターン”になりつつありますが、「これがSEという仕事なんだろうな~」ということを肌で実感しています。同時に、達成感も大きいです。

 

まとめ

新人研修5か月目が終わり、いよいよ、半年間の研修も残り1か月となりました。

残すは8月に作成した設計書の具体化です。

単体テスト、結合テスト、システムテストまで無事に終え、笑って新人研修を終えたいと思っています。

コメント

タイトルとURLをコピーしました