KIOICHO Eng.

株式会社イーウェルのエンジニアが社内エンジニア系イベント等の情報を発信するブログです。

COBOLエンジニアだった私がWebアプリケーションをリリースするまで

こんにちは。
今回は開発第1部保守Gより「COBOLエンジニアだった私がWebアプリケーションをリリースするまで」をお届けします。

 ■私について
私は今年の1月にイーウェルに入社(転職)しました。
前職はメインフレームCOBOLを駆使した業務アプリケーションの開発・保守を6年程やってました。
イーウェルの福利厚生サービスのシステムで使用されている主要な技術に対する知見はほぼゼロの状態からスタートし、早半年が経過したところです。
今回は、私の半年間を振り返ってみる、そんな記事です。


■知ってたこと
6年間の経験では、自分で手を動かしてプログラミングを行うことはもちろん、顧客折衝、システム設計などをやってきました。
使用する技術は違えど、システムを作っていくにあたっての「勘所」は共通する部分も多く感じます。
実現したいことはなんなのか?そのために必要な要素は何か?工数は?予算は?などなど…。
今でもこれまでの経験は活きていると感じます。


■知らなかったこと
一方で、技術的な知識はまったくと言っていいほどありません。
保守Gで行っている業務は大きく3カテゴリに分類できるのですが、ざっくりと、
①システム保守…既存処理の改善要望や障害対応を行う
②システム運用…WEBサービスを運用するため営業やコールセンターと連携しデータ更新等を行う
③小規模な開発…開発Gで賄いきれない新規システム開発を行う
このような感じです。
これらの業務で使われている技術を挙げてみると、ASP.NET/C#/SQL/html/CSS/javascript/etc...ほかにも沢山あります。


■新規Webサービスを開発せよ
さて、私の保守Gでの仕事について。
一番最初にやることはイーウェルのサービスを知ることです。
私は各部署の方々にヒアリングをしてイーウェルについて知識を深めていきました。
それからは運用業務から始まり徐々に保守業務をメインに。
必要な知識は自分の裁量で業務をやりながら、ある時は通勤中、またある時はミスドで、あるいは風呂場で身に着けていくことになります。
運用業務ではシステム開発時にその後の運用まで考慮されて設計されているので、運用担当者が戸惑いなく業務に当たれるよう工夫されています。(少なくとも私はそう感じました)
保守業務では簡単な画面の修正であったり、重いSQLのチューニングをしたり。
そんな日々を送っていた4月ごろのことでした。
「新規Webサービスの開発があります。担当は○○(私の名前)さんです。よろしく」とお達しが。
ついに私の手でWebサービスの開発を行う機会を頂いたのです!


■開発!
チームメンバーの協力もあり、およそ2週間ほど開発に集中させてもらいました。
Webアプリケーションからバッチ処理まで、先に記載した半年前までは「知らなかった」技術を全て駆使して開発します。
どんなDBが必要か?フロントとバックのエラーチェックは?セキュリティに問題は無いか?ログ設計はどうする?エラー時の運用は?などなど、Webサービスならではの観点が必要です。
分からないことはその都度調べながら、トライアンドエラーでなんとか完成まで漕ぎ着けました。
いつもそうですが、やはり自分が手がけたシステムが動いている姿を見ると嬉しいものです。
この開発で得られた経験値は計り知れません。


■そして伝説へ
無事にリリースできたものの、反省点もたくさんあります。
今回の開発でもっと効率的に出来たことがあるはず。
そのためには学ばねばならないことがまだまだ沢山あるのです。
技術者として学びに終わりはありません。
そういう点で、保守Gのメンバー達は強者揃いです。
効率的な開発、保守性の高いシステム、あるべきシステムの姿、最近の技術トレンドなど、日々議論が飛び交います。
おのおの磨いてきた武器を存分に発揮し、より良いシステム、より良いイーウェルのサービスを実現すべく日々格闘、そんな人たちです。
私もより良いシステムを「想像」でき、それを「提案」でき、自ら「実現」できる人間へ、、これからも精進するとします。

f:id:KIOICHOEng:20170801142629j:plain