IT企業で裏方エンジニア「データベース系エンジニア」やらかす人はできません。
こんにちは! ゴンタです。
昔、IT企業に勤めたことがあるゴンタですが、プログラムは多少コードが書ける程度のIT企業でもエンジニア系の端くれの窓際に値する「企画」側でしたが、IT企業の花形と言えば最新の高級言語を操るプログラミング系エンジニアではないでしょうか。
多くの若者はゲームを作りたい!とかソフトウェアを作りたい=プログラム=プログラム言語を中心としてイロイロ勉強されている方も多いと思います。
IT企業ではこの世の中、シンプルなパッケージソフトウェアを販売するような昔ながらのソフトウェア販売会社は殆ど見られなくなり、インターネットを利用したマルチユーザーが使用するクラウド系ソフトウェアが大半を占めるようになってきました。
過去の流れから、ソフトウェア会社=プログラミング言語という流れではなくデータを管理するための「データベースエンジニア(またの名をデータベーススペシャリスト)」と呼ばれるデータベース構築からデータベース言語(SQL)を使用したメンテナンス、データベースの運用管理を行う「ソフトウェア会社の裏方エンジニア=データベースエンジニア」が重宝されています。
これからソフトウェア会社に就職してゲームやソフトウェアを開発したいとか、起業したい人はこの「データベースエンジニア」を目指すとかなり重宝されます。
なぜか・・・
データベースエンジニアになるためには難関のOracle資格「Oracle Master」でPlatinum/Gold/Silver/Bronzeのどれかを取得しデータベースの作成からメンテナンスなどの運用までデータベースのエキスパートとして資格を取得する必要があります。ほかにもOSS-DBとか、Microsoft認定資格プログラム、応用情報技術者試験などを取得するとさらに重宝されます。(詳しいことはこの記事の後半に記載しておきますので、これから資格を取りたいとお考えの方は参考にしてみてください。
ただし、このデータベースエンジニアには向いている人、向いていない人がはっきり出てきますので「誰でもできる」ものではないとゴンタは思っています。
データベースエンジニアはやらかす人は絶対できない。
データベースエンジニアはIT企業の隠れた最重要業務の一つで、現在のIT企業では裏の花形職業ではないかとゴンタは思っています。 データベースは現在の開発ソフトウェアに必ず組み込まれるものであり、組み方によっては大いにロスを生んでしまいますし、複雑であればあるほどセキュリティ面もSQLの反応速も変わってくるのでデータベースの構築スキルと経験がものをいう仕事だと思います。
そのうえで、この仕事は非常に責任が重く、少しのミスがデータベースを破壊することもあり、ミスによっては大きな損失(運用の停止・データの破損など)を無んでしまう可能性がある職業でもあり、「よくやらかす人」はデータベースエンジニアには絶対なれないと思います。(そういう人はやらないほうが良いと思います!)
逆に言えば、単独での業務であり責任を感じながらコツコツ仕事をミスなくこなせる人であれば、向いている職業でもあるという事で、いまのIT企業では、責任感のある実績を積んだデータベースエンジニアを高額で契約する企業も多くなってきました。
それだけ重要なお仕事であり、「やらかす人」にはできない花形職業でもあるという事になります。
因みにネットで転がっているデータを見るとデータベースエンジニアに関係するデータベース系のお仕事では年収800万円~となっており、難関のOracle Gold/Platinumを持っている人にはさらに上乗せされるようです。
この仕事は意外と年収が良い反面、それだけ求めるもののハードルが高いとも言えます。
データベースエンジニアはやめたほうが良いというエンジニア・・
システム系エンジニアやソフトウェアエンジニアのひとはデータベース系エンジニアのお仕事も垣間見ているわけですし、連動してお仕事をすることもあると思いますが、「データベースエンジニア」はやめとけ・・ という人もいます。
それは先にも挙げた通り、データベースを設計したり構築メンテナンスなど設計不良によるダメージが個人の責任につながることが大きいことが挙げられます。
ソフトウェアの取り扱うデータの基礎部分から運用データまで、データベースの設計次第では仕様の変更ができなくなりすべてやり直し(データベースのリメイクができない)といったことも発生してしまうためデータベースエンジニアは非常に難しいお仕事でもあります。
仕事自体はデータベースの構築が基礎部分ですから、1人または少数人数でのデータベース構築となり「何かあったときの責任」が部署というよりは個人や少人数チームにもろにかぶってしまう事から、精神的にやってられないという声もあるようです。
このデータベースエンジニアには向いていない人が一定の割合であるとゴンタは常に思っています。
※ゴンタもこの部類の人なので特にそう感じます。
- 言われたことを忘れることがある。
どんな仕事もそうですが、情報の伝達が途切れてしまうのは問題です。
データベースエンジニアは頭の中でデーターベースの動きやSQL・クエリの投げかけなどイメージしていますが、指示された条件を忘れるまたは、取り間違えると即座に大きな問題になるためだと思います - 心がない人
データベースエンジニアはデータベースの設計、管理、最適化に関連するタスクに取り組みます。データやデータベースに興味がない人には向かない職種です。 - 複雑な問題に取り組むのが苦手な人
データベースエンジニアはデータの複雑な問題に対処し、最適な解決策を見つける必要があります。論理的思考と問題解決能力が必要です。 - 継続的な学習を嫌う人
データベース技術は絶えず進化しており、新しいテクノロジーやベストプラクティスに追随する必要があります。継続的な学習と自己啓発が必要です。 - ストレスに弱い人
データベースエンジニアは、データベースの障害やセキュリティ侵害など、緊急の問題に対処することがあります。ストレス耐性が必要です。 - コミュニケーションが苦手な人
データベースエンジニアは他のチームメンバーやステークホルダーとコミュニケーションを取り、要件を理解し、解決策を説明する必要があります。 - ルーチン的な作業を好む人
データベースエンジニアの仕事には、日常的なルーチン的な作業だけでなく、複雑な問題の解決が含まれます。モノトーンな作業が好きな人には向かないかもしれません。
データベースエンジニアとしてのキャリアは、チャレンジングで報酬のあるものである一方で、適切な資質と興味を持つ人に向いています。自分自身の適性やキャリアゴールを考慮し、選択肢を検討することが大切です。
データベースのスペシャリストになるためには
データベーススペシャリストになるためには、プログラミングはもちろんのことデータベースが動くプラットフォームのOSのことや運用管理を行うためのネットワーク環境などの知識など、データベース以外のソフトウェア構築にかかわるほぼすべての分野を理解しておく必要があります。 最近ではサイバー攻撃に対するセキュリティの維持管理と対策にもかなりの知識が必要になってくるため、独学ではほぼ難しいとも言われており、データベーススペシャリスト向けの教育を受け知識を蓄える必要があります。そのうえで簡単なステップを下記に書いてみました。
データベーススペシャリストは、データベース設計、管理、最適化などの専門知識を持つプロフェッショナルです。
以下はその道のりにすぎません。
- 基本的なデータベース知識の獲得
データベースの基本概念(例: データモデル、SQL、トランザクション管理)を学びましょう。
これは、関連する専門用語や基本的な原則を理解するために必要です。 - SQLの習得
SQL(Structured Query Language)はデータベースクエリと操作のための基本的な言語です。
SQLを学び、データベースから情報を取り出し、データを操作できるようになる必要があります。 - データベースプラットフォームの学習
一般的なデータベースプラットフォーム(例: MySQL、PostgreSQL、Oracle、SQL Server、MongoDB)を選び、そのプラットフォームの詳細な知識を習得しましょう。 - データベース設計とモデリング
データベースの設計とモデリングについて学び、正規化、ER図(Entity-Relationship Diagrams)、データベーススキーマの設計などのスキルを磨きましょう。 - データベース管理と最適化
データベースの管理タスク(例: バックアップ、レプリケーション、セキュリティ設定)やパフォーマンス最適化の方法を学び、実践的な経験を積む必要があります。 - データベース関連ツールの習得
データベース関連のツールやフレームワーク(例: データベース管理システム、ビッグデータツール、クラウドデータベースサービス)の使用方法を学びましょう。 - 証明書や資格の取得
データベース関連の証明書や資格(例: Oracle Certified Associate, Microsoft Certified: Azure Database Administrator)を取得することで、スキルを証明しましょう。 - 実務経験の獲得
データベーススペシャリストとしての実務経験を積むことが重要です。インターンシップやエントリーレベルのポジションから始め、実際のプロジェクトでスキルを磨いていきましょう。 - 最新のトレンドと技術の習得
データベース技術は常に進化しています。最新のトレンドや新しいテクノロジーについて学び、日ごろから新しいものに対する自己啓発を続ける必要があります。 セキュリティに関しては日々悪意のあるウィルスやマルウェアなど生まれているため、その対策についても考えていく必要があります。 - ネットワーキング
データベース業界でのネットワーキングを行い、他のプロフェッショナルとつながり、経験と知識を共有しましょう。
データベーススペシャリストになるためには、学校や専門学校・独学での学習で資格を取得したとしても、継続的な学習と企業が運用するデータベースにおいて先輩などから指導を受けながらかなりの実務経験が欠かせません。また、個々のキャリアゴールや興味に合わせて特定のデータベースプラットフォームや領域に焦点を当てることも重要です。
データベーススペシャリストの資格
データベーススペシャリストには欠かせないデータベース系の資格(関係する資格も含む)を下記に記載していますので、これからデータベースに興味があり、それを自分の仕事として活用しようとお考えの方には資格取得を目指して頑張ってみてはいかがでしょうか。
Oracle Certified Associate (OCA) / Oracle Certified Professional (OCP)
オラクルデータベースに関連する資格です。OCAは基本的なスキルを、OCPは高度なスキルを証明します。
Microsoft Certified: Azure Database Administrator Associate
マイクロソフトのAzureクラウドプラットフォームに関連するデータベース管理者の資格です。
Amazon Web Services (AWS) Certified Database – Specialty
AWSのデータベースサービスに関するスペシャリストの資格です。
Certified Information Systems Security Professional (CISSP)
データベースセキュリティに焦点を当てた情報セキュリティの資格です。
MongoDB Certified Developer / Administrator
NoSQLデータベースであるMongoDBに関連する資格です。
開発者および管理者向けに用意されています。
IBM Certified Database Administrator – DB2
IBMのDB2データベースに関連する資格で、データベース管理者向けです。
PostgreSQL Certification
オープンソースデータベースであるPostgreSQLに関連する認定資格です。
Cloudera Certified Data Engineer
ビッグデータエンジニアリングとデータ処理に焦点を当てた資格です。
ClouderaのHadoopエコシステムに関連しています。
これらの資格は、それぞれ異なるデータベースプラットフォームやスキルセットに関連しています。
選択肢を検討する際に、自身の興味やキャリアゴールに合った資格を選ぶことが重要です。
また、資格試験の前に適切なトレーニングや勉強を行い、試験に合格するための準備を整えることも大切です。
応用情報技術者試験
応用情報技術者は日本の国家資格であり、国家試験合格による国家資格保有者で狭き門の一つでもあります。エンジニアとして必要なスキルを幅広く証明できる国家資格で、データベースだけに特化したものではないので、データベースやソフトウェア開発などを目指いしている人は是非取得したい国家資格です。
当然、データベースの知識も求められるため、学生の間に取得しておいて損はないと思います。
必要とされるスキルはデータベース以外にもコンピューターの基本やネットワークのスキルが必要です。またエンジニアとして知っておきたい実務レベルでの会計の処理や企業マネジメントについても出題があります。特定の分野に特化した資格ではなく、ソフトウェア系エンジニアとして知っておくべき知識が幅広く出題される試験です。