Advent Calendarのネタに悩んだ結果、自己主張が激しくなった13日目

　

[Progate Advent Calendar 2017](https://qiita.com/advent-calendar/2017/progate)の13日目にて。

## まえがき
「アドベントカレンダー、アドベントカレンダー、アドベントカレンダー。」
アドベントカレンダーを書くと決めたは良いものの、何を書くかなかなか決まらないということはあるあるなんではなかろうか。

12月に入った途端、毎日必ず誰かが記事を公開するものだから、必然的に毎日1度はアドベントカレンダーについて考えることになる。ハロウィンのアドベントカレンダーや年越しのアドベントカレンダーがなくて(本当にないかは知らない)良かったと思った。

そんな12月も9日目に入ったところでふと思う。

「**ただこの1年を振り返ろう**」と。

この記事はあるエンジニア、というか僕（[@Takkiii_com](https://twitter.com/Takkiii_com)）の1年の学びや苦労や喜びを綴ったエンジニアとしての振り返りに過ぎない。
ためになるアドベントカレンダーを読み疲れた、もしくはこれから書かねばならないアドベントカレンダーのネタ探しに疲弊した人が読むものであってクソ真面目に読むべきエントリではないことを予め申し上げておこう。

## 1.
2016年末で勤めていた会社を退職していたので、2017年は無職からスタートしたけれど1月末にはProgate社で働くことが決まった。

そのときはProgateって全員エンジニアだし、東大揃いだし、自分が今まで触ってきた技術(Rails)以外にも色んな技術を使っていて、付いていけるか戦々恐々としていた。

働くことが決まってまず(入社前に)やったのはReact周りのお勉強だった。
Reactは前職で一部の機能に導入しようとしたこともあったのでなんとなく知っていたが、Fluxの各概念が腹落ちせず**とても眠かった**ことをよく憶えている。ActionCreatorとかDispatcherとか登場人物が多くてとても大変だった。

## 2.

1週間ほどかけてReact,Fluxの基礎をぶち込んだので早速お仕事をすることになった。
いきなり法人向けの管理画面の開発だったが、toB向けの開発はしたことがなかったので、これまた緊張していたことを憶えている。

さて、記念すべき初コミットがこちらである。（画像がデカイ...。）

[![https://gyazo.com/432ef7609216f9090b6447ef926b3002](https://i.gyazo.com/432ef7609216f9090b6447ef926b3002.png)](https://gyazo.com/432ef7609216f9090b6447ef926b3002)

ちなみにこのプルリクエストにはコメントが20個くらいついた気がする。
前職ではインターン生相手にプルリクエストを見る側で、あまりレビューされたことがなかったので、めちゃくちゃドキドキしながらプルリクエストを出したんだけど、あっという間にコメントがついてドキドキするのも束の間、すぐさま修正に取り掛かった。

でもProgateのいいところは**褒めたり、フィードバックをする文化**があるところ。
何かリリースしたり、提案すると必ず「いいね！」という声が返ってくる。
そしてアドバイスだったり、フィードバックだったり、新しい意見や提案をしてくれる。
このときも、「UIいいね！」って言ってもらった気がする。（コメントは20個ついたけど！）

## 3.

それからコンテンツを作る仕事をした。
僕はRuby on Railsのコースを作るチームで、パートナーはインターンの[@somak
ihiro](https://twitter.com/somakihiro)で、Progateやコンテンツ作りの色々なことを教わった。

Ruby on Railsコースはリニューアルで、新しいシステムに乗せてリリースする予定だったため、その開発も少しやった。このときはDockerやnodejsに触れて緊張したけれど、面白かった。Dockerらへんは、リードエンジニアの[@shohohohfire](https://twitter.com/shohohohfire)がサポートしてくれたので思いの外スムーズにできた記憶がある。

コンテンツ作りで言うと、企画からシステムの実装・リリースまで一貫して担当したのはインターンの[@rmhkwar0518](https://twitter.com/rmhkwar0518)と作った**SQL学習コースⅠ**で、作り直しも何度かあって大変だったけど、出来上がったものは最高で**世界一分かりやすい**という自信がある。

Progateのメンバーは口を揃えて「コンテンツ、コンテンツ」と言うけれど、世界一のコンテンツを生み出したことで初めて自分がProgateのメンバーになった気がした。

[![https://gyazo.com/3d74a95d0295ed47eade14fc0df29610](https://i.gyazo.com/3d74a95d0295ed47eade14fc0df29610.gif)](https://gyazo.com/3d74a95d0295ed47eade14fc0df29610)
　　　　　　　　　　　　　　　　　　　　*SQLが実行できるよ！*

## 4.

最近はReactNativeでモバイルアプリ（2017/12/4時点では未リリース）の開発をしている。
Railsは日本語の情報も多いので、わざわざ英語のリファレンスを読んだりライブラリのソースコードを読み込んだりする機会はあまりなかったけれど、ReactNativeは真逆で、基本的に情報ソースが少ないので、英語のリファレンスやライブラリのソースコードを読み漁るしかない。

意外とこのプロセスが楽しくて、ReactNativeはまだ触り始めて2~3ヶ月だけど、Railsで使っているライブラリよりもReactNativeで使っているライブラリの方が内部の実装を詳しく理解しているケースも少なくない気がする。そんなこともあって最近ではRubyよりもJavaScriptの方が好きになりつつある。

1年未満前は、書いたことのあるJavsScriptと言えばjQueryかCoffeeScriptくらいだったのに、ReactJSを覚えるだけでモバイルアプリまで開発できるんだから**Reactはとにかく最高**である！！

## 100.

とまあ1年間で色々なことをやってきて、その他にも、

* ランキング機能をRedisに置き換えたり
* [@k_tooooooooooo](https://twitter.com/k_tooooooooooo)と一緒に、インターンやアルバイトの面接をしたり
* 研修生のメンターをしたり
* 英語版のリリースに向けて、インフラ構成自動化のスクリプトを書き換えたり

色々やった。たくさん成長もあった。
来年もいつも通りチームメンバーと議論して、コードを書いていけたら良いと思う。

もっと詳しく知りたい人はTwitterなどに直接連絡をくれても良いし、コメントを残してもらっても構わない。
ReactNativeについても会社としてか、個人としてか分からないけど、近いうちにQiitaか何かで公開できたら良いなと思う。（既に何記事かは[このアドベントカレンダー](https://qiita.com/advent-calendar/2017/progate)で公開しているので興味がある人はぜひ。）

そして結びの文章もこれ以上上手く書ける気がしないので、こんなところで初めてのアドベントカレンダーを締めたいと思う。
どうも、お粗末様でした。

残り僅かな12月と、クリスマスをみんな楽しく過ごせることを祈って。（[@Takkiii_com](https://twitter.com/Takkiii_com) / 2017/12/13）