きょくちょ日記 -THERE'S ONLY MAKE!-

頭の中にあるうちは何だって傑作

コードレビューするのが怖いと思っていたエンジニアが半年間コードレビューを経験して思った 10 のこと

これは pepabo Advent Calendar 2016 - Qiita の14日目の記事です。 昨日は id:Fendo181 さんの 日報サービス「DuPo」を作った話でした!


それは、今からちょうど半年前のこと。

海の香りと共に暑い夏がやってくる ... 甘酸っぱい青春が再び来るのではないかと予感させる ... そんな季節でした。

開発チーム内で行っていたスプリントレトロスペクティブの時間に、チームメンバーから「そろそろコードレビューをやってみよう!」と提案があり、それから本格的にコードレビューをやり始めることになりました。

早いもので、あれから半年が過ぎました。

今宵は年の瀬ということもあり、ふりかえりを目的として半年間コードレビューを積み重ねたことで僕の中で起きた考えの変化や感じたことについて 10 個書き出してみることにしました。

教育関連に興味がある方や組織の成長を考えている方、僕のようにコードレビューに対し臆病になっている方に向けて、何か感じていただければ良いなと思って書きましたのでどうか最後までお付き合いいただければ幸いです🙏

目次

  1. コードレビューするのが怖かった。できないと思い込んでしまっていた。
  2. どんな内容でコードリーディングを行ったのか
  3. コードレビューに自信がないときはどうすれば良いか
  4. レビュー依頼時にレビュアーのことを考えるようになった
  5. レビューは取り込むもの
  6. チーム間で意識の摺り合わせを行うことでレビューが円滑に進むようになる
  7. 研修時の絶対良感が根底に染み付いている
  8. インデント修正は人間がやるべきではない
  9. コードレビューの目的
  10. 楽しく円滑にコードレビューする簡単な方法
  11. 最後に

1. コードレビューするのが怖かった。できないと思い込んでしまっていた。

お恥ずかしい話、当時僕はコードリーディングすらまともにできず、個人の開発業務ですら上手くいかないお粗末な状態でした。そのため、そんな状態の僕がコードレビューなんてできるはずがないと思い込んでいました。なぜなら、他人のコードレビューをするためにはまず個人の開発業務の中で培うコードリーディング力が必要だと考え、コードリーディングが出来て初めてコードレビューができると自分の中で勝手に学習の段階付けを設定していたためです。例えば、FF的に言うと サンダガ を覚えるにはまず サンダラ を覚えてからという順番があることと同様に考えていました。

しかし今だからこそ思えるのですが、それは間違っていました。

コードレビューとコードリーディングは縦に学習の段階付けがされているものではなく、それらは並行していて相互的に学習が可能でした。 そして、サンダガ を覚えるには サンダラ を習熟するのではなく、まずは サンダガ を体験してみることこそが学習の近道だと分かりました。

2. どんな内容でコードリーディングを行ったのか

とはいえ、やはりコードリーディングすらまともにできないエンジニアがレビューを行い LGTM としたプルリクエストが本番反映されるというのはちょっと怖いですよね。例えば、家電製品を量産している工場の新人チェック員が「何をチェックするのか全然分かってないけど、とりあえず大丈夫そうだから OK です!俺まだペーペーなんで、なんでも経験かなと思ってます!」といった具合ではちょっと不安です。というか問題です。

そこで僕の場合は、僕の不足分をチームメンバーに補っていただく形でどうにかレビューを体験することが可能となりました。

それでは具体的にどんな内容を行なったのでしょうか? それはシンプルに次の 2 点でした。

  1. 僕がコードレビューの一次受けを行う。
    • ただし、簡単なレビュー依頼であれば僕だけのジャッジでよしとする。
  2. 先輩エンジニアがコードレビューの二次受けを行う。

この体制は以下のメリットがありました。

  • レビュー不足によってサービスのコードに対し障害を招くような爆弾や技術的負債となりうるコードを反映させることなく安全性を担保できる。
  • 僕が判断した善悪のジャッジと技術力の高い先輩エンジニアの善悪のジャッジを直接比較することができる。
    • 良いことについては、そのまま継続していくべきだと自信が持てた。
    • 悪いことについては、何が悪かったのか、どこが考慮漏れとなっていたのかを知ることができた。

3. コードレビューに自信がないときはどうすれば良いか

