フリーランスのSQLの案件の特徴
フリーランスに依頼がくるSQLの案件はSQLを使ったプログラムの開発だけでなく、DB構築やパフォーマンス測定、最適化など、DBMS回りの仕事や、Webアプリの開発なども付随することが多いです。フリーランスのSQLの案件の特徴を説明していきます。
SQLだけで完結する案件は多くない
SQL案件の仕事を探してみるとわかるでしょうが、ほとんどの開発案件は必要要件として、JavaやCなどのプログラム言語や、最近のWebシステム開発の増加を受けて、SQLだけでなくHTMLやCSSなどの技術も要求するようになっています。
SQLだけ知っていれば大丈夫という仕事はほとんどありません。したがって、最近のシステム開発で主流になっている言語とWebシステムの開発に必要な知識やスキルを持っていた方が、受けられる仕事の幅が広がります。
SQLの記述能力だけでなく、DBの構築能力も必要
SQLを使ったプログラム開発に従事している人の中には、問い合わせ文としてのSQLしか使ったことのない人もいるのではないでしょうか。SQLはDBやテーブルの定義にも使われますので、仕事を発注する側は「SQLを使ったシステム開発の技術を持っている人」にはDB構築の技術も求めていることが多いです。
したがって、DB構築のノウハウも習得していた方が有利になります。また、設計により分散化の適用やバックアップ運用が決まったときに、具体的にどう実現するかを検討するのはDB構築技術の一つです。
DBのスペシャリストとして認められるには、DB構築能力は必須ですので、習得を目指しましょう。
SQLの案件の例
SQL案件の例を挙げると、Webサービスを提供している会社のデータ分析システムの開発で、内容はBIツールによるデータマートの可視化がメインの案件があります。
この案件には、DB関連のスキルに加えて、HTMLなどのWebアプリ開発技術やシステム要件定義の能力も求められています。つまり、データベースエンジニアとしての能力に加えてシステムエンジニアの能力も求められているということです。単純にSQL関係の技術があればよいというものではないことがわかります。
フリーランスのSQLの案件の単価・相場はどのくらい?
それでは、フリーランスのSQLの案件の単価・相場はどのくらいなのでしょうか?もちろん持っているスキルや開発するシステムの規模にもよりますので、単純にこれだけのお金がもらえるとは限りませんが、平均的な収入を紹介します。
65万円が相場
案件掲載サイトによると、平均単価は65万円/月となっています。経験年数やデータベース関連の資格の有無なども関係するため、これ以下になる場合やこれ以上になる場合もあります。
フリーランスのSQLの案件でよくある必須要件と歓迎要件
ここでは、フリーランスのSQLの案件でよくある必須要件と歓迎要件について説明します。必ず要求されるのはSQLでの開発経験、スキルですが、それ以外に最近の主流の開発案件でよく求められたり、歓迎される技術を説明します。
OracleやRedShiftでの実装経験
長年多くのデーターベースシステムのDBMSとして採用されているOracleデーターベース。当然このDBMSでのSQLの実装経験は多くの案件で求められています。
また、ここ数年で大きくシェアを伸ばしているAWS(Amazon Web Services)で提供されている、データーウェア・ハウスのAmazon Redshiftでの実装経験も、最近の案件では求められることが増えています。
この2つのDBを扱うスキルは、できれば両方の実装経験持っているのが望ましいです。SQL自体は標準規格です。個々に固有なものを習得するだけですから、今までSQLの開発技術者として働いてきたのなら、比較的短い時間で習得できるでしょう。
DBの設計経験
DBの設計技術は多岐に渡りますが、概念設計から物理設計までを経験していれば、多くのデータベースの設計に活かすことができます。論理設計ができればかなり色々な案件に参加できるでしょう。
また設計したDBを実際に構築する技術やノウハウも歓迎される要件です。DBを作成し、テーブルやインデックスを作るのは大抵のDBMSで同じような作業になりますから、個々に固有な使い方はそのとき習得すればよいので、「○○のDBを構築した経験があります」というのは大きなアピールになります。
BIツールの使用経験があれば、データ分析・可視化案件も可能
BI(Business Intelligence)ツールはデータベースを使っている企業では、データ分析・可視化の必須ツールになっています。どのようなツールを使うかは案件によって異なりますし、BIツール自体が得意とする分析が異なりますので、一概にどのBIツールを使ったことがあればよいかはいえません。
しかし、使用経験があるということは、データ分析をして、目的に沿ったビューで可視化した経験があるということです。他の技術と同じで、個々に固有な部分はその案件の中で習得すればよいので、BIツールの使用経験があればデータを分析し可視化する案件に参加しましょう。
企業のデータ分析・可視化は最近増加している案件です。ビッグデータを取り扱うようになってきて、今後の経営や事業にデータ分析・可視化を活かそうと考える経営者が増えてきたからです。
この分野の企画・立案は高度な知識が要求されるので、この能力があれば、相当高額な案件も期待できます。データーベース技術だけでなく、BIツールを有効活用できる技術も磨きましょう。
フリーランスのSQLの案件の受注単価を上げるために必要なこと
フリーランスのSQLの案件の受注単価を上げるということは、高額案件を受注できる技術者になるということです。そのためには今まで挙げてきたスキルを磨くことに加えて、これから述べることをおこなえば、さらによい結果を生むことができるでしょう。
AWSでのサーバ構築経験を積む
RedShiftのことを書いたときに少し触れましたが、2008年にスタートしたAWSは、東京リージョンが開設された2012年ぐらいから、国内でも手軽に活用できるクラウドサーバとしてシェアを伸ばし始め、2018年時点で、シェア25%超と多くの企業に利用されています。
したがって、AWS上でのサーバ構築や、データベースの構築、システム開発といった経験を積めば、多くの案件に関わることができる技術を習得できます。
まずはAWSでの開発案件を受けて技術やノウハウを身につけましょう。AWSに関する書籍を読むこともお勧めします。
製品に関する知識を深める
RedShiftのことを書いたときに多くの案件で使われているDBにOracleとRedShiftを挙げました。データベースエンジニアの技術として、汎用的なスキルと各製品に固有のスキルがあります。
DBの応答速度を最適化してパフォーマンスを引き出すなどの製品固有のスキルは、その製品を実際に使わないと習得が難しいので、この2つのDBを使った案件に参加して製品知識を深めましょう。
またこの2つのDBは技術書や参考書が多数出版されていますので、書籍をよんで学習することもお勧めします。インターネット上でも事例やノウハウが書かれていますので。そういうものも参考にしましょう。
データベーススペシャリスト試験など資格を取る
データーベース技術者には様々な資格があります。代表的なものでは、情報処理試験のデータベーススペシャリスト、オラクル社のオラクルマスター(できればGold以上)、エルピーアイジャパンのOSS-DB技術者認定資格、マイクロソフト社のMCSE: Data Management and Analyticsなどがあります。
資格は目に見えてわかる技術保有の証明ですので、なるべく多くの資格に挑戦しましょう。ただし、ベンダーの資格は何年かごとに更新する必要があるので、期限切れしないよう注意が必要です。
まとめ
データベースエンジニアはネット上でサービスを展開するときには欠かすことのできない職種です。今後も仕事は安定的に発生するでしょう。
資格を保有したり、新しい経験を積むよう努力することで、案件を獲得しやすくなります。