2021年の振り返りをしよう!

2022-01-19

前置き

2021年、今年も皆様お仕事お疲れ様でした!もう仕事納めをした方もたくさんいらっしゃいますかね。
私も先週金曜日に名目上の仕事納め(実際納めきれていない)を行い、妻と二人でクリスマスをしっぽり楽しみつつ脳内は納め切れなかった仕事でいっぱい、、、いや全力でクリスマスしました。

そんなこんなで今年もバタバタ納めた2021年を振り返って反省して来年の糧にしようと思います。
早速振り返ってみよう。

一年の流れ

今年の頭は昨年のプロジェクトをそのまま引き継いで夏の終わりくらいまで担当してました。
このプロジェクトは社内のiOS案件の中でも上位に入るほど巨大プロジェクトで、技術はもちろん様々なことを学ぶことができました。
プロジェクトの勝手も把握してきたり、波に乗りつつも終わりの方はコンフォートゾーンにいる感じを持っていたので、何かアクションしないとなぁと思ったりしてましたね。

そして秋くらいから、別のプロジェクトへアサインとなりました。こちらは一応オープンにされている案件でもあるので名前を出しても構わないんですが、なんとなく伏せておきます。
前プロジェクトの後半は良くも悪くも”慣れ”が出てきてしまい、あまり苦しい思いをしなかった(いやリーダーや他の人が背負ってくれていたのかもしれない)ので、何か変えないとなぁと思っていたところのアサインでした。
これから下に細かく振り返りを書いていきますが、おそらく大半はこの期間のことになりそう、、、それくらい悩んだり、試行錯誤したりしてました。
この案件ではメインコーダーは私一人で、レビュアーや保守を助けてくれる方はいますが自分がリードするような立場でした(実際そうでもないかもだけど、そのつもりで挑んではいた)

そんなこんなで昨年とは違う成長があったのでKPT形式で振り返ります。

K(よくできたこと、続けていくこと)

業務系

引き続き大きなプロジェクトに参画できた

これは単純にいい経験です。一つのアプリに詰め込んでいる技術量が他より一回り多く、機能やコード的な依存性の考慮や業務ロジック等をより考えていないとスパゲッティイタリアーノな未来が来てしまうので、この辺を意識したコーディングが出来たと思います。
今まで触れていなかった機能の使い方、あとはメンバーが入れ替わりもあり多かったのでレビューをたくさんする機会もあり、良し悪しは置いておき指摘をするという機会が格段に増えました。
これは出来る人が出来ない人にレビューするというのとは勿論違うんですが、自分の考えを伝える、そして自分の考えを確認・改める、単純にコミュニケーションを担う部分でもありますし、短絡的ですが勝手がわかってきた、というのが一番しっくりくる気がします。
幅広く様々な経験を積めたのでとても良かったです。

自立的な行動、とりあえずアクションをするという動き方

こちらは今の案件に入ってから心掛けていること、実行していることです。
昨年メンタルブレイクを経験してからは今後どうなるかは凄く不安でしょうがなかったですが、一種の割り切り方を学び、考え方を変えました。

ちょっと生意気なことを言うかもしれませんが、挑戦という言葉が似合う行動をする時は誰もが不安を持ち合わせています。その不安は、これをやったあとどうなるか分からない、悪い方向に転がるかもしれない、人に何か言われるかもしれない、といった未知の結果に対する不安だと思いますが、それって悩んだところでどうにもなんないんすよね。
約束された勝利を知っているアクションであったり、これからやることに絶対的な自信があれば何ら問題ないんですが、まぁ未来はよく分からないので保守的になっちゃいますが、その殻を破って出ない限りはその先の景色は見えないと思います。
かといって話した通り私も前科があるので大きくは踏み出せませんから、とりあえずちっちゃいことからやっていくことにしました、普段話さない人に話しかける、普段しない仕事をしてみる、こうやったら良いかなと閃いたことは大小問わず提案したり実行する(無料なので)、なんでもいいんでやる。

そしてこれらをやる時に、FPSではなくTPS的に自分を動かすというのを意識していました。

FPS:ファーストパーソンシューティング(一人称視点)→主人公と同じ視点で操作するシューティングゲーム。
TPS:サードパーソンシューティング(三人称)→主人公の後方視点で操作するシューティングゲーム。

引用元:FPS・TPSとは? | TECH.C.福岡デザイン&テクノロジー専門学校TECH.C.福岡 福岡デザイン&テクノロジー専門学校

もうとりあえず自分から自分を切り離そうと。今動いているのは私じゃなくて私が操作している私なのだ(?)、と意識することで、固定観念や縛られていたものから抜け出して動き出せたかような気がします。
言い方雑ですが、正味フルリモートになったことでより切り離して考えられるようになりましたよね、良くも悪くも。弊害もあるかもしれませんが、なんか良いやもうやっちゃえ〜って気持ちになることが多くなりました。
差し詰め、大きな動きで大きな結果を得るのは時間がかかるし大変なので、小さいことから成功体験を積んでいこう、動きにくいなら考えを変えてみよう、ていうところですね。

