筋肉とエンジニアリングで すべてを解決するブログ

筋トレ、JavaScript、Ruby で世界を変えてやります。

社会人生活1年を経て学べた5つのこと

こんにちは。まさたんです。

社会人になって1年が経ち、新卒エンジニアとしてやってきたことで何を学んだのかなぁ?って振り返りたくなったので、つらつら書いてみます。

いろいろ学んだことはあるけど、大きい収穫として5つを書いてみます。

社会人になってエンジニアとして学べたこと

  • 環境の変化にいかに早く慣れるか
  • 思想がわかるコードを書く
  • 重要だけど緊急じゃないタスクをたくさんこなすこと
  • ユーザストーリーを考えた上での企画・開発
  • 技術との終わりなき戦い

それぞれ詳しく振り返ってみます。

環境の変化にいかに早く慣れるか

すげー大事で、一番最初に出てきたのがこれだったので。

この一年で僕の配属が変わるタイミングが2回ありました。1回目は研修期間からチーム配属まで。2回目は別チームへの異動。この2回を通してできなかったことは「いかに素早くそのチームの環境に慣れるか」ということでした。「チーム内の言葉がわからない」「何をどうしたらそのタスクが完了するのかがわからない」「チームはどういう方向に進みたくて、このタスクの意味は何なのか」「そもそもその技術なにそれ?」…etc。何がわからないのかがわからなくて、何がわかりたいのかを考えてる時間が非常に長かった気がします。

多分今後もチームが変わったりすることってあると思うんですよね。僕がやっておけばよかったなーと思うこととして、「一人で考えるのとギブアップの時間を決める」「わからないことがわかったらドキュメントにまとめる」「作業ログをきちんととる」でした。

慣れには時間かかると思いますが、いかにその時間を短くできるかが今後の勝負なのかなぁと思ってます。

思想がわかるコードを書く

これは前のチームにいた上司や先輩からたくさんソースコードにレビューをもらって気づかされたこと。

「何も考えてない」「何したいの?」「どうしてこう書いたの?」などとレビューを頂きました。モックをとりあえず作ってそれを整形しただけ、みたいなPRになりがちで結局作り直し、ってパターンが多かったかも。

結構な時間ロスで、最初にきちんと各影響範囲が考えられて、どう書けば早く、無駄なく、スマートに書けるのかをもっときちんと設計していきたいなと思いました。

結局思想がないコードはその場しのぎのコードでしかなくて、自分が書き直しをするにしろしないにしろ、汎用性がないとか、機能追加がしにくいコードになっちゃうんじゃないかなぁと思います。

その他にも、コードコンプリートを読んだり、エリック・エヴァンスドメイン駆動設計を読んだり、会社のコードを多数読んだりして、いろいろお勉強になりました。

CODE COMPLETE 第2版 上

CODE COMPLETE 第2版 上

CODE COMPLETE 第2版 下

CODE COMPLETE 第2版 下

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

重要だけど緊急じゃないタスクをたくさんこなすこと

これによって自分のチームや会社としてよりよいものを提供できるんじゃないかなぁと感じてます。

今すぐ必要じゃないけど、あればすごい便利だなって感じるツールがうちの会社にはたくさんあります。そして、それを同期が作ったりしてるのを見ると、そういう人が評価されるべきだなぁとも思いますし、僕もそうなって周りをサポートしていけるように変わらないとなって感じてます。

自分はコードがバリバリ書けるわけではないですが、人のために役立つドキュメントを残すのは比較的得意だと思います。誰もが躓く部分、今後同じようなミスをしないための備忘録として情報を残すことはいろいろな人から感謝されてやはり大事だなと思いました。

今後はそれ以外にも簡単なツールやアプリを提供していこうと思います。

ユーザストーリーを考えた上での企画・開発

これは目から鱗だったし、今後もこういう企画開発をしたいと思ったので。

今まで、あるサービスを作るときに「誰のどういう問題を解決するためにそのコードを書くのか」という意識が非常に薄かった気がします。自分がこういう問題があるからコードを書くというパターンは多かったですが、サービスを使ってくれてるユーザはどういうことがしたくてどう動くのかとかまで深く考えたことがありませんでした。

もちろん各種KPIを目に見える形で上げていくような施策も大事ですが、数字が大切なのではなく、ユーザの潜在的なニーズをいかに汲み取り、中長期的にKPIを伸ばしていけるかが大事だなーと感じました。

提供しているサービスに対してユーザの大半が使いたいと思う方向を見つけて、形にしていくのは非常に難しいと思いますが、自分のサービスを愛することができれば形にしやすいんだろうなぁと思います。

そのサービスの一番のファンが自分であることの重要性は今後も大事にしていきたいです。

技術との終わりなき戦い

結局、技術は流行り廃りがあって毎日学ぶことだらけです。学ぶことをやめてしまったら周りに追いつけなくなります。

今まで大学院までにいろいろ基礎的な勉強をしてきましたが、いいサービスを求めるとなると学問が必要となってきます。日々新しい技術が論文として、本として出てきてます。

時間が許す限り新しい技術に触れてそれを仕事に取り入れてくことで周りと対等、もしくはそれ以上にいいものが提供できるようになるんじゃないかなと思います。

学ぶこと自体は僕は好きです。新しいことを吸収していくことの楽しさを新卒2年目も貪欲続けていきたいなと思います。

まとめ

あんまりまとまりのない文章になりましたが、以上が僕が感じた5つのことでした。

考え続けること、効率よく情報を吸収することができるかが、今後の社会人生活に影響を与えてくると思います。

怠惰になり過ぎないように2年目も1年目が始まった時と同じ気持ちで改めて頑張っていこうと思います。