2020年を振り返る

2019年の私をちゃんと振り返っていなかったけど、2019年末の達成感はけっこうあって、 なぜなら「子育てしながらWebエンジニアで転職できたぞ!」という自負があったからでした。

転職活動はけっこうきびしくて、それは主に自分の技術力の低さからくるものだったと思うんだけど、 だからこそ、技術力アップできる環境に身をおきたい!!という思いが強くなり、転職活動をがんばりました。

当時の私にとっての「技術力アップ」は「Railsアプリの開発をすること」だったので、 それができる環境に転職できたこと、しかも絶賛イヤイヤ期のムスメとともに、が2019年の最大のトピックでした。

そして2020年を迎え、コロナ禍とか第二子の妊娠とかいろんなことがあるなかで、 いったい自分は何をしたのか、今後何をしようと思うか、年の瀬押し迫るこのタイミングで整理したいと思います。

ひとりで振り返りをした

まず、GitHub の pull request 一覧を眺めながら、この1年どんな仕事をしたのか振り返りました。

それを月ごとに日本語でまとめて、そこにプライベートなトピックも書き足して、タイムラインを作りました。

この記事ではそのタイムラインをともにトピックをピックアップし、文章でまとめています。

ちなみに各トピックに与える影響要素として、第二子の妊娠があります。 これにより2020年12月1日より産休に入っています。

タイムラインまとめ

Rails アプリのチーム開発をした!

2019年終わりの転職をきっかけに、2020年は Rails アプリを開発するチームに所属した状態でスタートすることができました。

2019年12月に入社したので、年始はちょっと会社に慣れてきたところでした。

全般的に、それまでと異なる技術スタックだったので、何をするにも学びの多い1年でした。

もう少し具体的に書くと、インフラがすべてAWSで、構成がコード管理されていたり、フロントエンドが TypeScript で書かれていたことが一番大きかったかなと思います。

あと一部 React も使っていて、今後増やしていきたい雰囲気だったので「りあクト!」を読んだりして勉強しました。

1年やってみて、自分にとって足りないところが明確になったのはすごく良かったと思います。 今後は「RESTful な設計」と「フロントエンド開発力」を課題にしたいと思っています。

チームメンバーとのコミュニケーションで課題を感じた…のを乗り越えた!

技術面以外では、前職より少人数のチームになったのでコミュニケーションがとりやすくなるのでは!と期待していましたが、 2月の半ばにはコロナ禍の影響で完全リモートワークに切り替わり、4月と5月は保育園の休園もあってフルタイムで働くことができなかったこともあり、なんとなくメンバーとの距離を感じたまま過ごしてしまいました。

第二子の妊娠で夏頃までは私の体調も安定せず、しかしチームメンバーは皆やさしくフォローしてくださり、精神的にはすごく助けられました。

夏の終わりくらいから、スプリント(2週間)の進め方にすこしモヤモヤするところがあって、1on1で相談しつつ、チームの振り返りでも思い切って問題提起発言をしてみるなど、一歩踏み出してコミュニケーションをとるようにしてみました。

結果、プランニングやタスク・PRのレビューにいい変化があらわれて、すごく良くなったと感じています。

ひとつひとつはあまり具体的にはここで書くつもりはありませんが、ひとつやってよかった例としては、「デザインスタジオ」があげられます。

デザインスタジオは前職でわりとよくやっていたのと、個人的に好きだったので、転職してからもずっとやりたいと思っていました。

たしか入社して1、2ヶ月くらいで「デザインスタジオやるとよさそう」と発言していたのですが、 うまくその魅力をメンバーに伝えることができなかったのと、開発の流れが前職と異なっていたので、デザインスタジオを実施するタイミングがうまくはかれずにいました。

秋口になって事業に少し変化が起こり、新しい課題がみえてきたところで「これはデザインスタジオをやるチャンスでは?」という出来事がありました。

実際チームメンバーに提案してみると、今度は「よさそう」「やってみようか」という声があがり、はじめてオンラインでのデザインスタジオを実施しました。

経験者が私だけだったので、ファシリテーションをつとめましたが、最後のみんなの意見をまとめるところやその後の開発にどう落としていくといいかを共有するところに、課題を感じました。

ただ、デザインスタジオ自体に対するチームメンバーの所感は良好で、私が産休に入った後も実施されているようです!

ちなみにデザインスタジオについては「リーンUX」の「コラボレーティブ・デザイン」の章に詳しく書かれています。

TECH PLAY 女子部の朝活 #hayaoki_girls に参加するようになった!