なんとかコードレビューデビューを果たした僕でしたが、何回かレビューをしていくとある問題にぶち当たりました。 それは自分のレビューに自信が持てないことです。 なんとか先輩エンジニアのようにレビューをしたいと思っても「本当に僕が言っていることは正しいのだろうか?」と考え込むことがしばしばありました。 そこでチームメンバーにふりかえり会で相談したところ、以下のようなフィードバックをいただきました。

  • もちろん違和感を持った理由を明示して「こうするとより良いのではないかなと思いました」と自分で考えて改善案までコメントできたら立派だが、最初はそんなことまではできない。
  • 違和感を持つべき箇所は必ずあるので、その箇所について「なぜこのように書いたのですか?」と質問するだけでも良い。
  • 最悪スタイルガイドを知らなくても、間違え探しのように他のコードと比べながらコードを見てみると「妙だな..」と気づくことができる。
  • 何か疑問を持ったということは、やりたいことがそのコードから読み取れないからであって、必ずどこかに議論や改善の余地がある。
  • 違和感を持って提起しただけのコメントだけでも、レビュイーに再考させることで新たな発見が生まれたりすることもある。また、Github 上でのやりとりは Slack 上に通知されるため、これを見たチームメンバーからまた新たなコメントを貰えることだってある。そのような一歩は無駄にはならないので勇気を持って発言していこう。

当時とても納得しましたし「これならやっていけそう!」とテンションが上がったのを覚えてます。 今でもレビューするときには、このとき教えていただいたことを意識するようにしてます。

4. レビュー依頼時にレビュアーのことを考えるようになった

レビューをする立場になったことで、レビューし易いプルリクエストとし難いプルリクエストを区別できるようになりました。 例えば、レビューがし易いプルリクエストの特徴としては以下が挙げられます。(良いPRについては他にいくらでも既出のブログがあるのでざっくり述べます)

  • 意図がはっきり明示されていること
  • 一つのプルリクエストでやりたいことが一つとなっていること
  • コミットの粒度が適切で流れのあるものとなっていること
  • 動作検証結果やテスト結果が明示されていること
  • 関連する issue や PR のリンクが貼られていること

上記については分かっていたつもりではありましたが、先輩エンジニアのコードレビューをするようになってからは今までより一層第三者目線で一歩俯瞰した考えのもとの設計を心掛けるようになりました。

ただし、上の項目を満たしているプルリクエストは確かに見やすくレビュアーにとっては優しいですが、見やすさや分かりやすさを追求しすぎることで時間がかかりすぎてしまっては本末転倒です。そこで大切なのがレビュイーとレビュアー双方にとって最も効率の良いバランスを保つことだと思うのですが、先輩エンジニア達は皆そのバランスが上手く、彼らが書いたコードをレビューをすることでその微妙な平衡感覚を養うことができたと思います。

5. レビューは取り込むもの

これは新卒エンジニア研修を受けていたときに印象深かったエピソードです。 当時新卒エンジニア同士でコードレビューをするといった研修内容があったのですが、そこで指摘してもらった箇所について「修正しました」とコメントをしていました。 しかし、それでは直せと言われたから「はいはい直しましたよ。これでいいすか?」と言っているような感じになってしまい、レビュアーからレビュイーに対しての一方的なコードレビューとなってしまいます。 そこで研修担当さんに、本来コードレビュー文化のあるべき正しき姿はチーム間で議論をしてサービスにとって最終的に良いと判断したことを取り込むことであり、もしも修正するという内容なのであればそれはレビュアーの意見を取り込むことなのじゃぞと教えていただきました。 それからは 修正 という言葉は使わずに レビューを取り込む という表現を使うようにしています。

6. チーム間で意識の摺り合わせを行うことでレビューが円滑に進むようになる

ある日、チームで行っているスプリントレトロスペクティブにて「JavaScript のレビューについてオーバーヘッドが大きくなってしまっていないか?」という内容が議題に上がりました。 この問題の原因は、JS について統一されたルール(スタイルガイド)がチーム間において確立されていないことでした。

そこでチームのアクションとして JS に強いメンバーが先導する形で朝会後に Javascript-style-guide を5分間だけ読み進めることになりました。

すると、以下のような良いことが起きました。

  • 各個人のコードに対する流派のような「こう書くべき」という認識が多少異なっていることが分かり、その場で話し合うことでチーム間のスタイルガイドを確立することができた。
  • 今まで背景がブラックボックスとなっていたコードについても、一般的に最新の理想の環境では「こう書くべき」だがサービス固有の問題によって「こう書くべき」となっている といった作成経緯を把握することで、既存のコードについても理解が深まった。
  • チーム間で共通したガイドラインが生まれたことによりレビュアーのコメントが楽になった。
    • 例: 「ほら!これ前に一緒に勉強したところだよ〜!」「根拠はスタイルガイドにあります。」などなど。
  • 単純に JS 苦手な人の学習にもなりチーム内のボトムアップ効果があった。
    • お恥ずかしい話、僕はこの時間で初めて ES5 と ES6 があることを知り、担当するサービスが IE に対応しているため JS が ES5 で書かれているという事実を知ることができました。