あくまで小さいことを徐々に、です。今も勿論完璧ではないですし、他の人から見た私が変わったのかどうかも分かりませんが、私自身は良い動きになったと思うので自分を褒めます。えらいゾォ。

テキストコミュニケーション

これは継続しようの意味でKですね。
フルリモートになってよりテキストコミュニケーションが増えました。場合によっては通話で相談したり解決したりすることもありますが、文面から読み取る、文面で伝えるということも少し増えた気がします。
今も完全にうまくいっているわけではないんですが、多分わかる人はわかると思いますが文章は人によっていろんなパターンがあります。

  • 無駄がなく、業務的で感情を削ぎ落とした文章の人
  • 絵文字や ! を多用したり少し装飾がある文章の人
  • ~なんだっけ?やるっすか?など口語的な文章の人
  • 比較的に文字量が少ない人

など様々だと思います。
仕事をする上で要件を適切に簡潔に分かりやすく伝えるというのは誤解を招かないためにも非常に重要な部分だと思います。が、味気ない文章のやりとりだとなんか殺伐とした空気感じませんか、ちょっとイライラしてるのかなとか余計な心配したりと、個人的には慣れてなくて心労結構あるんすよね、、
まぁこの辺のコミュニケーションについては別途読んでる本があるのでその時に書こうと思ってますが、どうせなら気持ちよく仕事したい!気持ちよく仕事をしてもらいたい!ということで意識的に言葉を崩したり絵文字追加したりしてみてます、まぁある種の自己開示になるんですかね、知らんけど。
一部の人にとってはカオスエンジニアリング的な部分もあるかもしれませんが、少しチームの雰囲気を良くしたいと思っての行動です。

全員が私と同じような感情を抱いているわけではないと思いますし、これが正解でもないと思います。
前提として崩すにしても、それでも正確に要件を伝えられる日本語能力が必要ですし、言い方はアレですがスラックを汚しすぎると検索するときに雑音になる、、とまぁ色々ありますが、最終的には保身的観点でもあるので、しばらく試行錯誤しながら続けてみようと思います。

個人お勉強系

新しいアプリに着手

夏くらいですかね、久しぶりに新しいものへ動き出しました。
妻がジムに行き始めてるんですが、継続するためにモチベーションを上げたいってことでそれをサポートできるようなアプリを作っています。
が!Kとして言えるのはここまでで夏から全然進んでいなーい!今年中にリリースするはずがUsecaseひとつくらいしか終わっていなーい!
続きはPとTで書きましょう、とりあえず動き出したぞイイネ!くらいで。

FlutterとSwiftUIにログインしました

はい、この二つをようやくしっかり触り始めました。(Flutterの方は環境構築とちょっと弄ったくらいですが)
上のアプリも最初は手癖ですぐ進めたかったのでUIKitでやってたんですが、いやいやそろそろやらなアカンぞ案件いきなり降ってきたら手を上げられないぞと危機を感じたので、途中から改修して触り始めました。
社内でもちょっとしたお勉強の機会に参加できたので、動いてはいる、という意味でGood.
真面目な話、できる若い子がどんどん入ってくると置いていかれてしまうので、、、

高校生のなりたい職業1位に「エンジニア・プログラマー」 学研調査 男子・高1女子に人気 – ITmedia NEWS

P (よくなかったこと、改善できなかったこと)

業務系

マネジメント、スケジューリング能力の欠如

まず現在の案件にて、メインコーダー、リード的な立ち位置にも関わらず先導できるような動きがたりなかった。
特に、良くも悪くも前のプロジェクトのやり方やお作法が正だと思い込んでいたというか、「あれ、あれってこういうものなんじゃないの?」と浅はかに考えてしまうことが多かった気がします、主にチームで動くことに対して。
スクラム開発が初めてで勝手が分からず、マネジメントやスケジュール管理はPMさんやってくださるのでは?とか色々最初は思っていたんですが、そのそもの考え方が違っていたらしい。(厳密にスクラムの場合は立ち位置がこうというのはまだ勉強中なので言い切れない)
あぁそうかスクラムでは違うんだなと思ったその矢先、あれスケジュールやらマネジメントやらっていっているけれど、この辺って開発者がやることでもあるのでは?と気付きました。

そもそもPMがいるようなアジャイルやウォーターフォールでも、開発者にもある程度のマネジメントやスケジュール管理能力が求められるはずです。私は目の前のことばかりに追われ、少し先のスケジュールやそれに応じて仕様を詰めなければいけないところ、そしてそれをチームに還元すること、この辺が全然できていなかった、、
勿論、やろうとしなかったわけではない。意識はあったものの、納期までに仕上げなければいけない開発と手元の作業を優先してしまい、ズルズルときてしまっていた、、この時点でまずその能力が足りていないってことです。
忙しくならない時なんて滅多にきませんし、忙しいながらに合間でオフザコードの動きを行う、優先度は同じもしくは高いこともあるのでしっかり計画を立てて進めていく、こういう意識を中盤くらいまでは持ててませんでしたね、猛省です。

