Man page of CHIKU_WAIT(2)

システムソフトウェアとポエムの差が激しいので,高山病に注意

2017年を振り返る

気がついたら2017年もあと数日で終わってしまうので、今年1年をひたすら振り替えてってみようと思います。今年も濃かったなあ。

しんどい時期(1〜3月)

元々学習欲・知識欲からプログラミングをやっていたので、特に作りたいものがあるわけではなかった。同級生や先輩がスマホのアプリとかWEBアプリとかで作りたいものをガンガン作っていくのが羨ましかった。周りは「こんなものが作りたい」と学んで成果物を作っていく中、自分は知識欲で漠然と本にあるサンプルを写経して満足して次の本を写経するということをしていた。

知識欲や学習欲は満たされていくけど、周りとのギャップが正直苦しかった。また僕が居る大学は何かモノを生み出していくことが強く、雰囲気的にも成果物を生み出すことが強さであるみたいな雰囲気があった(個人的な感想)。こういう大学で触っているのが好きで学習欲や知識欲からプログラミングしているっていうのが周りと違って苦しい気持ちだった(あくまでも自分の思い込みで実際にそういうわけであるとは限らない)。この時は9月にRubyKaigi2016に行った後だったのでコンパイラとか言語処理系に興味があってコンパイラの本読んだりyacc、lex触ってみたが特に何かネタがあるわけでもなく、本読み終わって終了していた。こんな言語あってもいいよなあみたいのは少しあったが、ちょっと躓いてすぐに諦めてしまった。今振り返るとちょっと挫折するとすぐになんでも諦めがちだった。

転機

ある日突然、居候先のシステムソフトウェア研の先生からSlackのDMで「OSCデモ向けに mruby in BitVisor 作らない?」と来た。f:id:chikuwa_it:20171228175148p:plain 正直BitVisorについて殆ど知らなかったけど、特に作りたいものが無くて微妙な気持ちで大学生活送っていた身としては凄く面白そうだったのでやることにしてみた。ただ、僕はLinuxカーネルやハイパーバイザといったシステムソフトウェアを触ったことが無かった。勿論C言語は授業で触ったくらいで全然わからなかった。そんな状態だったので初めて触る低レイヤー(しかもOS突き抜けてその下)だったので上手くいくはずも無く1ヶ月もしないくらいで詰んでしまった。正直低レイヤー全然わからんし、とにかく辛かったので正直諦めてしまおうと思っていた。だけどここで諦めたら一生何も出来ない気がした。気持ち的には辞めたかったが、なんとか逃げずにやって無事OSCの前日の朝5時くらいになんとか形になって一人大学ではしゃいでました。そしてそのまま札幌に向かって出展することができました。f:id:chikuwa_it:20171228175346j:plain

内容としては正直大したものではないと思っているけど、今まで成功体験が無かった自分としてはこれがすごく嬉しかったし、人生で初めて逃げずにやりきることが出来たと思っています。人生で初めての成功体験は多分この先も忘れることは無さそう。

インターン

ちょっと変わっていたことをOSCに向けてやっていたからか、mrubyわかんないみたいなことをひたすら呟いていたからか割と色んな人に観測されていた(と思う)。そのお陰か「mruby使ってインターンしたいなあ」と呟いていたらPandaxさんまつもとりーさんうづらさんといったmrubyやシステムソフトウェアに強いエンジニア・研究者の方に見事に補足していただき、KLabさんとGMOペパボさんの所でお世話になることになりました。

インターンの内容については割愛してまとめのブログエントリだけを掲載しますが、どちらの会社でも研究開発系の部署でOSSにガンガンコントリビュートしたり論文ガンガン出していくやっていきが凄い人たちに囲まれて刺激的な日々を過ごすことができました。

Berkeley SoftFloatを使って浮動小数点数演算をソフトウェアエミュレートで置き換える(x86_64) - Man page of CHIKU_WAIT(2)

HaconiwaとmrubyスクリプトでLinuxコンテナをつくる - Man page of CHIKU_WAIT(2)

雰囲気でNginxのモジュール書いてみた - Man page of CHIKU_WAIT(2)

tech.pepabo.com

このインターンぐらいから自分の将来や理想のエンジニア像、なりたい自分についてすごく考えることが増えた。インターン中、自分はどんなエンジニアとしてOSSとして関わっていきたいのか、どう生きていくかについてずっと考えていた。個人的にこのインターンはすごい人達に囲まれて技術的に鍛えられたのは勿論、エンジニアとしてのプロダクトへの思いやOSSとの関わり方生き方といった自分自身がこれからどうやって生きていくかについて振り返る貴重な経験になったのではないかと思っています。今の自分はPandaxさんや、まつもとりーさん、うづらさんといった方々を始めとしたKLabさんやペパボさんのお陰です。本当にKLabさんとGMOペパボさんのインターンに行けてよかったです。

rubykaigi

7月のOSCにmruby in BitVisorを無事に出した辺りから折角だし、RubyKaigiのLTとか出してみたら通るかなあって思って教員と一緒にAbstract考えたりして提出したらなんとなんと採択されてしまいました。

