こんにちは、実は東京より台湾のほうが近い外国沖縄高専出身の福里です。今日は学生時代の経験が研修でとても活きたという話をつらつらと書いていこうかと思います。
本題について話す前に、まずは軽く自己紹介から入りたいと思います。
プロフィール
- 名前 : 福里 優気(ふくざと ゆうき)
- 出身 : 沖縄県那覇市。大都市です。嘘じゃないです。
- 研究 : 機械学習をつかって不発弾みつけてやろうぜってことをやってました
- 趣味 : 音楽(歌うのも聴くのも好きです。楽器はできないですが強いて言うならカスタネットが得意です)。
あと麻雀
1. 学生時代の経験
僕は学生の頃、情報通信システム工学科という学科に属していたのですが、そこではプログラミングや回路の設計、レポートの作成までほぼすべてを学校推奨機ノートPCで行っていました。そしてあるとき福里少年はこんなことを思ったのです。
「なんか重くね?」
とにかく動作が重かったんです。プログラムやTeXのコンパイル、果てはエクスプローラーでさえカクつき日々どうにかできないものかと模索していました。
僕「う~んwindows自体はめっちゃ使いやすいけどコンパイル全然進まないしプログラム書いてる時もエディタ落ちちゃうしネット検索も重いしなんなんこれやだやだやだやだやだy」
友「Linux.....触ってみない??」
僕「なにそれ」
というきっかけで僕はWindowsにしばしの別れを告げ、新たにLinuxというものと出会いました。
2. 仮想環境
こうしてLinux(Ubuntu)に出会った学生時代の僕ですが、その利便さに感動すら覚えました。 javaもpythonもTeXもmarkdownも全部ターミナルから書けてそのままコンパイルもできちゃう。しかも爆速。ubuntu最高。。。
※プログラムを提出する際に nkf -Lw hoge.py -> hoge_win.py
してあげてたのはいい思い出です。。。
しかしある日問題が発生しました。Ubuntu君は .exeが開けない!!! (当たり前)
課題や研究室で使うソフトなどもほとんどwindows準拠なのでインストーラーはもちろん.exeです。ものによっては公式サイトやaptなどでLinux用のパッケージを配布しているところもありましたが、バージョンが古かったりwindows版とは機能が全然違うものだったりと大変でした。
そこで、手元のUbuntuにVirtualBoxを使って仮想のwindowsを建てることで.exe問題を解消することができました!このとき仮想環境に触れた経験が後に新入社員研修で役に立ってきます。
(当初はwineを使っていましたが、僕のくそ雑魚かわいいPCちゃんだと動作が安定しなかったので結果的に仮想環境という選択を取りました)
3. こんなの初めて!クラウドサービス
そんなこんなで無事仮想環境を手にし研究を進めていた福里くんはまたもや問題に直面しました。
研究室のPCぶっ壊れちゃった。。。
当時僕は「CNNを用いた不発弾の位置検出」というテーマの研究を行っていたのですが、僕のPCちゃんで学習させようとすると 8億年 かかってしまうので研究室のGPU盛り盛りPCで学習させていました。しかしそのPCが壊れてしまったので、このままでは研究が進められず落単です。対戦ありがとうございました。とはいかないのでどうにかできないか必死に模索し、あるものと出会いました。
それはGoogle Colaboratoryというサービスで、自分が書いたプログラムをクラウド上のGPU環境で実行できるというものでした。(Google colabについてのスペックについて今回は割愛。いつかそこらへんのブログも書きたいなと思っています。)
クラウドに関して疎かった当時の僕は、「ネットを介して実行って遅いに決まってるやんwww」くらいの気持ちで全く信用していませんでしたが物は試しということで実行してみました。結果爆速。何この速さ。クラウドってすげ~~~~!!!!
このサービスと出会ってから僕はクラウドというものに興味を持ち、結果FIXERでクラウドエンジニアとして働くきっかけにもなりました。
4. 研修でのあれこれ
無事高専を卒業し、晴れてFIXERの新入社員として研修に励む日々がやってきました。研修ではMicrosoft Azureに関しての講義やハンズオン中心で THE・クラウド! って感じでした。
......わかる、わかるぞ...!
そうです、ここでやっと本題に入ります。Azureのハンズオンではクラウド上で仮想マシンを構築することが多かったのですが、学生時代に何度も仮想環境を構築していたため、そこらへんの講義の内容がすんなり頭にはいってきました。
またクラウドサービスを実際に研究で使用し体験していたので、クラウド自体がどういうものなのか、という前提知識もある程度もっていました。そのためAzureの講義を受けながら、リージョンという概念やデータセンターとのやり取りがどうなっているのかなどをしっかり理解できている自分に驚きつつも感動しました。学生時代の俺!!!ありがとう!!!
もちろんそれだけでは理解できないところもたくさんありました。特にローカルの仮想環境ではほぼ考える必要のなかったセキュリティの部分や、"ピアリング"などといった仮想マシン間での通信の部分に関してはまだまだ勉強しないといけないと感じました。
未来の自分に期待です笑
5. まとめ
ここまで長々と書いてきましたが、結局のところ言いたいのは
いま突き当たってる壁はいつか自分の糧になる
ということです。慣れないOSに四苦八苦したり、試行錯誤しながら仮想環境を何度も構築したり、研究室のPCがぶっ壊れてあやうく落単しそうになったりしましたが、それらを乗り越えたことが今まさに自分の知識・経験として役に立っています。
わからないままにしてしまっているものや、途中で投げ出してしまっているものはありませんか?それらをもう一度見直してみると、案外自分のためになってくれるかもしれません。
なんだか偉そうなことを語ってしまいましたが、もちろん自分もまだまだわからないことだらけですので、これからも会社のために。そして自分のために頑張っていけたらなと思います!
以上、お相手は福里でした。