チーム間でレビューのオーバーヘッドが大きいと感じた際には、このような手法を試してみると良いかもしれません。

7. 研修時の絶対良感が根底に染み付いている

エンジニア研修時は Ruby on Rails の思想を基調として MVC や TDD といった一般的に正しいと言われる Web アプリケーションの仕組みや開発手法を学びました。 サービス配属後はしっかりとしたフレームワークこそありませんでしたが、長年利益を出し続け会社の収益基盤を作ってきた敬意を払うべき歴戦の勇者のコードを触れるようになりました。

正直最初は環境が変わりすぎて慣れるまでは善悪の判断がつけられず大変でした。しかし、コードが少しづつ読めるようになってくると、研修で学んだことは環境に依存せずに正しいことだと理解できるようになり、まるでジャングルの中でコンパスを見つけたように少しづつ動けるようになりました。(行ったことないですけど..)

僕はこのとき、初めて開発に携わったコードが研修で学んだ正しいコードで良かったと思いました。 なぜなら、悪い環境が犯罪者を育ててしまうことと同じで、レガシーな環境が当たり前となり善悪の判断がつけられない人になってしまうことを恐れたからです。 レガシーは慣れるものではなく改善していくものです。

新人には正しいコードレビューをさせるためにも、善悪の判断がつけられるように絶対良感を養うような新卒研修を行うべきだなと思ったことを覚えています。

※ 絶対良感という言葉はこちらのテックブログから参照させていただきました。 tech.pepabo.com

8. インデント修正は人間がやるべきではない

自明ではありますが、この半年間で僕も強く思ったので自戒の念を込めて敢えて書きます。

人間がやるべきことと機械がやるべきことは区別するべきです。 機械ができることについては人間がやるよりも機械に任せた方が数百倍効率が良く正確なので積極的にやらせるべきです。

レビューについて当てはめると、具体的にはテストの実行は CI に、インデントの修正や指摘については言語毎にあるリントツールを使いましょう。

人間は機械にはできない発想や考えることに時間を費やすようにするべきです。

9. コードレビューの目的

よくコードレビューの話題では 気をつける言葉アンチパターン といった内容が挙がります。 しかしコードレビュー初心者にとって大事なのは、まずコードレビューがそもそも何のために行われているのかといった目的を理解することだと思います。

僕の中の一つの答えは 問題vs私達 という構図を常に忘れず、最良のコードをチームで考え、導き出し、残すことでした。 (もちろん属人化を防ぐことや安全性の担保、チームの成長という側面もあると思いますが今回は割愛)

チームの力を最大限に生かし、最大のバリューを発揮させるためにコードレビューは行われています。 そしてその目的を実現させるための手段やテクニックの一つとして 気をつける言葉アンチパターン があると思います。

例えばダイエットを成功させるために最も必要なものは、効率の良い最高なダイエット機材や食料といった手段ではなく、まずダイエッターとしての屈強な心を持ちダイエット戦士になってしまうことです。ダイエット戦士の心を持つことで、自ずとその手段としてダイエット機材や食料に手を出すといった順序が望ましいのではないかと思います。

話を元に戻すと、チームで最良のコードを残すという目的を忘れなければ、どんなレビューコメントも「最良のコードを残すために遠慮せずに意見を述べてくれている」と考えることできます。また、レビュアーとしてもそのような心掛けをするべきでしょう。レビュイーとレビュアーの双方が互いに目的を一致させ遠慮せずに歩み寄ることで最高のコードレビューができるのだと思います。

10. 楽しく円滑にコードレビューするための簡単な方法

とはいえ、全ての人が禅問答を解いたような仏の心を持っている訳ではないと思います。頭で理解していても心が納得できていないなんてことはよくある話です。

でも安心してください。それらの問題を解決する簡単な方法があります。

それは 絵文字, 顔文字, 感嘆符を適材適所に使う ことです。

我々は感情を持つ人間なので、例えば合理的故に少し厳しめなコメントとなってしまっていても、末尾に笑顔の顔文字や感嘆符があるだけで安心を得ることができます。 本来であれば、最良のコードを残すために遠慮せずに意見を述べてくれているという相手の考えをトレースして納得するべきですが、人間は論理と感情のパラドックスを持ち合わせているため、目的の他にこのような手段が有効となるんじゃないかなと思ってます。

ただし、全く関係のない絵文字の使用はオススメしません。 なぜなら、相手に意味不明な絵文字を使った理由を考えさせてしまうためです。勘違いや無駄を生むような行為はコミュニケーションコストを高めるだけなので避けるべきです。 僕は入社当初、意味もなく可愛いからという理由で 🗿 を連発して使ったり、LGTM の gif 画像を連投してしまったり、本当に意味のないタイミングで 🏩 の絵文字を使ってしまって相手を困らせてしまった経験があるのですが、今考えると黒歴史ですね。その頃はコードレビューの本来の目的を考えもせずに、ただ面白くてノリが良い方がみんな楽しくてハッピーになると思っていました。

