3年が過ぎた

年度末は胃腸炎になったりバタバタしていて3月中に振り返りエントリを書けなかった。 完全にタイミングを逃したが未来の自分のためにやっぱりまとめておく。

[参考]

1年目 文系からエンジニアになって1年が経っちゃったよ - C-FRONT

2年目 社会人2年目をエモめに振り返る - C-FRONT

業務

担当範囲

所属がちょっとだけ変わり開発担当範囲がAndroid→サーバーサイドに変わった。

Spring Bootのキャッチアップにバージョンアップで理解を深めた話 - C-FRONT

SpringBootについてはもちろん、Webサーバーの仕組みから(apache/tomcatのところから)DBの仕組みについても色々学べた一年だった。 Androidアプリの開発だけだと触れられなかったところにたくさん触れることができて、興味範囲が広がった。 うまく抽象化してラベルをつけられないので、どんなことをやっていたのか・考えていたのか具体的に書き出しておく。

  • SpringBootでのAPIの開発・webアプリケーションの開発
  • SpringBatchを使ったバッチの設計・開発
  • Fitnesseを使用したAPIのE2Eテストについて
  • APIプロジェクトでの単体テストを書くこと
  • カスタマー問い合わせへの対応・それにまつわるデータやログの調査
  • サーバー内のディスク容量・CPU使用量への調査
  • DB周りの問題について(インデックス領域・TEMP領域枯渇への対応)
  • スロークエリの調査(インデックスとはみたいなところから)
  • 本番データからのデータ出力・加工(ひたすらSQL書いたり)
  • DBの定義変更を含むリリース時のフロー(サイト閉塞してのリリース)

みたいなことをやっていた気がする。うまく言い表せられないけどサーバーサイドと言ってもアプリケーションの開発・運用保守/パフォーマンス・チューニング・インフラとかたくさん分野があるということと、少しだけでもその全体像に触れられたところがよかった。 サーバーサイドに変わった時「運用をしっかり経験しないと開発に良い設計に活かせない」とアドバイスをもらったことが印象的だった。地道なことも多いけどアラートの対応したりカスタマーサポートすることでサービスの全体像を把握するのに役立ったかなと思っている。

社内で開催されたISUCONにも参加させてもらい、アプリ開発だけやっていたら絶対に参加していなかったと思う。そしてめっちゃ楽しい。この世界が知れて良かった。

社内ISUCON合宿に参加してきた感想 - C-FRONT

開発プロセス

開発プロセスに関しても考えた1年だったと思う。元々開発プロセスというものはなくて、定期的に企画側から降ってくる案件を開発チームが着手する。案件の粒度や詳細化のレベル感もバラバラ。 やっぱり効率が悪いところもあったので、色々試しては挫折したりで悩んだ1年だった。

どこまで企画側に仕様の詳細化を求めるか

  • 企画側で仕様を詳細化するリソースが残っていない中で、権限は企画側に残ったままの状態に違和感があった
  • 企画側に意思がない場合、開発側である程度裁量を持って決める形にしたかったがうまく整えられなかった

開発プロセスフレームワークを導入するにしても教育が必要

  • スクラムを導入にするにしても関係者全員にスクラムとは何かを理解してもらわなければいけない
  • 例えば開発チームにがっつり時間を割けるPOが必要だが、現実問題無理だった
  • 結局こういうプロセスを大きく変える時は有識者が最初はがっつりトップダウンで教育することが有用そう

決めた改善活動を守る警察みたいな存在が必要そう

  • これからはこういうフローにしましょう、と決めたことを守っていくことは意外と難しい
  • チームで決めた施策の遂行を促す改善警察みたいな存在を作ればよかったな

こういう交通整備をしながら開発もできたらすごく幸せな世界だと思う。けど私にはできなさそうだった。ということがわかった。

業務外

世界が広がった1年だった。

イベントでの登壇

Node学園25時限目でLTしました〜初めての社外LTの振り返り〜 #tng25 - C-FRONT

JJUG CCC 2017 Springで登壇しました~新卒2年目が鍛えられたコードレビュー道場~ #jjug_ccc #ccc_l3 - C-FRONT

Tokyo Android Meetupで初英語プレゼンしてきた - C-FRONT

TDDBCに参加&ペアプロデモをしました #tddbc - C-FRONT

海外カンファレンスへの参加

初めてのサンフランシスコ/海外カンファレンス〜KotlinConf2017に行ってきた〜 - C-FRONT

その他

上以外にもDroidKaigiに運営として参加したり、Goの研修を受けたり(後日書く)、新人育成に携わったり、社内勉強会の運営をしたりした。 良かったのは社外に知り合いがとても増えたことで、会社ではできなかった相談ができたり、特に同じ年代の人にはとても刺激をもらった。

自分のやりたいこと・成長について

そういった社外の同じ年代の人の活躍を見る中で、自分がどうしていきたいかを考えるようになった。 自分の今取り組みたいことは技術力を上げることとプロダクトを開発することだと思った。 開発プロセスの改善や企画側とやり取りするのも有意義だと思うが、なかなか開発にまとまった時間を使えなくなってきて思うように開発できなくなってしまった。それで一時期成長を感じられない時期があって、どういう環境に行ったら良いかウジウジ悩んでいた。

  • 開発業務に専念できる or 企画まで考えられる・手広く関われる
  • 新規プロダクト or エンハンス
  • 会社として力をいれているプロダクトか
  • Androidに戻るか or サーバーサイドを続けるか
  • 社員割合
  • 技術的な挑戦がしやすい・意見が通りやすい環境か

みたいなところを考えた結果、開発業務に専念でき、前からすごいなぁと憧れを持っていた環境に行くことにした。退職ではなく社内の中でちょっと所属が変わった。

この1年で自分には開発以外の業務をやりながら新しい技術もキャッチアップしていくのはとても効率の悪いことだと感じたので、しばらくは開発に専念して自分の技術力を上げることに時間を使っていきたい。自分でも甘えだなと感じている部分はあって、多分できる人は技術向上もマネジメント的なこともできるんだろうなと思うと自分は能力不足だとただただ感じている。

ということで自分で決めた道を正解にしていくぞ!