日本の技術トレンドは追うな
独学するにあたって、最初の取っ掛かりを調べるのに日本の技術情報サイトを見てしまう人は多いのではないでしょうか。世の中の技術者の大半はそうだと思いますし、実は私も見ています。ですが、鵜呑みにはしません。日本の技術情報サイトに寄稿している人がどのように紹介するのかで日本のIT業界のトレンドは大きく変わると思っています。つまり、寄稿した人が紹介した物だけが流行るという歪な技術トレンドが日本のIT業界の技術トレンドと言っても過言では無いです。もちろん、日本発のプロジェクトもありますし、そういう物は日本で発信される情報が最先端ではあるので、そこは否定しませんが、世界的な技術トレンドの最先端は大抵の場合は日本語情報では存在しません。世界の技術トレンドの最先端から一部の人が独断で厳選した物が日本語で紹介され、その情報を見た技術者がそれを取り入れていくことで日本の技術トレンドが形成されていきます。
ですので、寄稿する人が興味を示さないで埋もれていく世界的な技術トレンドも多ければ、世界的には全く流行っていないのに日本だけで流行っている奇妙な技術トレンドも多いです。これは厄介な問題で、そのまま数年経つと、世界と日本との技術的な差がとても大きくなります。まさにガラパゴスです。
日本で独自発展した技術を使い続けるのも良いですが、OSSに関して言えば、やはり利用者数と開発者数が多いプロジェクトほど発展は早いですし、日本だけで発展している物よりも全世界で主流の技術を学んだほうが良いと思っています。なぜなら数年後には世界的な潮流に飲み込まれて日本で独自進化した技術は消えて無くなるからです。今現在ではなく未来を見据えて勉強しておく事が必要だと言えるでしょう。
海外の情報サイトを見る
そんな訳で、私の場合、一番最初は海外の情報から見ます。海外の技術トレンドを調べてから日本語の情報を探しますが、大抵日本語の情報は見つからないので、そこから先も海外の情報を参照する事が多いです。1.必須エクステンションを入れる
海外の情報を見るのに英語が堪能な方であれば問題は無いでしょうけど、大半の日本人は問題あると思います。ですので、Google翻訳のエクステンションは必須です。ブラウザをインストールしたら最初にGoogle翻訳もインストールするぐらい必須だと思ってください。はっきり言って、Google翻訳が入っていないと話になりません。2.技術トレンドをチェックする
翻訳できる環境が整ったら片っ端から海外の情報を見てみましょう。と言っても、海外の情報サイトなんか知りませんよね?そんな人の為に、Chromeウェブストアに良いエクステンションがあります。この「Daily 2.0」というエクステンションを私は常用しています。ブラウザのエクステンションとして導入すると、新しいタブを開いた時にデベロッパー向けのニュースを世界中から集めて表示してくれます。
インストールしてから新しいタブを開くと以下の画面が表示されます。
「I AGREE TO THE TERMS, PRIVACY AND COOKIE POLICY.」にチェックを入れて「GOT IT」ボタンをクリックします。
ここで自分の興味がある技術トレンドタグを片っ端から選択します。ここに表示されているのは人気のあるものだけなので、その他にも大量に用意されています。
それでも世界的に人気があるものしかタグは無いので少し注意が必要です。
「python」や
「flutter」はありますが、
「rust」や
「erlang」はありません。やはりまだまだ世界的に見ても流行にはなってないんですかね。
逆に言うと、タグが用意されている物はそれだけ情報が頻繁に出てくると言うことなのでしょう。後から変更出来ますので、気になったものはどんどん探して追加してみましょう。
セットアップが終わるとこんな感じになります。左上が広告で、それ意外は世界中のテック系のブログから情報サイトから様々なところからの記事になります。
左側のハンバーガーメニューを開くとソース元のサイトの一覧とタグ一覧が見れます。タグを追加したり削除したりする場合はここでやってください。
左上のボタンでレイアウトの変更も出来ます。
正直言って、レイアウトはデフォルトのままが一番見やすいと思うので、弄らなくていいと思います。
あとはここで表示されている記事のサイトを見るだけなのですが、記事タイトルが英語で何書いてあるか判らん、みたいな英語アレルギーの人いますよね?そんな人の為にGoogle翻訳が活躍します。なんとこの画面もGoogle翻訳で翻訳してくれます。
右クリックのメニューから「日本語に翻訳」を選択するだけです。
こんな風にタイトルが日本語訳されます。
あとは気になる記事をクリックして読むだけです。
リンク先のページは当然英語ですが、「Google翻訳」のエクステンションは賢いので、英語サイトを開くと自動検知して上記のように翻訳するか尋ねてきます。
ただ、「英語を常に翻訳」のチェックボックスはチェックしないようにしましょう。たまにプログラムのソースコードを英語と勘違いされて日本語訳された時に困りますので、サイトを見ながらその都度切り替えるようにした方が良いと思います。
そして「Google翻訳」のエクステンションが凄いのはここからで、日本語訳したページからリンクをクリックして次のページに飛ぶと、そこも勝手に翻訳してくれます。
ブログなんかだと下の方に関連記事が表示されたりしますが、
普通にクリックしただけで日本語に翻訳されたページが表示されます。
ちょっと日本語が下手な日本人のサイトを読む感覚で普通に海外のサイトを日本語で見ることが出来ます。
そして、このDailyというエクステンションの凄い所はまだあって、過去の記事を検索する事ができるのです。いろいろなテック系サイトの過去記事のリンクを恐らく全部取ってあるみたいで、そこからいろんな物を検索することができます。
例えば、タグでは存在しなかった「rust」も
検索すると過去記事まで遡って表示してくれます。
「erlang」ももちろん出てきます(Elixirが多いですが・・・)。多分、2017ぐらいまでの記事であれば出てくると思いますので、よほど廃れた技術でなければ大体の技術情報を調べるきっかけにはなると思います。
3.独学する
さて独学です。独学する時に何を見て独学しますか?
海外の情報サイトで海外の情報を調べて、勉強する時に日本語サイトを見て勉強できるはずはないですよね。当たり前です。日本で広まる前の技術トレンドを日本語で勉強できるわけがないです。
ですので、当然、海外のサイトを見て勉強することになります。一番良いのは公式サイトで公開されているドキュメントになります。そして、最近は公式サイトでチュートリアルも公開されている事が多いので、公式チュートリアルをやるのもいいでしょう。もちろんGoogle翻訳をフル活用してくださいね。
最近のOSSはドキュメント関連も自分のサイトではなく、外部サービスで公開していたりします。Pythonで作られているSphinxというドキュメント用のツールがあるのですが、それを利用してhtml化したマニュアルやチュートリアルを公開しているサービスがあります。それが「Read the Docs」です。
公式のマニュアルやリファレンスが日本語で読めるようになったら、実際にその言語を触って勉強していった方が良いと思いますが、実際問題、無理ですよね。いきなり触ろうとして簡単に出来るぐらいなら、最初から勉強なんてしませんよね。
ですので、最初は他の人が触っている姿を見るのが良いと思います。そういった時にYouTubeが役に立ちます。もちろんYouTubeでも(大半の動画は)自動翻訳で見れます。でも、言葉が解らなくても、画面を見て一時停止してリファレンス等と見比べて何をやっているかを把握出来ると思います。面倒かもしれませんがやるべきです。
YouTubeで技術系の動画を探す時には重要な「コツ」があります。なにかOSS等のプロジェクトを探そうと思って、そのプロジェクト名だけで検索すると、どうしようもない動画が大量に出てきたりします。ですので、「crash course」と付けてください。例えば「flutter」に関する技術系動画を探す場合は「flutter crash course」です。「crash course」は邦訳すると「特訓」みたいな意味で、かなり濃い内容で長時間に渡る動画がヒットするはずです。普通に5時間とか10時間とかの動画が出てくるとと思います。
この手の「crash course」動画は、環境づくりを含めた本当の初歩の初歩から何か形ある物を作り上げる所までを全部通しで収録しています。ですので、5時間とか10時間になるのです。動画を見て一時停止しながら動画と一緒に何かを作って行くことが出来ます。
流行りつつある技術は大抵「crash course」の動画が作られます。海外のEラーニング系の業者がトレンドを察知して作り始めますので、「crash course」が出てきたOSSに関しては今後流行になる兆しがあると判断して間違いないでしょう。頑張って勉強してください。
まとめ
在宅で時間を持て余してるエンジニアも多いかと思って、海外の技術情報の集め方と独学の仕方の簡単な方法をまとめてみました。もちろん他の方法もあります。例えば、情報元ソースですが、RSSで収集するのではなく、掲示板を見た方が早くてリアルな情報が多かったりします。RedditやQuoraを見ることも多いですし、Hacker newsなんかも見てて面白いです。ですが、そういう所は英語の情報に慣れてからの方が良いと思います。最初は上記の様にDailyから見ていくのがお薦めです。あとはMediumとかDevですかね。ここら辺も見ていて面白いです。
あとYouTubeで動画を見て勉強するのはかなり効率が良いです。実際のソースコードやターミナル画面を見ながら勉強できるので、ブログなんかを見ながらやるのとは全然理解度が違います。特にCrash Courseの動画は本当に初心者に向けて作ってあるので、かなり簡単な部分から教えてくれます。
よく有料の動画で日本語のプログラミング講座的なのがありますが、英語でYouTubeに出ている物は同等以上のクオリティの物が多いです。特に海外のYouTube系Eラーニングのサイトが作っているCrash Courseはかなり品質が高いです。それに正しい英語で講義してくれるので、自動翻訳の精度も高いです。
この日本語への自動翻訳の精度の高さは独学する上ではとても重要で、個人が作っている動画だと英語圏以外の人が英語で解説している動画等も多くて、そういう動画だと、日本語に自動翻訳すると全く意味のわからない邦訳になります(特にインド系、シンガポール系の英語は自動翻訳とは相性悪いです。)。ですので、もし個人が作成している動画と業者が作成している動画があるのであれば、迷わず業者が作成している動画を見た方が良いと思います。
いろいろと大変な時期ではありますが、みなさんも在宅の時間を有効活用して、自分自身の能力アップに役立ててください。