コードレビューは自分一人で完結するものではなくチーム開発の一貫です。 今後もコードレビューの本来の目的を見失わずに、関係者各位の時間と労力を奪わず、かつ適宜いい感じにチームの士気を上げられるようなクリエイティビティに富んだ絵文字や顔文字の使い方を心掛けていきたいです。

とまぁなんやかんや述べましたが、僕が言いたいのは研修時代に受けたこちらの資料が最高ということです 😊 自分がコードレビューをする立場になってから改めて読んでみると、当時とはまた感じ方が違っていて面白いなぁと思いました。

hisaichi5518.hatenablog.jp

最後に

冒頭でも少し述べましたが、いざコードレビューをやってみるとそれに付随してコードレビュー以外の学習スピードが格段に上がりました。 具体的には、コードレビューに必要とされるコードリーディング力や将来を見据えた設計力、テスト力など、僕が冒頭で述べたいわゆる サンダラ にあたる力のことです。この分かりにくい例えをもっと続けると サンダガ を会得しようと サンダガ の修行を必死に頑張ってたら サンダラプリザラ, ファイラ のレベルも気がついたら上がっていたといった体験でした。 圧倒的成長の理由は、先輩エンジニア達による自分よりも綺麗で洗練されたお手本となるようなコードをレビュアーとしての立場で何度も何度も見たことにあるのではないかと思います。先輩方!本当にありがとうございました!

最後になりましたが、かつての僕と同じようにコードレビューの一歩を踏み出せずに尻込みしている方、またはチームの中にコードレビューをしていない未成熟のエンジニアさんがいる方に向けて一言。

綺麗なコードを一からコードリーディングするのも勉強になると思いますが、コードレビューを通してチームのエンジニアと共にプロダクトを造り上げながら実戦で得られる知見は代えがたいものがあるのではないかと思います。

このブログを読んで少しでも何か感じていただけたのであれば、是非この機会にコードレビューを始める、または提案してみるといったアクションをとってみるのはいかがでしょうか 😆 ✨

2020年1月21日 セキュリティコード研修

3行まとめ

  • セキュリティコード研修受けた
    • ぶっ壊す専用アプリケーションを作って攻撃して修正してテストを通す内容
    • 実際に起きた例を教えてもらいながら色んな攻撃手法を学んだ
    • エンジニア人生で一番セキュリティ楽しいなって思えた時間でした。勉強したい!!
    • とても有意義な時間でした
  • その後は力を使い果たしたのか体力が0になったようなので早めに帰宅しました

フリー

そろそろ慣れてきたのでブログのフォーマット変えまする

2020年1月20日 洗濯機修理完了!!

3行まとめ

  • 午前中は洗濯機の修理
    • 脱水できない問題の修理にPanasonicの方に来てもらいました
    • お昼間近の時間にいらっしゃったので作業完了は14時近くに
    • 5年使ってる洗濯機なので経年劣化によるホコリ溜まりが全ての原因でした
    • 排水口、排水ホースに埃が溜まっていたのでそちらを除去
    • 併せて乾燥フィルターとヒートポンプ周りの全てのパーツ内の埃を除去
    • 新品当初から比べると徐々に洗濯から乾燥完了までの時間が延びていて今では2倍程度になっていたり、たまに生乾きのような感じになっていた症状がなくなり大満足!!埃溜まりは二次被害でいろんな致命的なゾーンに干渉するようなので、みなさまも壊れる前にも3〜5年経ったら一度メンテナンスするorしてもらうとよいかもです
    • 今回のお値段は6000円でした
    • 嬉しすぎたので天気の子のサントラから、ヒロインちゃんが祈ったら天気になったときの音楽を聴いて震えてました
  • 今日は日直day
  • 日が暮れてからは画像アップロード周りをペアプロ
    • アップロードできたぞー
    • よりよいペアプロのやり方に興味が湧いてきた
  • ふりかえり会の構想練る
    • よいアウトプット。それはそのアウトプットが他人によい影響を与え、その人がよい行動をとったときに価値として現れる。でもこれって仕組みでもない限りなかなかフィードバックが得られるものではない。なのでふりかえりではそこにもフューチャーできたらよいなと思った
  • 夕方にストレッチしながら世間話するのとても有意義。みんな興味深い生産的なお話をしてくれるので面白い時間

2020年1月19日 ディズニーから学ぶことは多い

