もともとJavaは、プログラミング言語としては使用されている率は非常に高く、フリーランスのエンジニアとして活躍するには、必須の知識です。 必須ではありますが、それだけ求人案件も多く、また報酬が比較的安い場合も見受けられ […]
JAVAエンジニアとしての社内インフラシステムの開発業務
過去に某大手電機メーカーの子会社にて社内インフラシステムの開発をしていました。製造部門ではありましたが社内インフラシステムにはJavaは大変有効であるといえます。Javaプログラマとしてどのように仕事に活用したか、その内容を簡単ではありますが実例を交えて紹介させていただきます。
【1.仕事の内容】
新卒で入社した某大手電機メーカーの子会社において、電子機器の製造部門におけるシステム関連部署に配属されました。部署としての主な仕事の内容は、生産工程の監督、製造で使用する機械への伝送データの作成、業務改善のためのシステム構築・管理と、かなり多岐にわたる業務を遂行していました。その中でシステムを担う部署で働いていました。
私の場合は、最初にシステム開発以外の業務もこなすことで、業務内容を覚えたり、それぞれの組織の中でどのように仕事が流れるのかを身につけていきました。そして、システム開発にも従事していくのですが、主な仕事の内容としては、日常業務の改善(品質、効率アップ)や、社内インフラの構築をしていました。ユーザーの使用環境などによってはJavaのみに限らず、VBA、Javascriptも開発していました。
最もJavaを利用した事例は、イントラネットを利用した部署間でのデータのやり取り、生産管理システム、製造データの作成となります。それらのほとんどはServletを用いたものでJava、データベースの基礎が理解できれば構築できるようなものばかりでした。
具体的なServletによるWebアプリケーション開発事例を1つ紹介します。
製造部門においては、様々な部署間でデータのやりとりをしています。各部署の上流から下流にデータが流れていくのですが、どこかでデータが滞ると納期遅れにつながる恐れがあります。納期遅れはクレームにつながる可能性が十分にあるため、各部署にて納期遅れにならないように注意していました。ところが、繁忙期になったりすると、度々データが滞ったり、作業に漏れが発生するようなことがあったため、そのようなデータの滞りが起こらないようなシステムの構築を検討しました。まず、それぞれの部署が異なった方法で作業の進捗管理をしていたため、一元管理システムを構築し、それによって各部署の工程管理をするようにしました。それをすることにより、各部署で同じ情報を共有でき、どこの工程まで仕事が進んでいるのかを把握できるようになりました。また、アラーム機能を盛り込むことで、確認漏れによるデータの遅延を防ぐようにしました。このように、部署間でのデータのやり取り、進捗管理には大変有効に活用することができます。
システム開発の進め方としましては、システム部門ではないため、1つのシステムを1人で開発していくという感じでした。仕様検討→提案→開発→デバッグ→リリースの一連の流れを全て1人で回すようにしていました。よって仕事の進め方は自分である程度自由に設計することができました。その分、納期遅れにならないようにスケジュール管理には注意していました。
【2.仕事の環境】
製造部門ということもあり、システム開発がメインではなく、メインとなるのは製造で利用するデータの作成でした。業務の中で時間があるときにシステム開発に従事していきます。それによりメインの業務が繁忙期に入ると当然、システム開発をする時間があまり取れなくなり、納期が遅くなることもありました。しかし、顧客となるシステムのユーザーは社外ではなく100%社内であったため、そこまで納期にうるさくなかったです。システム開発に時間はあまり取れませんでしたが、その一方でメイン業務を遂行しているおかげで業務の内容を把握しており、システム開発はスムーズに行うことができました。
仕事をする場所は、製造部門ということもあって製造ラインの近くに席がありました。何かトラブルが発生した際には現場へすぐに駆けつけることができます。実際、データ関連でトラブルが起きたらノートパソコンを持って現場まで駆けつけ、製造ラインで作業することもよくありました。逆にそういったことがなければ、1日中パソコンの前で作業をすることになります。
【3.仕事の感想】
メインの製造の業務をこなしつつ、システム開発をするというスタイルのため、いかに効率よく仕事を進めて、システム開発の時間を作るかということを考えて仕事をしてきました。社内のインフラシステム開発は基本的に業務効率改善や品質向上がメインとなってくるため、自分の業務が楽になりますし、同僚にも喜ばれるため、個人的にはやりがいを感じてやっていました。しかし、業務時間内ではあまりシステム開発に時間をとれないため、自宅での自己啓発も大事になりますし、仮に何かでつまずいたら解決するまでに何日もかかるかもしれません。システム開発をしてプログラミングのスキルアップを図りたい、という方にはあまりお勧めはできない働き方かもしれません。