自己紹介
ソリューション開発部仙台に所属している内藤と申します。現在はグループ会社の基幹システム開発を行っております。
もともとはECシステム関連を得意としておりましたが、ECシステムにかかわらず、システム構築全般をこなしてきました。
現在の業務
自己紹介でも書きましたが、グループ会社の基幹システム構築に携わっております。もともとはその会社で行っているEC販売に関連するシステム構築のお話を頂き、そこから拡大して会社全体を担う基幹システムを構築したいとのことで、毎年少しずつ機能を追加して現在は会社のほとんどの部署をまかなうシステムの構築をすることができました。
作成したもの
システムを構築する手順としては、相手先の担当者との要件定義(どんな物を作成するかを決める)から始まり、基本設計、詳細設計、実装、単体テスト、結合テスト、システムテストと各工程を経て最終的に完成に至ります。
そのような手順を踏まえて作成された基幹システムですが、基幹システムと一言でいってもどのような物か想像しづらいのかと思いますので、少しご紹介します。
会社内の各部署によりさまざまな機能が存在します。
社内だけではなく、外部のシステムとの連携も行い、業務にかかるコスト削減を目的としています。
・販売系部署
- 受注データの作成
- 各種外部ECサイトへ接続し受注データの連携(楽天、Yahoo!、Amazon、他ECサイト)
- 手動での受注データ作成
- 仕入担当部署への発注データの作成
- レジシステムとの連携
- タブレットを利用しお客様に記載頂く為の入力フォーム
- お客様のシステムとのデータ連携
・管理系部署
- 発注データの作成
- 仕入データの作成
- 商品データの管理
・物流系部署
- 配送商品の物流会社との連携
- ハンディターミナルを利用した商品のチェック処理
・経理系部署
- 販売、仕入にかかる入金の管理
まだまだ他にも機能があり、また今後も拡張して行く予定となっています。
利用言語と環境
システムのベースはJava言語を利用したWebシステムとなっていますが、外部との連携、実現したい内容、プラットフォームにより、利用言語を変更しています。
プラットフォーム | 利用言語 |
---|---|
Web | Java |
Android | Java |
ハンディターミナル | VisualBasic.NET |
また、これらのシステムを作ったとしても動かすためのサーバーが必要となります。
サーバーを動かすということは、セキュリティやネットワークなどのインフラ関連も重要になってきますので、システム構築には様々な知識が必要となります。
インフラにかかわる知識 | |
---|---|
OS | Linux、Windows |
Webサーバー | Apache、nginx |
FTPサーバー | vsftpd、IIS |
データベース | Oracle、PostgreSQL、MySQL |
ネットワーク | ネットワークセグメントの設計、LB、IPS/IDS |
クラウド | AWS |
このように、一つのシステムを作ることで新しい知識が増える喜び、成長を実感することができ、
またお客様によろこんで頂けると言葉では言い表せないほどの感動を得ることができます。
最後に
システムを構築する上で大事なことは、お客様の要件を聞き(要件定義)、実際には何を実現したいのかを把握し、無駄をそぎ落としつつシステムに落としこんで行くこと(設計)だと思っています。
言われたままシステム化を行うと、完成後に「こういうのではなかった。。」ということが起きてしまいます。(私も若いころにそういうことも経験しました。。)
技術を追い求める事も大事ですが、システムエンジニアとしては、ヒアリング力、提案力も大事な要素となります。
これらは、一人の力で解決できるものではなく、人それぞれ長所、短所があるように得意不得意のあるメンバーが集まって、チームで解決していくことでより良いシステムの構築ができるものだと思っています。
技術が好きな方、話すのが好きな方、考えるのが好きな方、それぞれで活躍の場がありますので、
一緒にシステム構築をやってみたいと思って頂ける方がいらっしゃいましたら、是非ご応募頂きたいです。