ウェブづくり日誌

ウェブづくりのブログ

あざらしの2019年振り返り

自己紹介

twitter.com

github.com

某新聞社という非テック・非IT系の会社でウェブエンジニアをやってます。 興味分野はウェブ、ブラウザ、CDN、Node.js、HTTP ...etc. 好きな言語はJavaScript、TypeScript、Rust、Swift、 C ...etc.

念願だったブログを作ってから早2ヶ月くらい?経ってからのようやく初投稿となりますが、いつの間にか2019年が終わりかけていました。

2020年からはもっとブログを書いていこう、と意気込んでいきますが達成できるかはわかりません。よかったらお気に入りお願いします。

振り返り総論

個人的には「今年は飛躍の年」と言っても良いかな、と思っています。

一年前、新卒で会社に入った2018年は、「ウェブについて右も左も何も分からない、でもちょっとJavaScriptとReactNativeが分かる」新米エンジニアでした。

一番最初、プログラミングを始めて半年のPythonエンジニア学生の僕が初めて通った技術インターン先の会社が今の弊社なのですが、2年間まったりゆるふわに開発をして特に他を見ることもなく就活せずに雰囲気でそのまま入社、そして去年の6月に配属した先のチームが「ウェブ界隈的にかなり強いチーム」だということもよく分からずに目の前の仕事を消化していく日々を過ごしていました。

(今振り返ってみれば突然配属されたこのチーム・このプロジェクト、コードを見れば有名な某氏、某氏、某氏...という状況は学ぶ上でとても良い環境なのだとも分からなかったのが恥ずかしい。)

ぼくの中で圧倒的な転機が訪れたのは去年の11月、チームリーダーが1ヶ月後に転職するという寝耳に水な知らせを受けたときで、そこから紆余曲折・心境の変化など色々あった(この辺りの話は長くなりすぎるのとエモ散らかしてしまうのとで大幅割愛)ことで、ここから徐々に社内外で他人に見えるような進捗が生まれ始めたのかな、と思っています。

例えば登壇。きっかけは(確か)去年の暮れに運営の方から会社としての登壇を依頼されたデブサミ。これがぼくのエンジニア人生における最初の登壇でした。

新人がLTも未経験なのにいきなり会社の看板を背負って3・400人の前で45分話す、というアホみたいな無謀への挑戦を決めたのが去年12月、そこからネタの調整や資料準備に明け暮れていた記憶があります。

資料はこちら。 speakerdeck.com

デブサミを知っている人ならこの資料の内容が明らかに場違いだということを理解できるかもしれませんが、知らなかった当時のぼくは「当日蓋を開けてみれば、スーツを着たビジネスパーソンがたくさん居る」という場の雰囲気に凍りついていました。当日応援しに来てくれた Shagamii (@RyuichiSakagami) | Twitter 曰く、

ポインタを持つ手が震えすぎていてどこを指しているのか分からなかった

そんな不穏な中で始まった2019年でしたが、当時のぼくからすれば思いの外、年間を通じて色々活動出来ていたのかなと思います。

一番の好変化だと思うこと

それはエンジニアの友達が出来たこと。

いつだか忘れたけど、最初はある勉強会のこと。

ちょうと新卒2年目の人が集まっているタイミングがあり、 その懇親会でShagamii (@RyuichiSakagami) | Twitterのおかげもあって無事 懇談できたのがキッカケでした。そのときの二人がそれぞれの会社(有名大企業)を代表するつよつよ若手エンジニアで、かつお互いよく技術的課題を相談する和・輪が形成できている、というのは今となってはとても感慨深いです。

正直、ただの非IT系な新聞社のぼくがこの二人と一緒に議論・相談・その他諸々できているのが素直に嬉しい。

そう思っていたらいつの間にか数珠つなぎでどんどん知り合いが増えていったし、今でもいつもその彼らとのネットワークの有り難みを感じている。

そしてTwitterは相変わらず大したことも呟いてないし、思ったこと・考えたことを発信しながら適当に運用しているけど、たまにTLで生まれる技術的議論が好きで好きでたまらない。

一年前の自分はこういう環境に身を置けることを全く想定していなかったので素直に嬉しい。みんな有難うございます。

P.S. もっと飲みに行きましょう!

年表

社内での諸々・各種勉強会・LT登壇は除く

1月

  • 社内で忙しかった

2月

3月

4月

  • 新卒入社2年目 スタート

5月

6月

  • 設計・技術選定を担当した会社のリニューアルプロジェクトが本格始動

  • Interop Tokyo

www.interop.jp

7月

  • 社内で忙しかった

8月

  • 社内で忙しかった

9月

  • 社内で忙しかった

10月

  • 社内で忙しかった

11月

12月

  • 社内で忙しかった

コミュニティ

勉強会を主催できるほどのキャパがぼくにないのですが、お酒が好きだということもあり自分の趣味で、#uenojs hashtag on Twitter とか #kitasenjujs hashtag on Twitter を主催していました。(あくまで)個人的な感想ですが、やっていて楽しいです。早く次を開催したい(新年?)

どちらも人数が必ず10人以下になるようなただの小さい飲み会ですが、

名前にJSと冠しつつもウェブだったりエンジニアリングだったり、(正直)技術に関すれば何でもアリな会です。(ぼくの宗教的な問題もあり場所は今のところ東東京限定ですが、正直その辺りならどの場所でも良いです)

UenoJSについては#xmasjs hashtag on Twitter をやったりと変化球もありますが、基本的には同級生のtwitter.comとぼくとで各自呼びたい人を分けて誘う感じになってます。幹事を手伝ってくださる方、いつでもお待ちしています!

KitasenjuJSについては、

こんな感じで、正直場所はどこでも良いのですが、「資料なしでフランクに技術を語り合う場」という感じのゆるいコンセプトでやる方向に向かってます。前回は初の試みということでぼくの知人のみの参加でした(Yanagi Kota🐶PAGU (@pagu0602) | Twitterが幹事やってくれた)、これからもっと拡げていきたい。ちゃんと前もって告知するのでぜひ皆さま参加してください!(場所は東東京であればどこでも良いです)

ぜひ皆さま応援していただけると嬉しいです!

OSS

これといって大した話はないのですが一つ、自分発のOSSとして真剣に育てていこう、と思えるプロジェクトが出来ました。

github.com

VCLのトランスパイラで、JSのBabelのように、「Code → AST」、「AST → Code」ができる {Parser, Traverser, Generator}です。

用途は「JSで書いたプラグインを噛ませてVCLのコードを何でも弄れるようにしよう」、という感じです。

モチベーションについてはこのスライドをぜひ。

docs.google.com

技術的な特徴としては、

  • 存在しないVCLのASTを自分でデザイン
  • 最初はパーサ部分にパーサコンビネータを使っていたがバックトラックが多すぎてあまりにパフォーマンスが悪かったので仕方なく手書き
  • コードジェネレーションにPrettierAPIを使用
  • TSで厳しく型付け

などなど。

来年も引き続き頑張ります。

来年は

来年は「転機の年」になるのかな、と何となく感じています。

自分のキャリアについてもそろそろ変化があっても良い頃(今は特にそういう話はない)だし、エンジニアとしての自分がどう生きていくのか・生きたいのかをもう少し真剣に考えて行動に移していこうと思います。また、何かあればぜひDM・リプいただけると嬉しいです。

来年も引き続き頑張るので皆さまよろしくお願いします。