スクラムでは自分がボスだと思うこと、そしてメンバーも等しくボスである、なんて言葉をどこかで見かけましたが、本当にその通りだと思いました。そしてこれはスクラムに限ったことではなく、こういったことが出来る人材は開発手法が異なるプロジェクトでも重宝されるはずです。

生まれた時からツメが甘い

これほんとどうやったら改善できるんですかね、、ちょっと意識したことで変わらない、、
私は自他ともに認めるツメの甘い開発者なんですが、バタバタしてる時なんて凄く謙虚に現れます。
少し考えればわかるような違和感(たとえば書くべき場所でないところにコードを置いたり)や、小さいところで言うと weak 抜けていたり let のところを var で書いていたりと、、、ちょっと自信なくしますw

ちょっと時間を置いたり、小突いてもらったり、普通に考えればすぐわかることですが、プラスに考えれば一人でのめり込んでる時に盲目になっている部分を指摘してくれるのがレビュアーでもあるんで、そこはありがとうございますという感じで。
まぁしかし改善できればそれに越したことはないので、こればかりは注意していくしかないですね。
余裕があれば多少違うと思うので、こうなる前に上で書いたマネジメントをしっかりする必要があるなと、そう思いました。

自己開示があまりできていなかった

ちゃんとどこに定義してあったか覚えてないんですが、弊社では自己開示することを強く推奨しています(確か)。2021年を思い返したり、色々なカテゴリーを振り返って見たり本を読んだりしてそういえば出来てないなと思った部分です。
これも細かくは別で書きたいので深く触れませんが、自己開示はコミュニケーションの一環、というかコミュニケーションそのものなのでは?と思ったりします。
プロジェクトのチームビルディングでドラッガー風エクササイズというのをやったのですが、

参考: チームビルディングでドラッカー風エクササイズをやってみました / 開発者向けブログ・イベント | GMO Developers

これは本音を伝えるからこそ効果があるんですよね。全て本音を書いたつもりですし、それなりに考えて各項目書いたつもりですが、今思い返すともっと開示できたなぁと後で思いました。
自己開示が求められるチームビルディングで詳しく自分の話を話そうとしない、もしくは適当に流してしまうのはよさが半減してしまう、真の自分を開示することによりお互いの理解が深まる、その結果チームとして結びつきが硬くなるんですよね、多分、知らんけど。

会社の個人チャンネルもそうですが、Twitterとかでも最近うまくツイートができなくなってしまって、、何か思い立って書こうと思ったりしても、途中まで書いても。書いたところでなぁみたいな感じになってしまい下書きを消してしまうんですよね、ストッパー的な何かがかかる感覚というか。
これ呟いたところで何になるの?疑問なら別に自分の中で解決できればよくない?みたいな。完全に意識が自分に行ってる。
Twitterとかはインフルエンサーとかでないなら別に個人の範囲なんで好きにしたらいいと思うんですが、お仕事スラックの場合って自己開示やコミュニケーション、誰かが何かに気づくキッカケになるかもしれない、など人を多く巻き込んでる環境なので、こっちは呟くようにしたほうがいいかなと思ってます。
無理に呟く必要はないと思うので、意識だけしようと思います。

昔からその節があるんですよねぇ、、、ちょっと隠したがるというか自分のことを話すのが苦手というか、、何かトラウマでもあったっけな。。。

個人お勉強系

個人アプリ進んでねぇ!

これ一言に尽きます、時間作ってやれ私。

試験勉強ができてねぇ!

興味が湧いてとある試験に申し込んで勉強してるんですが、これも全然進んでおりません。
これも時間を作ってやる、それだけです。

お分かりいただるだろうか、そろそろ疲れてきて文章が雑になってきていることを。

T (やってみること、挑戦してみること)

これはそれぞれの項目で記載している部分もあるので、箇条書きでまとめます。

  • リードという意識を持って、プロジェクトの推進に努める
  • マネジメント、スケジューリングの計画をたて進める
  • 資格は2022年数個取得する
  • コミュケーションのやり方を常に試行錯誤しアクションを起こす
  • SwiftUIを業務レベルに持っていく
  • 何かしらの他言語で何かを行う
  • 保守的にならない、昔を思い出して貪欲にチャレンジしていく

総括してこんな感じですかね。
◯◯をやるっていうより意識改革的なことが半分ですが、意識で物事は変わっていくと思うので、こういうのは定期的に見つめ直して行っていこうと思っています。

まとめ

はい、お疲れ様でした私。休憩したりなんなりで半日ほどこれやってましたね。でも色々思い返して書き記せたので良かったです、これに関しては人の為ではないっすからね。

さて、残り数日は読みかけの本を消化して試験勉強して個人開発進めていつもよりしっかり晩御飯作って、、時間足りねぇ。