3行まとめ

  • 早朝からホテルで朝食をとりディズニーシーにgo
    • おばあちゃんの足が悪いためおばあちゃんは車椅子でパークをまわることに
    • 車椅子可のアトラクションでは車椅子専用のボートが用意されていたり、スロープやトイレのバリアフリーがたくさん用意されていたり、キャストの方々の何気ない気遣いが見られたりと普段気づかない仕組みがたくさんあることに気づくことができました
    • 最近おじいちゃんやおばあちゃんと一緒にどこかに遊びに行くなんて機会は少なくなってきていたので、二人ともニコニコしている姿をみてほっこりできました
  • 帰宅後は疲れていたので即寝ました。にゃむ。

2020年1月18日 ファミリーデイ1

3行まとめ

  • ファミリーとディズニーシーの予定だったが雨だったのでお台場でお買い物
  • 午後はホテルでゆっくりと過ごす。ヒルトンホテルだったからご飯も美味しかった幸しぇ〜
  • スマホしかないので諸々ネット上で買い物したり情報整理したり本読んだり

2020年1月17日 誕プレありがとうございました😭🙏

3行まとめ

  • 今年からリハビリでブログ書いてるけどだんだん書かないと気が済まないようになってきました。いい傾向!全然力をかけずにラフに書けてて習慣に落とし込めている気がするのでこのメソッドは他にも転用していきまする〜♫
  • 画像アップロードはなんやかんやあってjs使うことになり久しぶりにセレクタでゴニョゴニョ。DOMの扱いは原因が分からなくなる問題が多くて苦労しますんご
  • プロダクトチームのスプリントバックログ
  • 採用関係の素材になる業
  • デザイナーさん向けFlutter体験会

フリー

http://yutokyokutyo.hatenablog.com/entry/2020/01/10/2020%E5%B9%B41%E6%9C%889%E6%97%A5_%E3%82%B5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%81%E3%82%B3%E3%83%AA%E3%83%BC%E3%82%BF%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F

上記ブログでamazon欲しいものリストを初めて公開設定にしてさせていただいところたくさんの方にプレゼントをいただきました!!本当に本当にありがとうございました!!本当に本当にうれしかったです!!精進します!!メッセージ付きの明細紙とか宝物にしまっす!!本当に嬉しかったです😭😭😭😭🙏🙏🙏🙏💓

同時に、プレゼントする側のことを全然考えられていないリストになっていたなと反省しました!(いただけると全然思ってなかったので🥺🙏) 以下ふりかえりです!

  • 本はKindle版ではなく物理本にしておく
  • お金はかけたくないけど気軽に祝いたい人向けに安いお菓子とか入れておく
  • リストの内容は多すぎないようにする。30〜50くらいかな?
  • ネタで送りたい人向けにバカっぽいものも入れておく
  • 高いものは除外しておく
  • プレゼントいただい神さま達から「プレゼントしたけど不在だったぽい。どうしよ〜」とお言葉をもらうことになってしまったので、不在にならない宅配ボックス宛に送り先を指定しておく

今までは他の人のamazon欲しいものリストを見ることはあんまりなかったのですが、貰った側の嬉しさを完全に理解してしまったので、自分も目についたらどんどんプレゼントして祝っていこうと思いました

2020年1月16日 チコリータ参戦ならずでしたね

3行まとめ

  • クリーンアーキテクチャ読書会
    • そのときの時代にもよるけど著者氏言葉が強いのでTwitterで炎上しそうだねwってみんなで笑った
    • 思想は沢山あるので、盲信せず主体性を持ち、状況に合わせてその思想を活用・選択するスタンスが大事だねぇとなった
    • 次回最終回。この本でグリーンアーキテクチャ構想が確立されるまでの歴史的背景と概念は分かったので、次次回からはより具体的なiOSアーキテクチャ設計色が濃い本を読むことになった
  • ランチはOSSコードリーディング会
    • railsでよく使うletter openerを読む
    • 規模が小さく意外と素朴な実装が多かったという印象。いい題材。Railsエンジンはなんでもマウントできるぽい
  • エンジニアスプリントバックログ
    • リアルカンバンとネットカンバンのお話は毎回議題にあがりますな。ちゃんとみんなで考えられてていい!
  • 総務のみなさんと年末旅行お疲れ様会
    • お肉!ごちそうさまでした!とんでもなく美味しかったです!年末総会dayで福岡の方が東京に来たときに実はランチどこに行けばいいか困ってたり、一人になってしまったりすることが分かったので、今年はいい感じにアナウンスしたり、仕組みを事前に作ってみたりしたいなと思った
  • スマブラ交流会
    • ケンに勝てない。。対策は少し分かったのでもっとキャラ対進めるぞ!強い人がオフで近くにいるのは価値!!
    • みんなで櫻井さんの配信を見る。FE...。あと6体も出てくれるのは本当に嬉しい!!次こそチコリータorアルル頼みます!!アルルは僕の初恋のお方!!
    • 咄嗟の横回避とジャンプ癖は読まれるので直したい。ちと本格的に改善に取り組むぞ
    • ペパボチーム強くなってきたのでみんなで最強になっていきたい!

