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

要件定義からコーディングまでの作業実績

仕事の内容は要件定義からコーディング、単体テストまで一通り行っています。アサインされるプロジェクトにもよりますが、現在は基本的に要件定義などの上流工程を中心に業務を行っております。また個別アプリの開発案件のほか、他社様へ自社製品の基幹システムの導入作業についても行っておりました。こちらについては、お客様毎のカスタマイズ(開発)の対応のほか、導入に伴う旧システムからの移行作業、移行リハーサルなども行っております。

EDI系アプリの開発に従事

一番携わっていた時間が長いのは基幹システムに関連するEDI系のアプリケーションです。伝送センターを利用し、共通の伝送仕様に乗せるためのプログラム開発もあれば、エンドユーザー固有で受信機能を持っているユーザーに関しては、伝送仕様を明確にするためにユーザー様とお打合せさせていただきながら、伝送仕様を把握したうえでプログラムの開発に入っていくといったフローの開発も行っておりました。そのほか、基幹システムとは離れますが、PHPにて社内用のwebアプリなども作成していました。

使用した言語はVBA、java、PHP

基幹システムではABAP。そのほかはVBA、java、VB.net、PHP等を使用して業務を行っております。ABAP言語に関しては、社内に教育カリキュラムが存在し、それをもとに一からご指導いただき、身に着けることができました。ABAPに関しては、個人で習得するのは難しく、また個人レベルで利用することはあまりないため、それほど重要ではないと思います。VBAやjavaなどについては参考書などを買って勉強しました。これについては、開発環境も簡単に(無料で)用意できるので、参考書を読みながら実際に家で簡単なアプリを開発するなどしておりました。

お客から好評だったときにやりがいを感じます

基幹システムについて、自分が設計した画面がお客様にご好評いただいたことです。基幹システムなので、一つの機能でシステムの評価ではなく、全体の機能を通して評価となるため、なかなか個別の機能で評価をいただくことはあまりないのですが、私の設計した画面をお客様にご使用いただいた際、生の声で「この画面はとても使いやすい」というお声をいただいたときは、この仕事に対する喜びとやりがいを感じました。さらにお客様に喜んでいただけるアプリケーションを開発しようという、仕事に対するモチベーションにもつながりました。

大変だったのはお客の求めることを要件として表現すること

要件定義がなかなか思うように進まない、ということが一番大変だったように思います。要件定義である以上、お客様がどういった機能を求めているのかということを明確にお聞きし、それをアプリケーションという形に落とし込まなければならないのですが、お客様もどのように表現したらいいのかわからないというような状況で、どういった問いかけをすればお客様の本当に求めていることが聞き出せるのか、思案することがとても大変でした。いまだにうまくできているとは思えておりませんが、やはり数をこなすことで一定のレベルでは聞き出すことができるようになったと思います。

仕事で通用するスキルは、プログラミング言語を覚えればいいというわけではありません。特に上記のような「お客から要件を聞き出して、定義書で表現する」ということは、経験が必要になります。

そういった経験は独学ではなくプログラミングスクールなどで教えてくれるところもあります。特にテックアカデミーテックキャンプなどのプログラミングスクールは「仕事で通用するスキルを身につけること」を優先しているので、そういったところを利用するとよいかもしれませんね。