鈴木颯介のブログ

技術的なメモや、僕の気持ちです。

16歳プログラマから17歳プログラマになっちまったけども。

こんにちは、鈴木(https://twitter.com/szk_ssk_tako) です。僕は2001年の3月1日生まれなので、もう17歳になってしまうわけですが、この一年間の振り返りをしようと思ったわけです。 2017年の振り返りの記事ではプライベートなことを多く書いたので、今回は約一年間、プログラマーとしてアルバイトしていたということに焦点を当てて書いていこうと思います。

経緯

 僕は、2017年の1月下旬からBoostIO株式会社という会社でフロントエンドエンジニアとしてアルバイトさせてもらってます。BoostIO株式会社(旧Masisin&Co)では、日本のベンチャー企業としては珍しく結構大きめなオープンソース・ソフトウェアを開発しています。身内贔屓抜きに結構使いやすいので、使ってみてくださいね。

 僕はもともとこの会社の開発するそのOSSの1ユーザーでした。それで情報を追っていたら、なんかよくわからないんですが、この会社が突如として洋服を販売し始めたんですね(https://boostnote.paintory.com/)。それで、このアプリが好きだったので、少しでも貢献したくて服を買ったんですよ。でも買って着ないのはもったいないので、500ハッカソン にBoostnoteのパーカーを着て参加しました。そしたらなんと、ハッカソンの主催の会社の方とBoostIOの代表が知り合いだったんですよ。なんかノリでその主催の会社の方とツーショットを撮り、BoostIOの代表に送ってみたところ、会うことになり、採用されることになりました。ありえん奇跡ですね。

 当時、特に技術的な成果を残していたわけでもない僕みたいなひよっこ高校生を、ちゃんと給与を払って採用してくれた代表には大変感謝しています。

良いこと

 僕はもともとJavaやらScalaやらKotlinやらが好きだったんですが、なんと、この会社のプロダクトはreact!redux!electron!わーい!そう、これ、一見辛い状況に見えなくもないんですが、今となっては非常に良かったと思います。というのも、一体、誰が好き好んで、今の混沌としたフロントエンド界隈に足を踏み入れるというのでしょう。仮に僕がJavaScalaでサーバーをやる会社に採用されていたら、まず間違いなくフロントエンドの界隈をひたすら避け続ける人間になっていたと思います。今となっては慣れたので、yarnだのwebpackだのbebelだのreactだのreduxだのなんだのっていう環境を割とパっと作れますが、何も知らなかったら発狂していたはずです。この分野、正直独学でやるの結構きついんじゃないでしょうか、、、。少なくとも僕は嫌。

 あとgit、バイトを始めるまでは git add → git commit → git pushくらいしか使わなかったし、「あ、なんかリジェクトしてやがる、ぐへへ、フォースプッシュしてやるぜ」くらいの雑な使い方をしていましたが、割と大きいOSSのメンテナ業をやるにあたってそれは問題なので、勉強し、今ではそれなりに使えるようになったと思います。

 そして、コードリーディングとコードレビュー。OSSの文化とかもよく知らずにひとりで淡々と勉強だけしていると、他人のコードを読むことも、他人にコードを読まれることもありません。バイトを始めてからというものの、先輩エンジニアの書いたコードを読むことも増えたし、きちんとしたレビューをしてもらえるようにもなりました。それこそ、最初の頃は、先輩エンジニアの方はきっと「なんやこのコード、おれはESlintじゃねえ!」とか思ったでしょう、それくらいひどいコードを書いていました。今も相変わらずクソコード生産機をやっていますが、幾分かマシになったはずです。それに、最近はコントリビューターの方々のプルリクをレビューをちゃったりしてます。ほんっとうに良い経験をさせてもらっている。

 最後に給料。以前までやっていたガソリンスタンドのバイトよりは少ない負担で多くの給料を貰えています。興味のないクルマに興味のない液体を注いで食う飯よりコードを書いて食う飯の方が美味いです。

辛いこと

 僕は普通科の全日制高校に通っています。まずその時点で1日のうち8時間が持って行かれます。そして2017年の3月いっぱいまでガソリンスタンドのアルバイトをしていました。それで週に4日くらい、1日4時間、多い日は8時間持って行かれていました。その時が一番つらかった!死ぬかと思った!生きてるけど!生きててよかった!でも今は働く時間を工夫したり、色々したりして深夜0時までには就寝するようにしています。

 もちろん、バイト先には、僕より年上のエンジニアの方がいます。みなさん、本当に優秀(この表現、上から目線な気がしますが、そういう意図はありません。)で、僕は、ある意味でそういう人たちと同じ土俵に来てしまったわけです。コードレビューでたくさん指摘をもらったりすると、「あー、僕無能だなぁ、これレビュワーの人も大変だろうなあぁ、むしろレビュワーが書いた方が全然早いんじゃなかろうか。」とか、たまには思ってしまうんですよ。もちろん、本当にありがたいとおもっていますし、確実に自分のちからになっているとはおもっています。ですが、今まで一人でやっていたものが、自分より優秀な人に囲まれる環境に急に変わるのは、僕にとってちょっとした精神的負担だったりしました。

 英語が書けなくて辛い。これはかんっぜんに、100%、僕の力不足なんですけども。中学英語とGoogle翻訳を駆使したブロークン・イングリッシュは、関係者各位に多大なご迷惑をおかけしたことでしょう。勉強がんばります。

 さっきも言ったとおり、BoostIOで作っているプロダクトは、フロントエンドでは主にReactを使っていて、Javascriptで書きます(余談ですが、社内にJSerが多いため、サーバーもNode.jsで書かれていますね。サーバー側はFlowやらTypeScriptを使っているみたいです。僕はサーバーはめったに触らないのであまり関係ないですが。)。でも、正直、僕、Javascript嫌いなんですよ。オライリーの「Javascript the good parts」の悪いパーツの章を読むと「それな〜〜!」と声が出てしまうくらいには嫌いです。まあ、もともと静的型付けの言語しかやったことがなかったから、まず型システムの時点で苦しかったし、ミュータブル的思想ととイミュータブル的思想が気持ち悪く混在した標準ライブラリも苦しかったし、(これはJavasciptの本質かと言われるとそうではないですが)ありえん数の周辺ツールも、僕を苦しめました。というか今も慣れはしましたけど全部苦しいです。

まとめ

 辛いことは確かにありますけど、よいことの方が多かったです。僕は将来コードを書いてくっていけたらいいなと考えているので、この年齢のうちから実際のプロダクトに触れているのは、そういう意味でも良いことなんじゃないですかね。こうして年齢を重ねていってしまって、終いには「この年齢のうちから〜」とかいえない年齢になるんでしょうけども。どうでもいいですが、友人や姉から「17歳、似合わない」とよく言われますね。16歳か18歳の方が似合うみたいです。セブンティーン。青春ぽい。

 ここまで読んでくれた物好きな方、本当にありがとうございます!うれしいです!ついでに、僕のほしいものリスト(http://amzn.asia/1fjwrls) から、技術書とか、お風呂に浮かべるあひるとか、買ってくれると喜びますよ!