こんにちは、みなみです。
きょうは、少しだけ専門的なお話になります。
わたしは、システム業界に長年いて、昔からうすうす感じてることがあります。
それは「SQL」に関心のないエンジニアがけっこういるということ。
SQL(エスキューエル)とは、データベース専用の言語です。
データの入った箱(データベース)から、データを取り出したり、格納したり、削除したりするときに使います。
Java、PHP、Python など、通常のプログラム言語のなかで、さらにSQL言語を使うイメージをしてもらえればよいです。

通常のプログラム言語にはそれぞれ特徴があり、システムによって採用される言語は変わります。
でも、データベースはどのシステムにもあるので、SQLの知識だけは共通して必要なんです。
それなのに、SQLに関心がないんですよね。(悲)
なるべくSQLを書かないよう工夫し、避けようとするエンジニアが多いです。(とくに最近は。。)
結果的に、効率が悪くなったり、遅くなったりしても、そこに気づかないんですよね。
ベースとなるSQLの知識があれば、応用の幅も拡がり、最適なシステムを作れるのに。。
と、思うことがしばしばあります。(苦笑)
業務系のシステムに精通してるSEであれば、SQLを無視することはないんですが、経験が浅かったり、業務に関心のないプログラマーや営業ほど、そういう印象があります。
なぜそうなるのか?
やはり、SQLが裏方的な役割をする言語だからだと思います。
つまり、表ばかりみて、裏には関心がない!
脳の認識の特徴がココにも現れてるような。。(笑)
たとえば、Javaなんかは「プログラミング」のイメージにぴったりな花形言語です。
でも、SQLは、データベースとの橋渡しに特化した言語なので、地味というか、書き方がぜんぜん違うんですね。
テクニカルな(構造的な)書き方に面白味を感じるプログラマーであれば、SQLは二の次になるんだと思います。
たまに「この人すごいなぁ」と思えるSEと一緒に仕事させてもらうこともあるんですが。。
だいたいそういう人って、要件定義(システムを構築する前)の段階からデータベース設計が頭のなかにあるんですよね。(当然、SQLの知識もある)
だから、お客さんへのヒアリングポイントもわかるし、事前にリスクを察知しやすくもなります。
初めがしっかりしてるから、最終的にうまくいくんです。
経験の浅いプログラマーであれば、SQLを避けたくなる気持ちもわからなくありません。
でも、システムの目的はお客さんの要件を実現することなので、極論を言うと、運用でカバーできるならシステム化しないほうがよいことだってあります。
目先の技術を磨くとともに、システム全体のことを考えられるエンジニアのほうが付加価値になりますからね。
(わたしなら、そういう人と一緒に仕事したい)
そのための基礎(土台)として、まずSQLをしっかり勉強しておくこと。
そのほうが、あとあと苦労しないと思います。
なんならSQLだけを勉強していたとしても、それなりに潰しはきくと思いますよ。(笑)
というわけで、今回は、業界の人にしかわからないコラムになりましたけど。。
最後まで読んでくださり、ありがとうございました。

↓ ランキング参加しています。よろしければポチっとお願いいたします。
にほんブログ村