もうこれは本当に影響が大きくて書ききれないのですが… 2月くらい(ちょうどコロナによるリモートワークが始まるころ)から5時起きあるいは6時起きを習慣化し、同じような生活リズムの女性エンジニアの皆さんと交流するようになって、いい影響がいっぱいありました。

別記事で良さを書いているので、よかったらご覧いただけるとうれしいです。

katorie.hatenablog.com

ここで重ねて朝活についてひとこと書いておくと、 仕事仲間や家族以外との雑談はすごく精神的にいい、ということです。 私はその時間を作りやすいのが朝だったので、どハマりしました。

ちなみに年明けすぐ、1月2日朝6時から、「新春🌅初夢 LT会」を企画しています。 すごい日付と時間に設定しましたが、今年は帰省できない人もいるだろうし、朝だから時間作れる人いるのでは?と思っています!

デザインの勉強をはじめた!

これまではエンジニアとしての成長を一番に考えて過ごしていましたが、 実は、私、ずっとデザイン分野に興味があって、本棚を整理していてあらためてそれに気付きました。

12月から産休に入るのをいいタイミングと思い、まずはイラレとフォトショの使い方から学び始めています。

道のりは長いですが、コーディングまで含めてひとりでLPを作れるようになりたいな…!という目標をたてています。

マインドマップを作って振り返りをした!

産休に入ることが決まり、それまでの過ごし方をどうしたらいいんだと一人悶々と考え始めたので、 マインドマップを書いて振り返りをしました。

すると頭の中がすっきり整理されて、次にするべきことが明確になり、優先順位もつけられました!

私にとっては手書きで書いていくのがよかったみたいです。

できれば毎月やるといいんだろうけど、ひとまず3ヶ月に一度くらいはやりたいなと思いました。

2021年にやりたいこと

振り返りをふまえて、来年やりたいと思っていることをまとめます。

…と思ったのですが、「年単位」で考えるとはじめはいいんですが、 きっと変更したくなったり、実際今月なにすればいいのかなと迷ったり先延ばししてしまったりすると思うので、 1年を通して「3ヶ月ごとの振り返りを実施して、都度鮮度のいい目標をたてる」ようにしたいなと思っています!

3ヶ月ごとの短期目標をたてるための長期目標としては

  • RESTful な設計を身に付けるための読書と実践(なにすればいいんだろう、アプリつくる?)
  • React + TypeScript でアプリを作ってみる
  • コーディングまで含めてLTを作ってみる

あたりを考えています。 子どもが二人に増えて、どこまでできるかなぁ〜

無理せず楽しんでいきたと思っています!

TECH PLAY女子部の #hayaoki_girls ご紹介

TECHPLAY女子部 Advent Calendar 2020 - Adventar 初日の記事です!

冬です!師走です! 今年もアドベントカレンダーの季節がやってきました。 もう今年は本当に…大変な1年でしたね。

…とうっかり今年の振り返りをしそうになりましたが、 本日は TECH PLAY女子部 の「朝活」である #hayaoki_girls についてご紹介したいと思います!

TECH PLAY 女子部

まずアドベントカレンダー初日なので、TECH PLAY女子部とは?からご説明しますと、

TECH PLAY 女子部は特定技術や特定のテーマを設けず、普段なかなか相談できない女性エンジニアあるあるや技術相談、はたまたキャリアの相談、一緒にやりたいこと・なりたい姿を実現してくれる仲間探し、など色んなテーマで集ってステキな女子エンジニアライフを送りましょう!という目的で設立を致しました。

TECH PLAY の TECH PLAY 女子部のページより引用

というこで、女性エンジニアみんな集まれ〜!というコミュニティです。(雑) COVID-19 の影響もあって最近はオンラインイベントの開催が盛んなので↑からチェックしてみてください。

TECH PLAY 女子部の朝活

それで、TACH PLAY 女子部の朝活はどんなものかというと、 こちらも今のところすべてオンラインでの開催となっています。

  • 活動場所: おもに Slack と Zoom
  • 活動時間: 毎日午前5時から7時くらい

活動時間を見て「なが!」と思われるかもしれませんが、もちろん出入り自由です。 (7時くらいまでの参加者が多いのですが、基本ルールでは9時までとなっています)

こんな感じでやってます↓

5:00 〜 5:10 zoom で雑談、お喋り
5:10 〜 6:00 各自朝活(ミュート)好きなことやってください、宣言する必要もないです
6:00 〜 6:10 zoom で雑談、お喋り
6:10 〜 7:00 各自朝活(ミュート)好きなことやってください、宣言する必要もないです
・・・繰り返し
9:00 今日も1日頑張りましょう〜の挨拶で終了

