第六回:エンジニアと「書くこと」の話
ども、こんにちは。
今日はたまには技術的なお話を。
我ながらホント今更ですね……
就活を進められてる中で、皆さんはエンジニアについて「ドキュメントを書く仕事」ということを企業の人から聞くことが多いのではないでしょうか。
SEについて、
「設計書を書くことがプログラミングをすることよりも圧倒的に多い」というのは色んなシステムインテグレータの会社で言われていますよね。
でも、実は……
私が配属されているプロジェクトでは、もう一つ、とっても書くことが多いものがあります。
それは何でしょうか?
……
そう、SQLです!
……
知らねえよ!
って思ったそこのアナタ。大丈夫です。
私も知りませんでした。
でも、実は……ぶっちゃけ、今一番仕事で楽しいときってSQLが上手く書けたときと言っても過言じゃないです。
長くなるので簡単に説明すると……
今、システムって基本的に「データベースを扱うもの」なんですよ。
……いきなりややこしくなりそうなので、……軽く飛ばすと。
例えば、ショッピングサイトのお客さんのデータを管理するシステムがあったとします。で、そのシステムで「商品Aを買った顧客の一覧と住所が欲しい」という要望がショッピングサイトの管理者さんからあったとしますよね?
そんなときに使うのがSQLです。
上のデータならこんな感じですかね。
SELECT
CTABLE.NAME,
CTABLE.ADDRESS
FROM
CUSTOMER_MASTER AS CTABLE --顧客の一覧
INNER JOIN
CUSTOMER_PURCHASEINFO AS PTABLE --顧客と買った商品の一覧
ON
CTABLE.NAME = PTABLE.NAME
WHERE
PTABLE.PRODUCT = '商品A' ;
これを書いてポンと実行すると、上にあるような商品Aを買った顧客の一覧と住所が出せるわけですね。
……わかんねーよ!
と突っ込まれた方。
それで全然問題無いです。入社した後覚えられるので。
で。
私が言いたかったのはSQLの説明じゃなく。
実務だとこんなのを延々500行〜1000行書くことがザラにあるよ!
ってことです。
上に書いた「商品Aを買った顧客の一覧と住所が欲しい」を100倍難しくしたような要望を叶えるために、上に書いたSQLの100倍難しいSQLを書くわけですね。
どうです?
エンジニアになりたくなりました?
なりたくなくなりました?
……
「なりたくなった」というそこのアナタ。
そうです。
この仕事は「難しいからこそ、面白い」のです。
本当に難しいものに関しては先輩がサポートしてくれますので、「なりたくなくなった」って方もご安心を。
ちょっとくらいゲーム感覚でいた方が上手くいく……と勝手に思っております。
……とはいえ。
多分、SQL書くことが楽しいと思うかどうかは非常に個人によって差があるかもしれません。
難解な数学の証明問題を解く感覚によく似ています。
もちろん、プロジェクトによってはSEはSQLを一切書かない可能性もあります。
それでも必須知識として覚えておいて頂けると幸いです。
まとめると。
今回のお話は
「プログラミングでもなくドキュメントでもない何かを書くこともあるよ!」
ってことと、
「難しいから面白いんだよ!」と思っておくくらいがちょうどいいかも
というお話でした。
ではまた次の記事でお会いしましょう。
お読み頂き、ありがとうございました。