2020年1月15日 ドラム式洗濯機が壊れた

3行まとめ

  • 朝起きると風邪の初期症状ぽい感覚に襲われたのでおやすみ
  • 栄養をとって暖かくして寝直すと大分良くなったので家事をする
  • ドラム式乾燥機が脱水できなくなるという事件が勃発
    • 普段は排水フィルターを掃除すれば解消されるのだが、今回ばかりは解消されない。
    • 排水口の掃除をしたいが洗濯機の真下に排水口があるタイプなのでそれができない。持ち上げることを試みたが一人では無理だった。
    • 何か詰まったりしたのだろうか。
    • 脱水できなかった服やタオルを自力で絞って干しながら、業者に全てを任せようと思い至り、お金で解決することにした。修理費は大体2万円くらいとのこと。任せた。
    • 逆にこれ以上お金がかかるなら新しく買い替えよう。
    • 購入からもう少しで6年が経とうとしている洗濯機くんだ。そう。これは僕が新卒として社会人生活を始めたときに購入した洗濯機くん。僕は腰痛になったし君は脱水ができなくなったね。お互いメンテが必要な頃合いみたいだぜ城之内くん。は?
  • 心の整理を諸々したのと2020年が始まったばかりということもあって部屋のアップデートを行うことにした。ベッドの位置を変えただけでもまるで転居したような気持ちになるのでお得だなー

2020年1月14日 グレード評価面談

3行まとめ

  • グレード評価面談
    • 2019年は上期も下期もあまりいい評価をいただけるような取り組みをしてこなかったこともあり、自分はなんてダメな人間なんだという気持ちで臨んでしまいました。日々の幾つもの行動の中に評価軸となる内容が落とし込まれた考え方やアクションがなかったことを痛感しました。いや、それはそうなんだけど違うなぁ。今回の評価はただ視野が狭かったとか低かっただけと捉えるのは違う。これが現状の自分の能力なので、まずはそれを自分の結果として受け止めて、その上で評価されるための目線については新しい評価制度の評価基準で大分見えてきているので、その視点を持ってやっていきます。なんとか自分のいいところを汲み取っていただく評価者の方々には感謝です!!ネガティブになってるので今日は考えたり文章書かない方がよさそう。まぁでも残しておくのは大事なのでこのままままで
  • ペアプロ
    • 画像アップロード周りの実装の見晴らしが大分良くなってきました
    • 画像周りは難しいのでペアプロが抜群に効いてました!感謝!
    • 若干ふんわりとした理解だけなところがありそうなので明日出社したら復習します
  • ポケカスマブラ

2020年1月13日 親友にメンターになってもらいました

3行まとめ

  • 社外にもコミュニティの枠があると精神が安定したり、自分に対して客観性な視野を持つことができたり、ゆるい監視ができたり、普段ない視点からのアドバイスがあったりとなんやかんやで最高になるということを思い出したので、自分のことをよく知る親友にメンタリングしていただくことになりました。ありがてぇ☺️🙏
  • 今日が第一回目でしたが控えめに言って最高でした!自分では気づかないいいところに気づけたり、自分のふりかえりを説明することができるよい機会(これホントにいいこと)となったり、相手にとってもいい影響を与えたり?することができて構図的に最高でした!お互いがお互いのことを理解しているため、話しやすいということもよきです。2020年は月一で彼とふりかえりをしてお互いに定点観測していくことにしました。
  • マネーフォワードでお金を管理し始めました
  • 2018年から2019年までのふりかえりが完了したので2020年のアクションが大まかに決まりました
    • これについては後でブログに書き残します
  • 3月までは勉強することが多そうなので、予定は可能な限り入れないようにすることにしました。ただし回復薬的な予定は必要

フリー

  • 2019年の夏に腰痛になってから失われてしまった「外出して作業をする」ことがどれだけ高い価値を生み出していたかを思い知ることができました。この行動が取れるとちゃーんと自己肯定力を高めるような行動ができるため、逆に言えば休日は家に篭もらないで外にさえ出ることができれば安定してこの価値を感じることができることが分かりました。2020年はこれだ!!!!

2020年1月10日 Rails少し思い出してきた

3行まとめ

  • viewの作成をもりもり。大体できたので次は画像アップロード
    • railsのことを思い出してきたね!
  • 出社時にやることと退社時にやることのルーチンを忘れないようにslack botで出るようにしてみた
  • 久しぶりにphpMyAdminとwpを触った