見ていただくと毎時00分〜10分は雑談タイムになっているので、ここでおしゃべりすると目が覚めます! (しかしその後もくもくタイムで二度寝する方も…笑)

私も朝ごはんの用意をしたり、家事をしたり、ただ Twitter を眺めているだけのこともあります。 あとは雑談が盛り上がってしまってそのままおしゃべりを続けることも…(ここでお悩み相談聞いててもらったことも)

とにかく、もくもくタイムに何をしたかよりも、「起きた!えらい!」という気持ちを大切にしています。 緩いです!

ハッシュタグは #hayaoki_girls を使用していますが、この言葉には 「早起きするには早寝が大事だよ!!」 というメッセージがこめられています。

睡眠時間を削って朝早く起きようとすると、つらくて続かないんですよね。 なので、まずは早く寝る習慣を心がけましょう、ということです。

私も体調をみながらだいたい5時か6時から参加していますが、 寝る時間は21時半から22時を習慣にしています。

ここまで読んで気になったかたは、ぜひ TECH PLAY 女子部の Slack に参加して、雰囲気どんなかのぞいてみてください! 緩いです!笑

朝活に参加してよかったこと

私はこの朝活に今年の2月くらいから参加しており、 途中お休みした時期もあったのですが、かれこれ10ヶ月近く続いています。

そのなかで何度か「参加しててよかった〜!」と感じたのでそれをまとめたいと思います。

健やかな「自分時間」をつくることができるようになった

子育てしていると特に感じるのかもしれませんが、とにかく仕事・家事以外の「完全ひとり時間」をつくるのにすごく苦労します。 おそらく子供の寝かしつけが終わってからが自分時間、という方も多いのではないでしょうか。

はじめは、私も子供を寝かしつけてから起きて時間を作っていたのですが、 「子供が寝たら絶対起きるぞ!」と思っていると意外とすぐ寝てくれなかったり(そしてイライラ)、 寝かしつけている自分が寝落ちしてしまったり(そしてガッカリ)、 そうなったらすぐ目が覚めるように適当に横になっていて風邪をひいたり(そしてガックリ)、 いざ起きたけれど眠くて椅子に座りながら寝てしまったり(コックリ)、 あんまり効率がよくありませんでした。。

それならばいっそ子供と一緒にしっかり寝てしまい、先に起きればすっきりした体で自分の時間を過ごすことができるだろう…!!と期待して朝活をはじめることにしました。

予想通り、はじめてみると1日のうちで一番体も元気で頭もスッキリした状態で朝活の時間を過ごせています!

「雑談」できる場所ができた

今年は新型コロナウィルスの流行で、春先から生活がすっかり変わってしまいました。 出社しなくなったし、緊急事態宣言下では同居している家族以外とは会わなかったし、 私としては小さなストレスがチリのように少しずつ少しずつ積もっていく感じでした。

そんな中、朝活はオンラインだったので続けていたのですが、 はじまりの雑談タイムで家族以外の仕事仲間以外の人と話すことで、 ちょっとした気分転換ができ、積りかけたストレスを払うことができる場所になっていました。

「給湯室の雑談」じゃないけど、友達に電話をかけるほどでもない、他愛もない話・雑談ができる場所があることが、 こんなに精神的にいいことだとは思ってもいませんでした。

時には雑談から派生して、次に書くような読書会がはじまったり、新しい Slack チャンネルが作られて交流が拡がったり、おすすめしてもらった家電を購入したり、仕事での悩みを相談したり… いろんな「きっかけ」が生まれる場所になっています。

読書会がはじまった

朝活でどんなことしている?という話をしていたら、少人数の読書会っていいよね、という話になり、 朝5時10分から読書会をするという取り組みもしました。 こちらは今は5時台ではなくなったのですが、参加者が2人なので都合をつけやすいのもいいところ。 デザインパターンの本を読んでいますが、サンプルコードが Java なので、たまにペアプロをして Ruby で書き直したりしています!

私にとってのメリットをあげてみましたが、最後に朝活に関するマイルールを。

マイルール

もちろん眠くて起きれないときもあります。 そんな時は「黄色信号が出ている」と思って、体を休めることを優先しています。

健康第一ですからね!

あと、私は夜より朝の方が元気だし活動しやすいけど、 なかには夜の方が調子いい!という方もいらっしゃると思います。 それはもう「合う・合わない」の問題でどうすることもできないと思うので、 「朝活!絶対!最高!」と思って人にお勧めしないようにしています。

24時間は平等。どう使うかは、自由。

最近の活動状況・マップという言葉

最近

