今の部署に移動して1年経った

去年の今頃諸々あって転籍してきてからちょうど今週で1年と1ヶ月経ったので、この1年を振り返ってみます。

Overview

まずはよく1年乗り切ったと思うし、その事実については自分を褒めたい。 正直大変なことたくさんあったし、エンジニアとしての自分自身の経験不足を痛感し続けた1年でした。

大まかに以下の観点について振り返って見ようと思います。

  • エンジニアリングについて
  • キャリアについて
  • 今後について

エンジニアリングについて

Go

Goを1年間触れてきました。個人としては歴が2番目に長いソフトウェアになりました。(ちなみに1番書いていたのはPHPで大体2年くらい書いてました。)

blogのエントリの傾向見るとわかりますが、Goに触れたことでGoが大好きになりました。これは今の部署で1年過ごしたことで得た嬉しいことの一つです。趣味プロですらサーバーサイド書こうと思ったらいつもGo選んでます。最近はNodeやKotlinにもちょっと興味あります。

GAE

これも僕の中では一つの革命的なサービスでした。今となってはAWSと対をなす標準的なPaaSですが、GCPの中でもとりわけGAEを1年間触れてきたことでPaasへの理解が一歩前に進んだ気がします。

異動して当初は全く何がなんだかわからなかったですが、最近になってようやく周辺サービスを使うようになってちゃんとdocumentをベースで知見を広げて開発を進めていくというPaaSならではの開発の仕方に少し馴染めてきました。

マイクロサービス

今関わっているプロダクトはマイクロサービスアーキテクチャを採用しています。

モノリシックなサービスしか関わってこなかったので、マイクロサービスをどう運用するのか、これを採用することでどういう嬉しいことがあるのか、一方でどういうしんどいことがあるのか、色々見ることができています。

個人的には下記のドキュメンテーションとも関係するのですが、マイクロサービスをマイクロサービスとして機能させるためにはある意味力技でマイクロサービスとしてしっかり保つことが必要であるということを知ることができました。

運用周り

ドキュメンテーション

wiki力が上がりました。キャリアの中でドキュメントをちゃんと書いたことなんかありませんでしたし、UMLとかも書いたことがありませんでした。これを続けた結果、頭の中身を文章に起こすスキルも少しだけ向上しました。

あまりにも移動当初wiki力がなさすぎて、これはいかんと思い、wiki力を伸ばす一環でブログをちゃんと書き始めました。結果としてなんだかんだ100記事以上書くことができて、ある程度は継続させることができています。
副次的には、ブログ書いてて声かけてもらうときに「ブログ見ました」みたいなことを言われる機会が増えたので文章にまとめる姿勢をもったことでいいことが少なからずありました。

チーム開発

githubを使ったチーム開発自体ははじめての経験ではなかったのですが、そもそも「何故そのコードを書くのか?」ということをずっと意識してきた一年でした。作ること、動かすことが目的になっていた自分からほんの少しは進歩したのかなと思います。

PRのディスクリプションちゃんと書くようにしたりとか、最近は指摘されてコミットメッセージの粒度や内容ちゃんと考えるようになったりとか、自分感覚でコミットしていた頃とはまたずいぶん様変わりしたなと実感します。

なお、その分開発速度という面ではかなり犠牲になりました。
ただ、あれほど重視していたスピードってなんだ?品質落としてまで重要視するものか?みたいな新しい見方をできるようになったと思います。

コミュニケーション

しゃべるのは好きだけど、仕事でしっかり議論するということはあんまりしてなかったし、相手に自分自身の意図を伝えきるということが如何に難しいか、そんな当たり前のことを課題に感じてました。

ただ、この根本は自分が相手の意見を鵜呑みにして、脳死状態に陥って事が原因でした。結局のところ、自分の経験不足を逃げ場にして、相手の言うことを聞いてればいいと思っていたことが全ての元凶でこれを改めるところからが自分のスタートでした。

エンジニアがエンジニアに説明するときですら、苦労するんだから、非エンジニアの人がエンジニアとコミュニケーション取るなんてマジで大変だろうなと思います。

開発における基本的なあれこれ

一人で開発していた頃と違ってバックグラウンドが様々なエンジニアの方々と仕事をすることが増え、それこそコードをレビューしてもらう中で様々なことを学びました。実装におけるtipsなどの比較的具体的なところから、ログの出し方や検証観点、検証の仕方、QAの意義など小さいところでとにかく作ることが優先されていた頃には意識すらしなかったことを多く学びました。

キャリアについて

課題

やはり 引き出しの少なさ に集約されるかなと感じます。 エンジニアとしての経験の少なさがそのまま、自信のなさだったり、逃げだったり、実際の開発における能力不足に直結している気がします。 この辺はもう経験で補うしかないのかなと思いつつ、どうしたらもっと伸ばせるのか、少なくとも自信を持って開発に望めるのか、その辺をもっと突き詰めていかないとなーとも思っています。

優秀な同世代のみなさま

新卒の方もめちゃめちゃ優秀だし、同僚の方も百戦錬磨のエンジニアの方達ばかりで常に劣等感を感じながら仕事しているということそれ自体はあまり変わっていないと思います。 ただ、ふと思うのはこれだけ優秀な人に囲まれて仕事できる機会もキャリアを通してそう多くないと感じているのでとにかく学べるだけ学んでやろう、という気持ちは変わりないです。

今後について

よくわからない、というのが本音だったりします。
おそらく1年前の自分では思いもしなかったことを色々と学んでいった中で、実際いまの自分って「何がしたいんだっけ?」っていう課題にぶち当たっています。
実際、昔は作りたいものとかがたくさんあった気もしているのですが最近はその辺が全く見えなくなって来ました。正確には、足りないものがありすぎで、作りたいもの作る前にちゃんと自分自身の現状の能力と向き合って、伸ばしていかないと 本当の意味で作りたいものは作れないんじゃないか? という危機感が大きくなって来たというのが本音です。

この危機感はおそらく消えることはないんでしょうが、少しでも払拭できたといえるタイミングでまた次のことを考えようかなーくらいの感じでしばらくはやっていこうかなと思っています。