2021-01-31 18:02

新しい言語学ぶときどうやってる?

ある程度経験を積んだエンジニアは、どうやって新しい技術(言語やツール)などをキャッチアップするか。

人それぞれ違うと思うので、最近勉強したこととどうやってやったかを話してみました。

See Privacy Policy at https://art19.com/privacy and California Privacy Notice at https://art19.com/privacy#do-not-sell-my-info.

00:04
みなさん、こんにちは。TRY-CATCH FM第3回の収録を始めていきます。よろしくお願いします。
最近、会社の立候補制のGCP研修を受けていて、
去年の11月から始まっていて、月に1回くらいオンラインでやるんですよ。
1回2時間くらいかな。実際にGoogleが主催していて、
オンラインでGoogleクラウドのサポートエンジニアとか何たらエンジニアみたいな人が教えてくれるみたいなやつに加えて、
コーセラっていうオンラインで授業みたいなのができる。
講義とか受けられるよね。
それで、ちゃんとコースを受けて、最終的に認定試験を受けて、合格しましょうみたいなやつを受けてて、
結構、コーセラをサボっててさ。
会社からは何もトラッキングはされてない?
トラッキングされてないけど、終わらせることがGoogle研修の終了条件みたいになってて、
あまりにも品直が悪いと会社に通達が行くみたいな感じになってて。
1月後半くらいからちょこちょこ思い越しをやり始めたんだけど、
案外多いってことに気づいてしまって。
ちょっとコツコツやらないと、一気にやるのは厳しいこともあるよね。
内容自体はすごい良くて、コース2つあるんだけど、データエンジニア系とクラウドアーキテクト系みたいなのがあって、
俺はデータエンジニア系で受けてて、
マシンラーニングのデータ基盤の作り方とか、パイプラインどう組むかとか、面白くて。
でもね、2月の28までの認定試験に合格しないといけなくて。
それまでにコースを終わらせようとしたら、1日1時間から2時間くらいやっていかないと間に合わないっていうのが、2週間くらい前に発覚した。
結構ボリュームあるんだ。今からじゃあ30時間分くらいってこと?
いや、45とか50時間分くらいかな。
へー。
まあまあの量なのよ。
03:00
だって大学の1単位って1.5時間とかの授業が何ヶ月っていうのを毎週やってるから、それくらいのボリュームあるね。
へー。結構実践的な内容も多いんですか?
基本的には1つのコースの中にビデオを見て、座学系のやつがあって、絶対その中に1つ実践演習みたいなのがあって、それをやると一時的なGoogleアカウントが発行されるのね。
それを使ってGCPにログインして、これやってください、これやってくださいとか、例えばGoogleクラウドストレージのインスタンス立ち上げて、こことビッグクエリに接続してデータを流してとか、そういうのをやって完了とするみたいな。それがだいたい1時間くらいのコースで。
へー。
なかなか濃厚だなっていう。
そうね。一時期話題になったオックスフォード大学の機械学習の。
あるよね。アンドリュー先生の。
そうそう。
でもそれよりかは、俺も6週目か7週目くらいまでやったんだけど、あれのほうがやっぱりしんどいかな。
あれは確かに、ただオクターブっていう知らない言語でやるっていうのが若干のしんどさっていうね。
まあね、確かに。
あれは僕はなんとか耐えてクリアしたよ。
まじか。でもあれはすげえいいコースというか。
うん、とってもいいコースだった。あれPythonでやってたら派遣取れたんではっていう噂がすらあった。
そうだね。まあまあ、でもせっかくの機械だしね。これからちょっと自分を追い込まないとさ。
実際俺今仕事でGCPとかそんなめっちゃ使うってわけでもないから、こうやって追い込まないとやらないなと思ってやってますよ。
僕も興味あるから、ちょっとよさそうかったらやってみようかな。
なんかそのGCPを導入してる企業だけが受け入れるコースらしいよ。
そういうやつか。
まあまあまあ、機械があれば。でもそういうUDEMYとかCourseraとかいくらでもコースあると思うから、やってみるといいかもしれない。
GCPがたぶん公式でチュートリアルとか出してるから、ほんとやりたかったらそれやって、あとはかぐるみたいなデータサイエンスコンペの人たちのやってるまとめみたいなのを読んで、やれば本気出せばできるはずなので、あとは頑張ろうって話だね。
06:04
まあそんな感じです。前置きはちょっとこのくらいにして。
今日の本題なんだけど、前イントロにも似てる話で、エンジニアが新しい言語とかツールとかなりを新しく勉強するときの方法、どうやってるかみたいな話をしていこうかなと思って。
一般的にはさ、例えば最近とかだとどうなんだろう、エンジニアに入門したい人とかだと、よくあるのがさ、今ってドットインストールとかもう使わないのかな。
懐かしいね、ドットインストール。
わかんないけど。
悪いですね。
その後にProgateとかね、Ruby on Railsできましたから。
そうだね。
それは結構今でもやってる人多いのかな。
そうね。順番としてはProgate流行って、TechCampが流行って、みたいなイメージがあるかな。
TechCampっても有料でしょ。
無料っていうことになると、そうだね、Progateとか、idemy、udemyも。
あるだろうね。
だからその辺になったり、結構言語によっては綺麗にまとめられてたりとか、いろんなのがある。
ビトリアルが。
そうそうそう、そういうのを使ったりもするよね。
なんかある程度さ、もうエンジニアとしてキャリアを積んでくると、あんまりProgateとかさ、使わないよね。
使ってもいいのかな、わかんないけど。
それなりに独自の勉強方法みたいなの出てくるんじゃない?
そうだね。なんだろう。
ちょっと小須田流メソッドを教えていただきたいです。
そうだね。ギョーギョーしいものはないんだけど、
まず始めるときって2つぐらいに分かれると思ってて、
必要に迫られてやるのか、この言語ってやってみたいなと思ってやるのかの二択だと思うんですよ。
確かに。
必要に迫られたんだったら、最初はチュートリアルをやるでもいいけど、一番最初の基礎的なところだけやった後は、
もう作りたいものとか、作り始めてしまったほうが必要に応じてやれるので、いいかなと思ってて。
始めたいだけで始める場合とか、その一番最初の最初。
必要に迫られた場合でも、基礎をちょっとだけ見たい場合とかは、まず用意されてるチュートリアルがないか調べる。
僕は去年、Go言語を始めたんだけど、Go言語とかはツアーオブゴーっていう公式のいろんな文の書き方を学ばせてくれる基礎的な部分があって、そこから入れると。
09:06
いろんなライブラリとかも全部ドキュメントがしっかりしてるので、すごく書きやすいっていうのがあります。
そういうところで基礎をまず学べるっていうのが一つと、競技プログラミングとかやってる人は特に、やってない人もちょっと試しに簡単な問題を全探索とか、やれる人は動的計画法とか、
ちょっと軽めのやつ、配列の操作とか、ハッシュを使って辞書型みたいなやつとかの操作とか、いろんなものを簡単にできるので、競技プログラミングの基礎問題を解いてみるとか。
あとは、よくリクエスト送って、どっかから情報を取ってきてどうこうしたいみたいな人なんだったら、リクエストを送って取ってきたものをどっかに保存するみたいな一連の流れを一個やっていくと、その中での、その言語でのオブジェクトの扱い方みたいなものも分かったりするので、
そういうありものの基礎的な部分をまずやって、その後はだんだん自分がやりたい方向の技術の基礎の機能を一個一個作っていくが、やっぱり王道的でいいんじゃないかなと思ってますね。
おだしょー なるほど、なるほど。そうかそうか。
おだしょー 宮地的には?
おだしょー 俺はね、でも基本的には変わんないかな。最近で言うと、何勉強したかで言うと、NestJSっていう、あれ何て説明したらいいんだろう、NodeJSのフレームワークなのかな。
おだしょー サーバーサイドなのかな?
おだしょー サーバーサイド、そうそう。で、個人開発で新しいサービス作りたいなって思うときがあって、それ以前の個人開発はサーバーサイドフラスクで作ってたのね、Pythonで。
おだしょー でも結構作り方雑だったから、もうちょっと片付けて、ちゃんとAPIとか定義書とかも作って、やってみたいなと思って勉強し始めたんですよ。
おだしょー で、その時にGingo自体を勉強した、Gingoのチュートリアルをやったっていうよりかは、普通にNestJS、NestAPIチュートリアルみたいなの検索したら、海外のブログとか出てきて、それを見ながら一通り作ってみて、
ゲットAPIリクエスト投げて、帰ってきた、帰ってきた、みたいなやつとか、実際にDBに接続して、インサートされたわ、みたいなところを確認して、ベースみたいなのを作って、
12:14
そこから自分の個人開発で実現したいところを、より細かい単位で検索していって、こういう場合こうやるんだな、みたいなところをより深掘っていくみたいな感じでやってたかな、基本的には。
おだしょー やっぱり今はチュートリアルとかが結構充実してる言語フレームワークが多いので、まずはそこからスタートして、入り口というか基礎的な機能はそこで作れるようになるから、自分がやりたいことをそこから深掘っていく。
おだしょー そうね、でもやっぱり結構新しめの技術とか言語とかだと、明らかにやっぱり日本語のドキュメントってないよね。
おだしょー そうね、やっぱり英語力と翻訳ツールを使う力が。
おだしょー そういうことなかったね。詳しくないとはいえ。
おだしょー そんな感じですかね。でさ、思うのが、どのタイミングで自分の履歴書っていうか、そういうとこに書けるくらいのレベルとするのかって、個々人の違いがあるかなと思って。
おだしょー 例えば新しいプロジェクトが入るときに、例えばこすださん何々書けますかとか言われて、書けますよっていうある程度のレベルがあるわけじゃん。そこに持っていくまでにどれくらいやる?
おだしょー そうね。分かりやすいのだと、やっぱりプロジェクト1個やりましたとかなんだけど、そうでなかったら、例えば社内コミュニティで同期と一緒にこういうアプリを作りましたとか、個人開発でもそういうのもありだし。
おだしょー あとはコンテストサイト、アグルでも共有プログラミングでもいいんだけど、そういうところで使いましたとか、そういうところが1個ちゃんとあったら書けますっていうし、そこのレベルじゃないけど、チュートリアルとかやったことあって、書き方は分かります。やったらできると思いますって素直に言っちゃう。
おだしょー まあまあ確かに、期待値をちょっと調整する必要はあるよね。
おだしょー あんまりレベル高かったら向こうが止めてくれるし、そうじゃなかったらこっちのポテンシャルを見て、書けるって言うんだったらこの人なら書けるだろうって思ってくれたなら、それに答えるっていう。
15:01
おだしょー 確かに確かに、そこはね概ね賛成だな。やっぱり基本的に書けますっていう言い方を俺はした方がいいかな。
おだしょー 有利になるのは確実にそう。できますって言った方が有利。
おだしょー まあできます、だけどこのレベルですみたいな。なんかさ、よくあるのがやっぱり今勉強中でみたいな、ちょっとまだ自信ないですみたいな言っちゃう人。
おだしょー それって結局さらに学習するチャンスを逃してるだけだから。
おだしょー そうだね、そこで自信を持って嘘を言えないみたいな誠実な人の方が僕は好きだけど、そういう人がいるときは言いやすい何かを無理やり作っておくのは大事だよね。
おだしょー さっき言ってたような、だからちょっと深掘っただけのものでも、これはできますって、自分が言えるところまでちらっと作っちゃうっていうのは有利だと思う。
おだしょー 結局それで勉強もできるしね。で、その後はプロジェクトに入ってレビューをもらいながらやった方が絶対伸びが早いから、押し切って入るのが吉、ではあるよね。
おだしょー そうね、まあオススメはやっぱり自分のポートフォリーをちゃんと作ってGitHubに公開してるっていう状態?
おだしょー うんうん、それは一番強い。
おだしょー また見る側もさ、実際どういうレベルで勝てるんだっていうのを見れるし、
おだしょー あとその次のオススメなのはやっぱ一番最初にも話した、コーセラとかの認定書、修了証明書みたいなね。
おだしょー そうだね、そういうのは確かに強いよね。
おだしょー うん、くらいかな。
おだしょー 個人開発とかやってることの強みはそういうGitHubに載せやすいことだよね。
おだしょー プロジェクトのやつを載せるとどうなるかみたいなのが最近ニュースもあったと思うんだけどね。
おだしょー 確かに確かに。
おだしょー それはまた別の回でやると思いますけどね。
おだしょー 俺も今の会社に転職するとき、前職でVue.jsとか全く使ってなかったけど、個人開発で使ってて、それで全然使えますよみたいな感じでディレクション書いて、今もVueで仕事してるから。
おだしょー やっぱ見えるところでね。
おだしょー そういう意味だよね。
おだしょー そうそう。
おだしょー 解けると強いですね。
おだしょー そうですね。
おだしょー まあそんな感じで今日は終わりましょうか。
おだしょー そうですね。
おだしょー いやー、なんか後々、後々っていうか、また今度いい感じのメソッドがあったのに話をしたいと思います。
これ良かった 貯めといてまた1本 買いに行ってね
はい じゃあお疲れ様です
18:02

コメント

スクロール