フリースペース

  • 連休は社内でやりたいと思ってるふりかえり会の構想を立てるために諸々参考となりそうなものをインプットする。あとお部屋を作業しやすい部屋に変えていく。
  • 2019年は文章を書く機会が少なかったからか言葉に詰まることが多くなってきたのを感じるようになった。アウトプットは続けていきまそ。息をするようにやりましょ。
  • 最近努力2.0読んでる

世界一のプロゲーマーがやっている 努力2.0 https://www.amazon.co.jp/dp/4478108315/ref=cm_sw_r_cp_api_i_NPjgEbSXM052K

2020年1月9日 サーティチコリータになりました

3行まとめ

  • テーブル作りとかviewの実装。マイグレーションは偉大。
  • クリーンアーキテクチャ読書会とOSSコードリーディング会。前者はそろそろ読み終わりそうで予定通りのペース。後者は Faraday が読み終わって次は sidekiq。すごーく楽しい!どちらも一人では無理なのでありがたい。
  • 今日は誕生日なので美味しいもの食べて寝ます😌

フリースペース

そうです今日で30歳なんです!あまり自慢できるような内容は送れなかったかもしれない20代を過ごしてきましたが、こんな僕でも呆れずに仲良くしていただける皆様には本当に本当に感謝しかありません。30代からは僅かでも恩返しができるよう精一杯生きてゆきます故、今後ともよろしくお願いしまっす!!

ふぁっくしょん!!あっすみません!手が滑りました!!!

https://www.amazon.jp/hz/wishlist/ls/2QH1I00M8D4CZ?ref_=wl_share

2020年1月8日 え?20代最後の日!?

3行まとめ

  • テーブル作りあれこれ
  • 弊社にスポーツ部を爆誕させる件とふりかえり会の準備
  • スズリ新年会
    • 鹿児島エンジニア4人目のアイボさんとたくさんお話しできた!東京の人ともっと繋げたい!
  • 2019年下期評価面談でやっていきを高めた!
  • クリネットの方々とランチしてもっと横串をさしたいと思った

フリー

  • レッドパーフェクション面白すぎるね!
  • ルカリオ面白すぎるね!
  • 俺氏明日の17時に30歳に突入するらしい!!

2019年1月7日 2020年の計画途中

3行まとめ

  • iOSアプリチームでver3.2は何するか決めてその後実装計画してた。計画もペアでやっていただいたが、アプリの実装では考えることが結構多いことを知るいい機会となった。
  • ポケカ楽しすぎ!モルペコ人形つおいなぉ。さるじえおもしろいなぁ。プレミしてしまったなぁ。
  • 2020年のワクワク計画を少し立てた。今年はアウトプットとふりかえりによる定点観測。あとは影響を広げていくず!

フリースペース

一刻も早く!!自分の部屋をやっていき部屋にしたい!!!!

コードを書かなくてもアプリは作れるNoCodeのご紹介!

このエントリは GMOペパボ Advent Calendar 2019 の 12/25 のエントリです 🎅

昨日 12/24 クリスマス・イブは、僕の 実家のお菓子屋 さんでクリスマスケーキを作るバイトをしていました。地元の人々が幸せそうにクリスマスケーキを買っていく姿を見て、なんだかとっても嬉しくなりました。実家の日光から東京に帰ってくる道中、冬の寒さを感じさせる風を受けながら一人 iphone で音楽を聴きながらシトシト歩いていると、ふと僕の大好きな川島あいさんのラブソング『約束の日』(まだ I WISH 時代だった頃の名曲)が耳から流れてきました。僕の心は一度そこで心肺停止状態になりましたが、即座にモーニング娘さんの『恋愛レボリューション21』を流すことに成功し、よく分からないけど超超超超いい感じになりなんとか命を繋ぐことができました。家に到着し「たっだいまぁ!!」と元気よく声をあげて扉を開けると、「おかえり!」という安心する声はあるはずもなく「...っいまぁ」という虚しい反響音しかそこにはありませんでした。「クリスマス〜にはキ・ム・チ〜!クッリスーマッスーにっはキ・ム・チ〜☆」とかなんとか独り言をつぶやきながら暗い部屋の電気をつけ、暖かい食べ物を食べようと思いお湯を沸かしてカップラーメンを作りました。世界中の人々の幸せを祈り微笑みながら「おっと危ない。カップラーメンにはこれな・の・だ・よ!城之内くん!☆」とかなんとか独り言を呟き、台所にカップ麺を置いて棚の上のラー油に手を伸ばしたとき、体にカップ麺が触れ、カップ麺は台所にぶち撒けられました。全てを水に流そう。忘れよう。そう思い、無心のまま任天堂 Switch の電源を入れ、イスに座り、オンライン対戦を始めました。対戦相手の名前は『クリスマスにボッチ乙ww』でした。

