misc.log

日常茶飯事とお仕事と

えっ?SQLをプログラミング言語として最初に教えるの!?

かつての研修プログラムについて書きかけたメモが出てきたので記録しておきます。

たしか、プログラミング研修の第1弾として「SQL」を長らく採用して研修を推進してきた人たちに対して疑問を呈して説明しようとした……のですが、おそらく受け入れられないと思ったので差し控えたものです。

末尾はとりあえず今思ったことを書き添えました。あまり練った文章ではないのであしからず。

研修のとっかかりにSQLな件について

確かに、今のシステム開発では不可欠な技術、知識ではありますが、IT全般においては単なる1ジャンルであり、それも用途が「データ操作、保管」に特化しているという点では特殊なジャンルという認識です。むしろ、純粋にプログラミングとして「作る、動く」を体験させることを優先し、その延長で「データも扱ってみよう」の方が自然だとおもうのですが……。

下手をすると、言われたり要求されたとおりのデータ操作に終始することが大事、というような「ワーカー」を量産することにもつながるのではないかと……(ExcelVBAで作業を効率化、データ操作に長けたオペレーターを育てる可能性が…)。やるならば、データベーススペシャリストなどの試験に受かるレベルの人を先生につけて徹底的にやるか、あくまでシステムの一部としての位置づけで習得していく、など、少しアレンジした方が良いようにも思ったりしています。

もしどなたかの強い意向でそうなっている場合、あまり声を大にして言うと気を悪くされるので黙っているのですが、そんなことなどを考えたりはしています。

今、現場で圧倒的に足りていない、自分で設計判断をして決定し、自分で作ったり人に作らせたりできる人を育てるには、もう少し「ロジックの組み立て、その中で必要に応じてDB操作や……


文章はここで途切れてます。

この文章を控えたあと、つべこべ言う人たちは置いておいて研修の内容はC#を使ったWindows Formsアプリの作成を中心とした実習に変更。基礎の講義と実習課題を多数据えて教育を実施。既に1年半が経過していますが、2年目となった新カリキュラムの卒業生は順調に設計、実装、テストといった一通りの作業をこなしつつ、次はWebアプリの勉強に取りかかっています。昨年は分からなかったものが、今見返すとわかるようになっていた、といったありがたい言葉ももらっています。

おそらくかつては、配属された新人は現場で資料作成やテスト結果のまとめ、例の「エビデンスとり」作業などと、既存システムのSQLを変更したりといった作業を中心にやっていたのか、プログラミング言語らしい言語を、きちんと対人で学ぶ場を与えられていなかった様子。これでは……とおもって手を入れたのですが。私は正解だったと考えています。

また、SQLにしても、データベース自体がSQLをどう解釈し、多段構成になったSQL分がデータベース自体のメモリー中でどのように展開され、処理され、その結果を返してきているのかを想像、理解できるかどうかで、将来的なパフォーマンスチューニングやトレブルシューティングといった作業の効率、問題解決能力に格段の差が出ると考えます。

基礎をおろそかにして、目先の作業に特化した教育をするのは「教育されたことが無い人」にとっては楽な選択かもしれませんが、それはただの「リソースの浪費」にしかなりません(人をリソースとあえて呼びます)。もう少し試行錯誤しながら模索してみますが、こちらも、数年の実績があれば前述のような意見をもう少し実態のある理由を添えて提示できるようになるのではないかと楽しみにもしています。

独習C# 新版

独習C# 新版

スッキリわかるSQL入門 第2版 ドリル222問付き! (スッキリシリーズ)

スッキリわかるSQL入門 第2版 ドリル222問付き! (スッキリシリーズ)