最初から有能なシステムエンジニアなど存在しません。有能なシステムエンジニアになるためには、プログラマーとしての経験を積むことも大事ですし、プログラマーになるためにはシステム開発の基礎を覚えなければなりません。誰しもが最初は未経験なのです。
そこで、どうやって開発の基礎を覚えていくのかと言うと、業務系システムの開発エンジニアを目指すのであれば、最初はAccessを利用して勉強するのが最適だと思っています。
Accessとは
Accessとはマイクロソフトオフィス製品に含まれているデータベース管理ソフトのこと。マイクロソフトオフィス製品の中には皆さまおなじみのExcelやWordなどがありますが、Accessもその一部。
※マイクロソフトオフィス製品の下位バージョンを購入した場合、Accessは含まれていません。
Accessではデータベースの構築からVBAを用いたプログラミングまで、単体のアプリケーション内で実装可能なので、Accessさえあればシステム開発の”いろは”を覚えることができるのです。実際、世の中で利用されているシステムの中には、Accessでつくられたものもたくさんあります。
テーブル作成
実際のシステムともなると、DBサーバーを用意してOracleやSQLServerを導入することもあります。ただしお勉強程度なら、まずはローカル環境(自PCのAccess内)でデータを格納するためのテーブルを作成します。ここでデータの型や桁数、リレーションなどの、システム開発全般に共通するDB設計の基本を学ぶことができます。
SQL
DB内のテーブルから目的の情報を引き出したり、更新したりするために必要不可欠なSQLもAccessで使うことが可能。ただAccess独自の機能として、クエリと呼ばれるSQLを書かなくてもよい便利機能がありますが、勉強という意味ではあまりクエリは使用しないほうがよいでしょう。
SQL構文についても、OracleやSQLServerでは多少異なりますが、ほんの微々たるもの。AccessでSQLが使えるようになれれば、まったく問題ありません。
プログラミング
VBAを使用したプログラミングも行えます。VBAを覚えてさえいれば、VB.netやC#など、その他の言語も作法が変わるだけで、あとは慣れるだけ。そこまで別言語だからといって壁を感じることもないでしょう。
プロシージャを別モジュールで用意して、効率のよいソースコードに改善することもできますし、オブジェクト指向に似せた開発も可能です。
業務系システムにとっての基本
業務システムの基本とは、インプットとなるデータをDBに格納し、必要となるデータをDBから取り出し、お客様の求める形に処理してアプトプットする、ということだと思います。そうした業務系システムの開発の基本動作を、Accessを利用することで一手に学ぶことができるのです。
逆に組み込み開発や制御系開発の現場ではデータベースという概念もなければ、SQLもありません。プログラミング言語もCやC++などを使用することが多く、VBAとは少し毛色が異なるため、Accessを利用したお勉強は適切ではありません。
おわりに
当社では業務系システムの開発をメインに行っております。そのため新卒で入社した際には、3ヶ月の社内研修の期間で、課題を与えながらAccessを使いこなせるようになってもらいます。3ヶ月もあれば、それなりのシステムが作れるようになりますし、実務レベルの開発にもすんなりと入ることができます。
これから業務系システムの開発を覚えさせたい企業や覚えたいエンジニアは、Accessから始めてみてはいかがでしょうか。
【X(旧twitter)でも情報発信中】
Xを最近始めたので、フォローしてもらえると嬉しいです(エンジニア界隈の方はフォローバックさせていただきます)! システム開発に関することや、最新テクノロジーのことなど、世のエンジニアにとって有用な情報を発信してます!