ITエンジニアのYukiです。
今回は、ITエンジニア未経験の方向けにデータベースエンジニアをお勧めしたいと思います。
未経験からITエンジニアを目指すキャリアパスとしては、Web系をよく聞きます。簡単に言うと、Web系はホームページやそのまわりの技術をあつかうところです。キャリアパスとしては、HTML, CSSを学んだあと、JavaScriptなどプログラミングスキルを身に着けていくというのが最近の流行りのようです。
ただ、ITエンジニアになる方法はそれだけではありません。
現在、私Yukiはデータベースエンジニアとして5,6年働いています。
ここでは、別のキャリアパスとしてデータベースエンジニアになる道を示したいと思います。
データベースエンジニアとは?
データベースエンジニアは、データベースサーバの設計や管理をするエンジニアです。
情報システムでは、様々なデータをあつかいます。それらのデータは、多くの場合データベースに保存されています。そのデータベースが動いているのがデータベースサーバです。普段システムを使っていても見えない縁の下の力持ちですね。
データベースエンジニアは、ITエンジニアの分類としては、インフラエンジニアの一種になります。インフラエンジニアは、サーバやネットワークの構築や管理を担当します。システムを支える裏方の仕事です。Web系の仕事は、システムを設計したり、プログラミングをしたりということになるので、それとはまた違った役割、方向性になります。
データベースサーバの構築と言うと、どんなシステムかによって、どんな性能のサーバを使うか、どのデータベース製品を入れるか、設定はどのようにするかといったことを設計します。そして、実際に動くサーバを用意します。
構築した後は、データベースサーバが問題なく稼働するように管理、運用していく必要があります。システムを運用していると、当初より負荷が増えるとか、エラーが起きるとか、いろいろな問題が発生するものです。そういった問題を解決するのも、データベースエンジニアの仕事になります。
なぜデータベースエンジニアか?
お勧めする理由は以下の4点です。
- 高収入が目指せる
- 技術が陳腐化しにくい
- 新規参入が将来難しくなる
- 技術的に面白い
順番にご説明します。
高収入が目指せる
データベースエンジニアに限らず、システムエンジニアの給料は、社会全般の職種と比較して高い部類に入ります。
求人ボックスのデータを引用すると以下のとおりです。Webエンジニアと比較してみました。Webエンジニアと比較しても遜色のない収入が得られます。
平均はWebエンジニアの方がやや高いですが、下限と上限はデータベースエンジニアの方が高くなっています。
求人数でいうとWebエンジニアの方が6~10倍ほどあります。それでも同程度の給料になるということは、データベースエンジニアが希少であることの裏返しです。
データベースエンジニアはレアな存在です。レアなスキルを身に着けておくことで、将来、あなたの強みになるかもしれません。
技術が陳腐化しにくい
IT技術は日進月歩です。数年前に流行った技術が陳腐化することはよくあります。
Web系では特にそれが顕著です。例えばフレームワークが変わるのは早いです。今となってはJ2EEって何って感じでしょうし、最近だとjQueryはもう古いよと言われたり……(名前を知らなくても大丈夫です。)ユーザインタフェースやそれを支える技術はどんどん変わっていきます。
それに対して、データは変わりにくいものです。そしてそれを支えるデータベース製品もそれほど変わっていません。
データベースの問合せ言語であるSQLは、1970年代に開発されました。COBOLと同じ世代の言語と言ったら驚くでしょうか。COBOLも古いことで有名な言語です。コマンド記法が英語文法を引きずっているところはそのころのにおいがしますね。
データベース製品についても同様です。基本的な構成は約20年前からほとんど変わっていません。たとえば、シェアNo.1のOracle Databaseだと20年前は、バージョン8iや9iの時代になるんですが、プロセスやファイルなどの内部構造はそれほど変わっていません。
もちろん、新しい機能はどんどん追加されていますし、マシンの性能も上がって、とりまく状況は変わっていきます。それに対するアップデートは欠かせません。ただ、身につけた知識がほとんど役に立たなくなるということはありません。データまわりはシステムの中でも変わりにくいんです。
これには、リレーショナルデータベースがすばらしい発明だったこともあると思います。簡単に言うと、ファイルやディスクといった物理的なデータの格納先のことはあまり意識せずに表形式でデータを扱えるデータベースです。リレーショナルデータベースが実用的になったのは、1980年代から90年代です。それが現在も、COBOLのようにレガシーな技術として残っているのではなく、進化を続けながら現役で使われています。20~30年後も多分使われているのではないでしょうか。
たとえば、以下の記事ではリレーショナルデータベースの歴史が説明されています。なんと2010年の記事ですが、今でもそれほど古くなっていません。この10年で新たに加わったトピックとすれば、クラウドやコンテナでしょうか。
「RDBMSの進化の歴史をおさらいしよう」 (ITmedia)
新規参入が将来難しくなる
個人的な予想ですが、データベースエンジニアは将来新規参入が難しくなるのではないかと思っています。
近年、AI技術の発達が目覚ましいです。データベースエンジニアの仕事のうち、AI化しやすい仕事はどんどんと置き換えられていくことが予想されています。たとえば、設備導入だとか、パッチ適用などのメンテナンスといった部分です。
事実、クラウドサービス上にデータベースを構築するだけなら、画面に設定項目をいれるだけで簡単に構築できるようになりました。また、OracleのAutonomous DBだと自動運転のように、人手でメンテナンスしなくても自律的にエラーや性能問題に対処してくれるようになってきています。
では、データベースエンジニアの仕事がすべてAIに置き換わってしまうのかというと、そんなことはないと思います。AIにできない高度なこと、たとえば、大規模なデータベースを適切に設計したり、パフォーマンス問題に対応したりといったことは、人手でやることになるのではないでしょうか。簡単な仕事はAIに、人間でないとできないものは、人間がといった住み分けになると思います。それはITエンジニアの仕事全般で言えますね。
ただ、そうなると、初級エンジニアに回ってくるような仕事はAIに奪われてしまうということになります。採用も減り、データベースエンジニアとしてステップアップしていくのは難しくなっていく可能性があります。
逆に言うと、今、データベースエンジニアとしてキャリアをスタートさせてしまえば、これは将来参入障壁として働くことになります。データベースエンジニアというレアなスキルを持っているということで引く手あまたになるかもしれません。
技術的に面白い
ここまで経済的なメリットばかり説明してきました。ここからは技術的な話をしたいと思います。私の個人的な体験から話したいと思います。
私のITエンジニアとしてのキャリアはプログラマーやテスターからスタートしました。昔から趣味でプログラムを書いていたので、システムの設計をしたり、プログラミングをしたり、楽しく仕事をしていました。
ある日、データベースの運用管理ツールを開発する仕事をすることになりました。それまではデータベースはデータを保存するただの箱くらいにしか思ってなかったのですが、詳しく知るにつれ、データベースの面白さに気づいていきました。
データベースが健全に動くためには、適切に設計しておく必要があります。リソースは無限ではないですから制約の中でコストを意識しつつ設計しないといけません。
また、無事に本番稼働を始めても、その後問題が発生することはよくあります。問題を分析し、対応していくのは、難しいですが非常にやりがいがあります。そして問題が発生しないように事前に手を打つことも大切です。
データベース面白いです。一緒にやりましょう。
将来性は?
「なぜデータベースエンジニアか?」で書きましたが、近年、AI技術の発展が目覚ましいです。
ただ、人間でないとできない高度なことは、データベースエンジニアの仕事として残り続けると思います。
もともとデータベースエンジニアはレアな人材のため、引く手あまたです。さらに新規参入が難しくなれば将来も仕事がなくなるということはないでしょう。もちろん、AIに代替されない高度な人材となるべくステップアップは必要です。
どんな人が向いてるのか?
どんな人がデータベースエンジニアに向いているのか挙げてみました。
- 論理的な思考力
- 慎重で几帳面
- 好奇心がある
論理的な思考力
まずは、論理的な思考ができることです。これはITエンジニア全般に言えるかもしれません。
論理的に考え、文章や口頭で人に説明ができるといったことが必要です。感覚重視の人だと難しいと思います。
なお、よく話題になりますが、数学はというとそれほど必要ないと思います。実務で使うのは算数レベルの計算くらいです。公式を活用することもあるかもしれませんが、結果が使えればそれほど差し支えはないです。
好奇心
次に、好奇心があることです。これもITエンジニア全般に言えますね。
データベース周りの技術は変わりにくいと言いましたが、それでも日々進歩しています。
積み上げたものがなくなって一からやり直しというのはこれまでなかったですが、改良や周囲の状況の変化はあります。最近の大きなものでは、クラウド化やコンテナ化の流れですね。
リレーショナルデータベース以外の技術としては、キーバリューストアとか、Hadoopのような分散技術とか注視しておいたほうが良さそうな技術もあります。
ITエンジニアとして生きていくのに、技術のアップデートは必須です。
慎重で几帳面
最後に、慎重で几帳面な性格の方が向いていると思います。データベースはシステムの中核に位置します。もしデータベースが止まってしまうと、それは即システム全体の停止につながります。そのため作業の正確さや設計のち密さが求められます。
これに対してWebエンジニアなどの開発担当者はそこまでは求められません。なぜなら、テストをしっかりしておけば本番環境で問題が起きることは稀ですし、もし問題が起きた時の影響もその機能に限定されることが多いからです。
インフラエンジニアも事前準備や検証は怠りませんが、本番一発勝負の部分はどうしても出てきてしまいます。そのため、慎重で几帳面な性格の方が多少向いていると思います。
ただ、几帳面でないからとあきらめないでください。どちらかというと几帳面なほうが良いといったレベルです。私の周りのデータベースエンジニアが几帳面な人ばかりというわけではないです。(むしろ私が一番几帳面かも。)
どうやってなるか?
データベースエンジニアになるにはどうしたらいいでしょうか?
こうしたらなれるんじゃないかという方法をひとつ提案します。
中途・未経験の場合
関連資格を取ってから、SESに入社するのが良いと思います。
SESについて
SESとは、システムエンジニアリングサービスの略で、技術者を派遣するサービスやそれを行う会社のことです。SESは、日本のIT業界にとって功罪あわせ持つ存在です。IT業界の外にいる方はあまりご存じないかもしれませんが、日本のIT業界は、建設業のように多重下請け構造になっています。新型コロナの接触確認アプリの時にニュースで問題になりましたね。多重請けとなるとピンハネが問題になります。最終的に労働者に払われるお金がわずかになるということです。
SESや接触確認アプリCOCOAの問題については、以下の記事をご覧になるとよいかもしれません。
SESとは?グレーと言われるSESが業界からなくならない2つの理由 (ENGINEER.CLUB)
COCOA 沈黙の4か月 不具合はなぜ見過ごされたか (NHK政治マガジン)
悪名高いSESですが、未経験から入るのに敷居が低いのは事実です。学歴、実務経験不問で入ることも可能です。ITエンジニアは、なってしまえば実力の世界です。利用しない手はないと思います。
資格取得
SESに入る前に、以下の資格取得をお勧めします。独学で可能です。入ってからでも遅くないですが、転職を考えているのでしたら、会社を辞める前に取っておきたい資格です。事前の知識量によりますが、早ければ、どれも1か月くらいの準備で取れます。
- 基本情報技術者
- LinuC Level1
- OSS-DB Silver
基本情報技術者
IT業界に興味がある方ならご存知かもしれませんが、「基本情報技術者試験」は、国家資格の情報処理技術者試験の1つです。ITエンジニアの登竜門で、IT関係の幅広い知識と、基本的なプログラミングの知識が問われます。
これを持っていれば、未経験でも、一通り勉強してきているなと思われます。ITエンジニアとして基礎となる知識も得られるので、受けておいて損はないでしょう。
データベースエンジニアを目指すのでしたら、プログラミングは、Pythonの選択がよいでしょうか。機械学習などでよく用いられる言語です。ただ、すでに身に着けているプログラミング言語があれば、それで受けるのが良いと思います。私はCで受けました。
試験は春と秋の2回です。
試験準備としては、参考書を勉強するので十分かと思います。人気資格なので参考書はたくさんあります。
どんな本を選べばよいかは、以下の記事が参考になります。
「基本情報技術者試験に独学で合格できるお勧め参考書と勉強方法【2022年版】」 (資格屋)
私はこちらの技術評論社の参考書で勉強しました。
「令和04年 基本情報技術者 合格教本 (情報処理技術者試験)」(技術評論社)
[PR]<『基本情報技術者 合格教本』をAmazonで探す>LinuC Level1
「LinuC Level1」は、Linux技術者の基本となる資格です。
LinuC Level1の認定を受けるには、Lv1-101とLv1-102の2つの試験に合格する必要があります。
データベースエンジニアとしてやっていくなら、Linuxの基礎知識はあったほうが良いです。
勉強方法としては、試験実施団体のLPI-Japanが出している教材で勉強した後、Web問題集のPing-tで練習するのが良いと思います。
教科書
- Linux標準教科書
アンケート回答とメルマガ登録すれば無料ダウンロードできます。面倒な人はKindle版を購入すると良いでしょう。
[PR]<『Linux標準教科書』をAmazonで探す> - LinuCレベル1 Version10.0 学習教材(新規追加出題範囲)
こちらは登録不要でダウンロードできます。
WEB問題集Ping-t
Lv1の問題集は無料です。
OSS-DB Silver
「OSS-DB Silver」は、オープンソース(OSS)のデータベースであるPostgreSQLの資格試験です。
PostgreSQLを選んだ理由は、今、PostgreSQL技術者が不足しているからです。
メジャーなデータベース製品は、Oracle, SQLServer, MySQL, PostgreSQLの4つです。この中で最もシェアが大きいのはOracleですが、Oracle技術者はすでにたくさんいます。一方で、近年シェアが拡大してきているPostgreSQLは技術者が足りない状態です。
データベース製品は、まずはどれか一つをマスターするのがお勧めです。それぞれ似た点、特色のある点があるため、一つマスターしてしまえば、2つ目は比較的簡単です。
PostgreSQLは機能がシンプルで、しかもオープンソースのため内部構造がブラックボックスではありません。最初に勉強するのに最適だと思います。PostgreSQLの学習コストは、Oracleよりも低いです。
学習コストについて、たとえばOracleだとBronzeレベルの試験に合格するのは、以下の本で勉強するのが最短です。約400ページほどあります。
「オラクルマスター教科書 Bronze DBA Oracle Database Fundamentals」(翔泳社)
[PR]<『オラクルマスター教科書 Bronze DBA Oracle Database Fundamentals』をAmazonで探す>オラクルマスターBronzeの資格の紹介は、著者のブログ記事が詳しいです。
「黒本著者によるORACLE MASTER Bronze DBA 2019試験学習方法」(株式会社コーソル)
一方でPostgreSQLなら同じ約400ページの本1冊で、Silverレベルまで取得できます。
「OSS教科書 OSS-DB Silver Ver3.0対応」(翔泳社)
[PR]<『OSS教科書 OSS-DB Silver Ver.3.0対応』をAmazonで探す>OSS-DB Silver取得の方法については、私のブログ記事でまとめてますので、参考にしてください。
記事ではGoldを目指してますが、Silver取得までの方法が参考になると思います。
実際に勉強を始めてみることで、向いてそうかわかるかもしれません。
転職エージェントを使う
さてSESに入るにしても、転職活動には転職エージェントを使うのが良いようです。
IT業界の転職には、マイナビエージェントの評判が良いようです。
SESといってもいろいろな会社があります。できれば1次請けで大手の会社、労働条件の良い会社を探すのが良いでしょう。事前に資格取得してあれば、転職時の武器にもなります。見つからなければ、2,3年実務経験を積むつもりで条件を落とすのもありです。その後、転職してステップアップすることもできます。
新卒の場合
新卒の場合は、新卒カードを最大限生かしましょう。
資格取得については、中途・未経験の場合と同様です。学生のうちでも取得可能だと思います。
私は新卒でIT業界の就職活動をしてないので、あまりアドバイスはできません。
あくまで中途でIT業界の中に入った人間として、もし新卒だったらどうするかという話になります。
狙うとしたら大手SIerや、ユーザ企業の情報部門や情報子会社といったところでしょうか。
データベースエンジニアとしてのキャリアを考えるなら、大規模システムを扱う大企業がターゲットになります。
よく業界研究をしたうえで選ぶのが良いと思います。たとえば、PostgreSQLだったら、PostgreSQLカンファレンスのスポンサーになっている企業を調べてみると面白いかもしれませんね。
もし私が新卒だったら以下の企業に行ってみるかもしれません。
- NTTデータ
- 富士通
- NECソリューションイノベーター
- アシスト
- SRA OSS
上の3つは大手SIerです。
アシストはデータベース業界の人には有名な会社です。Oracleを最初に日本で売るときから活躍していました。以下の記事が面白かったです。
「シリコンバレーの歴史は「偶然の出会い」で築かれた」 (クオン株式会社)
SRA OSSも、日本でのPostgreSQL開発において、初期から貢献してきた会社です。
ここでちょっと広告です。
経験者向け転職エージェントで有名なレバテックさんが、新卒ITエンジニア専門の就職エージェントもやっているそうです。
興味のある方は、以下のリンクから見てみてください。
– PR –
入社後
新卒にしろ中途にしろ、未経験なら入った時点がスタートラインです。一人前のITエンジニアになるには実務経験を積む必要があります。
適性がある人なら2~4年もすれば、いっぱしのITエンジニアになれるでしょう。興味があること、現場で困っていることなどを勉強していけば、自然とステップアップできると思います。
より高度な資格取得を目指すのも、道しるべになるはずです。広く浅く学ぶことができますし、持っているスキルの証明にもなります。情報技術者試験なら、応用情報技術者からデータベーススペシャリスト。LinuCやOSS-DBは、上のレベルを目指すとよいと思います。PostgreSQLの資格だけでなく、Oracleマスターも狙えます。プログラミングやネットワークなど分野を広げるのも悪くないですね。
5~10年ほど頑張れば、高度IT人材と呼ばれるレベルに成長できるでしょう。
まとめ
私がデータベースエンジニアをすすめる理由となる方法を述べました。
高収入でやりがいのあるデータベースエンジニアに興味はわきましたでしょうか?
未経験からでも以下の資格を取得すれば、SES経由で転職することは難しくありません。
- 基本情報技術者
- LinuC Level1
- OSS-DB Silver
データベースエンジニアを目指してみませんか?
もしこの記事がきっかけでデータベースエンジニアを目指した方と、将来一緒にお仕事ができれば大変うれしいです。
参考情報
最後に参考情報をご紹介します。
以下の記事でもデータベースエンジニアの魅力が語られています。データベースエンジニアに興味を持たれたら読んでみてください。
「データベースエンジニアの“ニーズ減”は本当か? 日本エクセム代表に聞く、これからのDB領域の醍醐味」 (エンジニアType)
以下のサイトでは、用語が分かりやすく解説されています。図解やたとえ話を使われているので、知らない言葉で全然イメージがつかないときにお勧めです。今後もわからない言葉があったら、ぜひ参考にしてみてください。データベースエンジニアにかぎらず、役立つと思います。
『「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典』
記事中の多くの用語からリンクを張らせていただきました。
PCSの佐々木真さんには、改めてお礼を言わせてください。
最後になりましたが、この記事のきっかけを説明します。以下の記事で「何をやったらエンジニアになれるかカリキュラムを示してあげてください。」と書かれていたことに触発されて、どうしたらデータベースエンジニアになれるか示してみました。
「『#駆け出しエンジニアと繋がりたい』を使う人に知っておいて欲しい事」 ブログ「名古屋とエンジニアリング」
記事で言われているように決して楽な道ではないですが、ITエンジニアになる道はいろいろとあると思います。私の記事が選択肢の一つになればと思います。
最後まで読んでただき、ありがとうございました。
こんなことも知りたいといったご質問や間違ってるよといったご指摘、ご感想などありましたら、ページ一番下からお気軽にコメントください。
この記事が役に立ちましたら、下のボタンからシェアしていただけると嬉しいです。
それでは。
お薦めした本(PR):
[PR]<『基本情報技術者 合格教本』をAmazonで探す>
[PR]<『Linux標準教科書』をAmazonで探す>
[PR]<『オラクルマスター教科書 Bronze DBA Oracle Database Fundamentals』をAmazonで探す>
[PR]<『OSS教科書 OSS-DB Silver Ver.3.0対応』をAmazonで探す>
コメント