6月と7月は体調を崩したりしていたので、朝活はお休み気味でした。 (起きてはいたけど、もくもくはあまりしていなかった)

相変わらず TECH PLAY 女子部の朝活に参加しているので、 そこで2月(だったかな)にはじめたデザインパターンの読書会は継続中。 あと最近Go言語の読書会もスタートしました!

Goならわかるシステムプログラミング

Goならわかるシステムプログラミング

  • 作者:渋川 よしき
  • 発売日: 2017/10/23
  • メディア: 単行本(ソフトカバー)

まだ序盤ですが、ポインタ型とか「???」でググりながら…

毎日暑くて普通に生活するのがしんどいですが、体調は戻ってきたのでリズム整えていくぞ!

マップ

「マップ」と聞くとつい名詞の「地図」を思い浮かべてしまうんだけど、 動詞としての「なにかとなにかを対応づける、関連づける」という意味のほう。マッピング

マップはES2015で導入されたので、それ以前はオブジェクトをマップとして使用していたとのこと。 しかしこれは意図しないマッピングが生じたり、 プロパティとして値を持つので文字列しかシンボルしかキーに使用できない、 という問題がある。 マップはプロパティとは異なる値の持ち方をするため、プロトタイプがもつメソッドやプロパティとキーが衝突することは、ない。

最近の活動状況

TECH PLAY 女子部のSlackチャンネルのひとつに、朝活をする人たちが集まるチャンネルがあって、 そこをベースに朝5時から活動しています。 最近メンバーが増えて(COVID-19による在宅勤務が増えた影響かな)、Twitterハッシュタグ #hayaoki_girls をつけてつぶやくことも増えました。

私は最近は #jsprimer 「JavaScript Primer」をオンラインで読んでいます。

jsprimer.net

ほんとうはオライリーの「プログラミング TypeScript」を読みたいんだけど、その前にJavaScriptにちゃんと入門しようと思ったからです。

はやく業務に活かしたい。

Firestore のセッティングではまった

GW前くらいから朝活の記録をする時間がなかなかとれなくていたのですが、細々と活動は続けています。。

今はりあクト!シリーズ3作目をやっています。

oukayuka.booth.pm

Firestore のセッティングではまった

本の通り順調に進めていましたが、 1-2. Firebase プロジェクトの作成と初期化 のところで、 Firestore Setup でエラーがでました。

=== Project Setup
? Please select an option: Use an existing project
? Select a default Firebase project for this directory: mangarel-demo (mangarel-demo)
=== Firestore Setup
? What file should be used for Firestore Rules? firestore.rules
? What file should be used for Firestore indexes? firestore.indexes.json

Error: Error fetching Firestore indexes

ちょっとググってみましたが、これはGCPコンソールで - Firestoreの設定を Datastore モードから Native モードに変更 - API の有効化 のふたつを実行する必要がありました。

おなじところではまる場合は debug オプションをつけて Firebase 初期化をおこなうと、ヒントが得られます!

$ firebase init --debug

デバッグをもっと簡単に

「りあクト!」続編を読み始めました。

booth.pm

React Developer Tools の使い方のところでちょっとはまったのでメモ。

サンプルコードは yarn start でビルドとサーバーたちあげを行うようスクリプトが書かれているのですが、 これが「development モード」らしくて、 そのままだと Chrome の React dev tools が動かないんです。

「production モード」で起動してくれみたいなメッセージがでます。

ググってみたらデフォルトが production モードで yarn run dev とかすると devlopment モードになるみたいな情報は見つかったんだけど、 サンプルコードのスクリプトがどこで明示的に dev モードを使用しているのかわからなかった。。

ので、 yarn run build したときに表示されるメッセージの通りに起動しました。

$ yarn run build
$ serve -s build

f:id:katoriexxxkatorie:20200420053228p:plain

しかしいざ Chrome Dev Tools で開くと、本で説明があるように表示されなくて、これはもしかしたら Chrome Dev Tools がアップデートした可能性。。

今日はここまで!

.gitignore がなかった(/node_modules を push していた)・第9章まででいったん読了とする

朝活続けていますが、こちらをマメに更新していなかった。。

サンプルコードをいじっているとき Git がやたら重いなぁと思っていたら、 .gitignore がなくて /node_modules を含めてしまっていたことが原因とわかりました。

なんでだろう?と思ったときにちゃんと調べないといけないな、と反省。

本文の方は第9章の React Router の部分まではざーっと読んだので、今回はここまででいったん読了として、 (今のところReduxを業務で使っていないので…) 明日から続編を読もうと思っています。

oukayuka.booth.pm