「こいつだきゃぁ!!絶対に許さねぇえええぇああああ!!!」

みなさんはどんなクリスマスを過ごされましたか?😊 以上、このエントリとは全く関係のない冒頭でした。

本題に入ります!

みなさんは NoCode って知ってますか!? 僕もつい最近まで聞いたことなかったのですが、僕の事業部のCTL @june29 が「やばいよ〜!おもしろいもの見つけたよ!」と紹介してくれました!

NoCode とは、名前のとおり コードを書かなくても本格的なサービスが作れるというものです! Webサイトビルダー系では Wix や Jimdo 、ドキュメント系では Notion 、サービス間の接続系では IFTTT や Zapier なども No Code に含まれるようで、これらのツールは僕も使っていてどれも使い始めたときには「おおぉ〜すごいなぁ」と感嘆したものです。 今回紹介したいのは NoCode の中でも最近盛り上がっているアプリケーション作成系! そう!アプリケーションの作成も簡単なものであればすぐに完成できてしまう時代が来ているのです!

アプリケーション作成系の NoCode は数多くありますが、その中でも今回は glide をご紹介したいと思います。 glide 君は本当にすごい子で、Google Spreadsheet 上にアプリケーションに必要な情報を記入すれば、バシッとPWAアプリを作成してくれる君なんです!

www.glideapps.com

まずは glide のHP上にとってもわかりやすいgif動画があったのでこれを見れば大体どんなものなのかが分かると思います。

https://assets.website-files.com/5c1a86d850589562c952a22b/5d6bfbd2b15033af5d032fff_Using%20Glide%20Builder.gif

うん!大体どんな感じが雰囲気が掴めましたか?なんだかアプリを簡単に作れそうですよね! ではでは実際に作ってみましょう!

まず自分の Google Spreadsheet 上にこんな感じで簡単にデータを入れます!

f:id:yutokyokutyo:20191226113807p:plain

その後 Glide のHPから Get Started をポチッと押して、自分の google アカウントにログインします。

f:id:yutokyokutyo:20191226111250p:plain

New App を押して、先程作成したスプレットシートを選択すると....!?!??

なんかもうそれっぽいものができてる!!!!!(^^)/

f:id:yutokyokutyo:20191226114327p:plain

これだけです!! 後は Glide の管理者画面から UI 部分をちょちょいといじるだけ。 なんてこった!これがIT革命!

アプリなのでタブは3個から4個くらいほしいですよね! タブを追加したくなったら、Google Spreadsheet 上でページを追加するだけです!

というわけで、なんやかんや30分くらい触ってたら、簡単なイベント管理アプリケーションができました! (テストサイトなのでなにしてもよいです。壊しちゃってもよいです。触ってみてください。)

micsmics.glideapp.io

スマホからアクセスして、ホーム画面に加えてあげると、あらびっくり! PWAなので、もうアプリにしか見えません!👀 もちろん iOS にもアンドロイドにも対応。

メール認証を介すと、簡単な掲示板機能も使えるようになります。そう。なんと CRUD までできる。 こいつぁすげえや!!\(^o^)/

今日から弊社は毎年恒例の年末総会と社員旅行です。

▽ 去年の社員旅行 hr.pepabo.com

総務の方々がスプレットシートで 宴会のテーブル脱出ゲームのチームバスの乗車番号ホテルの部屋 をまとめてくださったので、そちらのデータを使って CTL氏と ぱーぽーさん と一緒に簡単に社員旅行用のアプリも作ってみました!

f:id:yutokyokutyo:20191226120237p:plain

いかがでしたでしょうか!?!?

きっと「えっ!?こんなに簡単にアプリが作れるなら、もしかしてあの件も NoCode 使えば実現できるのでは?🤔」なんて思っていただけたのではないでしょうか? そう思っていただけたら幸いです😊 NoCode は解決したいケースがかっちり合えば、短時間で大バリューがでるとっても便利なものです。 身の回りの問題を最適に解決できる手段はたくさんあるので、NoCodeはその選択肢の一つとしてありかもしれませんね!

それではよいお年を!!!

2019年10月27日 実家と退院

3行まとめ

  • 父の容態が悪かったので実家に帰ってた。退院できたのでよかた。
  • テンサイフェスタは行けなかったので、大好きな歯のマンガさんのイベントは今度絶対行こうと思った
  • 朝から体調を崩していたのでローギアで生きてた

なんでもコーナー

  • UQホルダーの最新刊読んだ!相変わらずアツイなぁ。ねぎマ!をまた読み返したくなった。
  • SUICAの定期が切れてることを1ヶ月経ってようやく気づいた。再発防止のためカレンダーに定期期限情報を追記した。