stratascratch

以前にご紹介したSQLの自習サイトです。https://stratascratch.com とくに米系のテック企業にデータサイエンス関連での就職を考えている方(言うて日本では求人そのものが少ないと思いますが。。)にはぜひご活用いただきたいです。

まず、英語のみです。なので、ある程度英語がわかる必要がありますが、ある程度がどの程度かと言うとそんなに高いレベルではないです。プログラミングの問題文が英語なだけで単純な言葉の使い回しでいけます。なおかつ回答は英語というよりもSQLというプログラミングのコードなので何語でも答えは同じになります。

例をご紹介すると以下のような問題です。問題が何を聞いてるかわかれば英語力は大丈夫です。

You have been asked to get a list of all the sign up IDs with transaction start dates in either April or May.

Since a sign up ID can be used for multiple transactions only output the unique ID.

Your output should contain a list of non duplicated sign-up IDs.

まず問題文の意味が理解できるかどうか?理解できるならぜひおすすめします。実際の回答はSQLそのものの知識が必要なのでここでは割愛しますが、回答のプログラム式(SQL文と呼ばれる)をそこに放り込んで、「正解」あるいは「不正解」がもどってくる方式です。また、正解は一通りではなくって、何通りもの解き方があるので、他のユーザーがどのような解き方をしたかを人気投票順別に見ることができ、それをみるだけでも結構学びにも励みにもなります。

ポイントは「英語を」勉強するのではなく「英語で」勉強する、です。目的はSQLを学ぶ 、defaultを英語にするってのはそういうアプローチのことだと思ってます。




なんならchat gptに英語で聞いてみよう



いまはやりのchat gptですが、このおかげで本当に学習が楽になりました。これがなかったら自分はこの歳 (61歳)でSQLやpythonを学べてはいなかったと思います。40代の頃も初歩的なSQLは業務でつかってましたがそれ以上を学ぶ気力はなく当時本を読んで学ぶことは断念してました。

本当にここ数ヶ月の話ですが、一気にSQLやpythonが上達したのはchatgptのおかげです。プレミアム版で月額3000円ほど払ってますが、下手なスクールにいくよりもはるかに安上がりだし、プログラム言語に限らず、日常生活や政治や料理から日曜大工までなんでもかんでも答えてくれます。もちろん無料版でも十分と思いますが、それくらい月額3000円くらいは惜しくないと感じています。

そんな僕ですから米国MBA取得後に30代のころからパソコンの設定言語は英語(当時、外資系に勤務)、スマホも設定言語は英語。最初にマイクロソフトアクセスをマンツーマンで教えてくれたRegional Officeの同僚で外国人(英語ネイティブでなかったにせよ)だったので、MS-AccessやExcelも必然的に英語に設定してました(1998年ごろ)。

その後米ハイテク企業でまたアナリティクス関連の仕事を10+年振りに再開することになりあわてて当時SQLをもう一度学ぼうとcoursera.orgというオンライン学習のコースに登録したものの途中でつまづき、要領を得ず進行のニュアンスがわからなかったりで断念。courseraのオンライン窓口はオンラインがゆえに微妙なニュアンスの質問はできず、会社の経費をつかうも未修了のまま終了しました。ここ数年また別の米企業にて再度アナリティクスの業務に従事することになり今度は、きちんとSQLを習得しようと今いろいろ頑張ってます。そんななかで独自に開発した学習方法が以下です。

やや脱線しますが米国のテック系アナリテイク分野の仕事に応募するとほぼ間違いなくSQLのテストがあります。最初は面食らって落ちたりしていたのですがそんななかで出会ったとっても優れたサービスをご紹介します。それは stratascratch.com とよばれるサービスでいわゆるそう言う系の企業の入社面接の過去問を一式そろえていてSQLの訓練にはもってこいです。有料ですが価値あると思います。僕はLife Time Plan(生涯料金)というのがあって確か当時5万円くらい払いました。これは生涯使えるにして損はない選択と思います。

言うまでもなくstratascratch.comは完全に英語環境ですが、最近はわからない時にchatgpt(有償版がおすすめ)に質問できる。同じ流れからchatgptにも英語で聞くと回答も英語でかえってくる。そのなかでstratascratch.comの過去問をこなしてSQLが上達するという英語のループが確立されるイメージです。

見方によってはカンニングっていわれるかもしれませんが、もちろん本番の試験ではカンニングはできませんから、。。でもこの方法で理解が深まった実感はあります。まず自力で解いてみる、エラーが戻ってくる。そこで自分の間違った回答をCHATGPTに放り込むとCHATGPTから解説つきで答えがもどってくる、それをつかって回答する。確かにカンニングですが、目的が理解促進なので、個人的にはぼくはそれでいいと思います。次第に自力で解けるようになるというシナリオです(言うは易しそれなりに努力は必要)。実際とある巨大ECOMMERCEハイテク企業のSQLの試験では、オンラインの対面でその場でチャットボックス越しに質問され、こちらの回答は画面共有でライブで監視されるというものでした(カンニングできない)。全問正解はできず落ち込んでいたのですが、なぜか採用通知がきました。(踏ん切りがつかずに行かなかったけど。。やや後悔)。

調べると日本の大学でSQLを教えることはあまりないようで、過去の職場で出会ったエンジニアの方もほぼ皆さん独学や専門学校で習得されてるようで、日本人はほぼ例外なく日本語でSQLを学ばれてるようです。もし外資の飯を食っていこうと思われるなら、あるいは世界を舞台に活躍したいなら、僕のおすすめは「SQL / Pythonは英語で学ぶ」です。