一年半エンジニアとして働いて学んだこと

皆さんこんにちは。
今年の1月で私がエンジニアとして働きはじめて一年半になりました。そこで今回はこの一年半でどんなことを学んできたのかを振り返ります。社会人エンジニアとして働くとこれくらい学べるという参考になればいいなと思います。

普段何をしているか

株式会社ラクーンホールディングスという会社でWebアプリケーションエンジニアとして働いています。普段はJavaやPHP、Ruby、JavaScript、SQLを書いてます。最近はGo言語とかも触っていて幸せです。

技術面で学んだこと

技術面で学んだことはたくさんありますが全部を書く体力はありません。そんな数ある学んだことの中でも自分が重要だと思っているのは下の3つです。

・目的に対して適切な手段を選ぶこと
実装や設計について適切な手段を用いることはとても大切だと思います。なので自分の使おうとしている手段が目的に合ったものなのかを判定するために、プログラム言語・ライブラリ・フレームワーク(以下FW)の特徴や設計手法などを学んでおくべきだと考えます。例えばActiveRecordを使ってレコードを削除する際に、 delete()とdestroy()を使うのでは結果もパフォーマンスも違います。また、流行しているものを使いたくなることもありますがそれが本当に良いものなのか見極めていきたいです。

・内部実装を予測・把握して作業する
これにより障害の対応が早くなったり抜けのないコードが書けるようになると実感しました。go言語のhttp.Get(url string)関数は1つの接続先に対して2つまでしかidle connectionを保持できません。この仕様を知っておくと独自でhttp.Client構造体を定義したほうが柔軟なパフォーマンス調整をできると気づけます。本来内部実装を知るにはソースやドキュメントを読む必要がありますが、有名なFWやライブラリはqiitaなどに解説が載っているのでありがたいです。(それが正しいか確認する必要はありますが)

・動作が分かりやすいコードを書くこと
動作が分かりやすいコードを書くというのは本当に難しいです。どのクラスが責務を持ちどの程度関数を分割したほうがよいのか。不要な状態を生み出さないためにはどうするべきか。こういったことを常に素早く考えられるようになることが重要だと思います。入社当初は質の良いコードを書くとどうしても時間がかかってしまうと思っていましたが、それは自分の経験やスキルが足りないだけで腕の立つ人は自分が雑にコードを書く工数くらいで質の良いコードを書き上げます。分かりやすいソースコードを書くスキルというのは経験だけでなく、書籍などからも学ぶことができると思うので積極的に本を読んでいきたいです。

非技術面で学んだこと

エンジニアとはいえ8時間常にプログラミングをしているわけではありません。この一年半ではプログラミングをしていない時間に非エンジニアの方とコミュニケーションを取ったり勉強会を主催したり、飲み会に参加して得たことが沢山あります。

・自分のコミュニティを広げる
常に人との関わりを大切にし自分を知っている人を増やすことの重要性を感じました。関わりを持つ人を増やすことで普段自分に回ってこないような仕事を回してもらえたり、自分の凝り固まった価値観をほぐすこともできます。エンジニア以外の職業の方と話すことで、自分には見えないサービスの問題点なんかも見えたりします。それと、外部の勉強会イベントに行くと他社がどのように仕事をしているか学べて🍣が食べられられるのでおすすめです。

・利用者の立場に立ってどんなサービスを必要としているか考える
自分たちが作りたいものが、本当に利用者が必要としているものなのかを考えるのはとても大切ではないでしょうか。私達エンジニアは直接お客様と会話しないので、本当にほしいものが何かというのは見失いがちです。通常、お客様との距離が近い営業やカスタマーサポートの方がエンジニアにサービスの改善要望を出してくれるのですが、その改善要望が本当にサービスの改善に繋がるか自分で考えるべきだと思います。実際に自分がより良いと思う改善案を営業の方に伝えたところ「そのようなことはできないと思っていたから提案してくれて嬉しい」と嬉しい感想を貰えたりします。

・得た知識をアウトプットする
アウトプットすることは自分のコミュニケーションスキルの向上や、不明瞭な知識の整理に向いているのでやるべきだと実感しました。自分のスキルの証明にもなりますし社内で勉強会の講師をやったりすると、社内の技術力の底上げにも貢献できます。私の場合は昨年、社外向けにVue.jsの勉強会イベントを企画・実施をすることでVue.jsの基礎部分の理解度を上げることができました。https://techblog.raccoon.ne.jp/archives/1560151207.html

来る三年目に向けて

来年の4月で新卒入社して3年目が始まります。私が担当しているサービスは運営開始から18年が経とうとしています。そのため技術的負債をそこそこ抱えていますが、それにめげることなく負債の返却や新しいことにチャレンジして行きたいと思います。むしろ改善の余地がまだあるサービスの開発に携われるというのはとても幸せなことだと考えています。
というわけで上記に書いたようなことを学べる会社で一緒に仕事をしたい就活生がいましたら、twitterで私にDMでも送ってください👍

この記事が気に入ったらサポートをしてみませんか?