僕は去年のRubyKaigi2016が初めてのRubyKaigi参加でした。去年参加する前はRubyKaigiってRubyの話がいっぱい聞けるんだろうなあって思ってただけですごいふわふわしてました。確かにRubyの話が一杯聞けるんですが、Ruby(の中)の話が一杯聞けるが正解でした。初めて行った時は「C会議だあ…。」って完全に知識不足で死んでしまいましたが、色んなコミッタのセッションを聞いている中で「自分もここでいつか話せるぐらい強くなれたらなあ」なんて漠然と思っていました。でもその時は「どうせネタ無いしなあwww」なんて思って無理無理なんて終わってましたが、そんなこと言ってたら次の年にLT通ってしまったので自分は1年間で少しは強くなれたのかな…?と考えてました。また、身内LT以外をまともにしたことが無くてメチャクチャ緊張してしまって話すのが下手くそだったのが非常にアレだなあって反省してます。だってカンファレンスで話すの初めてなんだもん…。身内じゃなくて1000人近い強いエンジニアの前で話すのは数分でも流石に緊張しました…。

ただ、今まですごいなあ・憧れるなあって思っていた人たちと同じ場で話す経験を学生のうちから経験できたのは非常に貴重でした。ただ聞くことで精一杯だったのが少しではありますが議論できるようになったりしたのは自分が少し成長できたのかなって思ってます。

wsa研

10月はじめくらいにTwitterでwsa研(Web System Architecture研究会)の話がまつもとりーさんゆううきさん辺りのすごいエンジニアの方々から流れてきて「面白そうだなあ〜時間があったら行きたいなあ」って思っていた所、ゆううきさんから「きましょう!!!」とTwitterでリプが来て「自分が喋ってええんか…」って思いましたが、自分の世界を小さくしたくはなかったし、Webシステムを学術に寄せた話は今後自分が色々やっていく上で興味があったので参加することにしました。自分の内容については諸事情で非公開とさせていただきますが、基本的にはハイパーバイザでゴニョゴニョして上手くやれんか?みたいな趣旨の発表をしました。研究会全体的に参加者が凄いメンツで、15分発表15分質疑応答の配分もとても良かったからか各発表凄い濃厚な議論をすることができたのではないかなと思っています。僕は初めて研究会というものに参加したのですが、全員が何かの問題意識を持ち、活発な議論をすることができるのは凄いなと思いました。これだけの人が15分間質疑応答で白熱するのは他の勉強会とかでは殆どないと思っています。また、僕自身の発表はすごくサーベイも足りなく、現実的には難しい内容でしたが、それでも様々な方からの意見や提案などがあり、非常に参考になりました。この議論の内容は全て持ち帰って自分の中でまとめようとしています。

また、個人的にすごく印象に残っているのはtomomiiさんの招待講演でした。最初のしんどい時期で書いたように自分と周りとのギャップややりたい事が見いだせない辛さがあったのですが、やっと最近になって遠回りではありますが”自分だけの道を作る”ということが出来つつあり、丁度1年間の自分の心境や紆余曲折を経て今こうやってwsa研に来て発表をするということが出来ました。その中でtomomiiさんの”自分だけの道をつくる、語る”や”孤独を恐れない”は自分の心に深く響きました。今回wsa研に誘ってくださったゆううきさんやtomomiiさん、まつもとりーさんに感謝申し上げます。ありがとうございました。

来年に向けて

今年1年を振り返ると、僕は様々な大人の方々に支えられてきたと考えています。ネタを提供してくれた大学の先生やPandaxさんやまつもとりーさん、うづらさんを初めとしたKLab、GMOペパボさん、そしてはてなさんを始めとしたwsa研の方々のお陰があって今年1年を濃厚に過ごすことができました、ありがとうございました。この1年は自分にとって将来どんなエンジニアになりたいか、どうやって生きていこうかを深く考えるきっかけになりましたし、このような機会を10代のうちにもったことは貴重でした。この1年で得たものは来年もっともっと強くなるための糧にしていきます。

さて、もうすぐ来年なのですかどんな風にすごそうかなあと色々考えていますが2つほど実践していきたいなと思っています。まずは一つ目は、

5月に仙台でRubyKaigiがあるのでそこに向けて今やっていることをちょっとづつ形にしていこうかなと考えています。間に合わせたい。

もう一つは自分だけの道を自分でつくっていくこと。ずっと悩んでいたことはこの1年でスッキリしました。だからここからは自分で自分の道をしっかりと作っていきたいです。きっと迷走したりすることも多々あるでしょうが、tomomiiさんの東洋哲学の話にもあったように道に迷ってもでも、行き着けばよいかなと。きっと回り道や迷走したりしてもそれがまた自分の糧になるのかなって思ってます。ただ、自分の道をつくると言っても「これが俺のやり方だ!!!!周りは知らない!!!!」というのはちょっと違うと思っていて、自分の道をつくるためのサーベイや評価が合ってこそだと思っています。だから今は色々学び、調べて評価をして世界を広げていく中で自分の道をつくっていきたい、そう考えています。

こんなところで今年の振り返りを終えたいと思います。 今年もお世話になりました。来年もよろしくお願いします。