🍲

【入社エントリー】入社数ヶ月でrubocopを導入した話

に公開

はじめに

はじめまして。
SKIYAKIエンジニアの宮田です。
SKIYAKIに入社して4ヶ月経ちました。
多分この記事が公開されるのと同じくらいの時期に、私の入社インタビューが公開されている予定で、そちらの記事でも、会社の雰囲気は伝わると思います。しかし、じゃあ実際エンジニアとしてこの4ヶ月どんなことやっていたの?っていう具体的な話まではしていないです。
ここでは、実際こういうことをやっていたよってことを実例を基に紹介できたらと思います。

自己紹介

入社インタビューの方と被りそうなので、本当に概要だけ記載します。

  • 経歴
    • 2015年: 公立高校の非常勤講師
      • 元々学校の先生目指していました。中高の理科なら教えられる免許を持っています。
    • 2016年: IT業界1社目
      • IT全く未経験で、受託がメインの会社に入社しました。周りのエンジニアが優しい人ばかりでいい環境で開発に携わることができました。
    • 2021年: IT業界2社目
      • SESメインの会社に入社しました。4つ案件を経験しましたが、その中の1つの案件で自社開発の方が楽しく開発できそうと思い始めました。
    • 2025年: IT業界3社目(SKIYAKI入社)
      • 自社開発で且つ自分の興味があるエンタメ業界に入社
  • 趣味
    • ラーメン二郎巡り
      • 関東圏以外にも地方の二郎を食べにいくこともあります🍜
    • 筋トレ
      • 6年ほど続けています。リモートワークというのもあり、運動不足解消という点で大事なライフワークです!

入社して4ヶ月でやったこと

開発業務としては、ざっくり以下のことをやっていました。

  • 環境構築
  • ファンクラブの管理画面の表示調整
  • メール送信機能の改善、機能追加
  • RSSフィード取得バッチ作成
  • ハート送信機能の開発
  • 不具合修正

普段の開発で不便に思っていたこと

自分が携わっているプロダクトは、Rubyがメインで書かれておりました。コードを書いて、コードのフォーマットを整えたいと思ったのですが、自分が携わっているプロダクトには、コードフォーマッタであるrubocopが入っていませんでした。今までの開発において、rubocopがなかったことがなかったので、これは衝撃的でした。rubocopが入っていないことで、フォーマットを整えたいときに手動でやらないといけないのが小さなストレスに感じておりましたが、最初は仕方ないかという気持ちでいました。しかし、コード見てて統一感がなかったり、段々手動でやるのもしんどくなってきたりして、どうにかならないものかという思いが湧いてきました。

開発改善MTGの存在

入社して1ヶ月も経たない上長との1 on 1で『rubocop入れないんですか?』って聞いてみたら、開発改善MTGというものがあって、そこで改善したいことをアウトプットすると良さそうとのことで早速議題に挙げ、話しました。
自分の過去の案件での経験なのですが、提案しても『今はやる余力がない』だったり、『やろうとしているけど、やろうとしている人が今忙しくて全然進まないんですよね』だったりと言われ結局前に進んでいないということがありました。開発改善MTGで話す前も『入社して1,2ヶ月足らずの人が何言ってんだよ、うちのリポジトリ事情のこと全然知らないのに』とか『今から導入したところで意味がなくないですか?』とか思われそうって悲観的に考えていました。
しかし、開発改善MTGで話したら、他の開発者も『rubocop入れたいよね』だったり、『こうしたら良いんじゃないか』といった前向きな意見をもらえました!今までの経験上、こんなに前向きな方向で話が進むとは思っておらず、驚きました。

rubocop導入と運用の検討

rubocopの自動修正で勝手に直してくれるから任せれば良いのではないか?と思う方もいるかもしれませんが、自動修正された結果、不具合になったケースを見たこともあったり、そもそも差分が多すぎて安全を担保できないだったりとそんな危険を犯すことはできません。そのため、実際導入から運用までを安全に行える叩き台を考える必要がありました。考えたことに関しては以下の通りです。

  • rubocopのバージョンはどれを導入するか?
  • rubocopの対象ディレクトリはどこまでにするか?
  • rubocopのルール設定はどう設定していくか?
    • StyleやLintなど好みが分かれそうなものどう決めていくか?
  • どのように指摘数を減らしてかつ安全に運用していくか?

叩き台を作った後に、協力してくる方々と意見交換して、導入と運用方法の固めました。最終的に意見をまとめたものを、エンジニアに共有し、rubocopの導入まで進めることができました。今現在は既存のrubocopの指摘を減らしていく運動の実行メンバーを結成、普段の業務の支障がでないようにしながら、日々指摘を減らしたり、指摘のルールの見直しをしております。

まとめ

今回は、rubocopの導入の話が、社風や開発の雰囲気を感じ取ってもらいやすいと思い、ここまで話をしました。
SKIYAKIの良いところとして、こうしたいってことをアウトプットしたら、サポートしてくれたり、協力してくれたりしてくる人がいるところだと思います。入社後のオンボーディングの中でも、エンジニアグループのマネージャーの赤石さんや代表の小久保さんも、『決まっていることが少ないので、何かこうした方が良くないか?と思ったことは言ってもらった方が良い』と言ってましたが、その通りだと思います。実際に入社数ヶ月ですら、このように意見が通るのですから。社風として、そして開発の雰囲気としてなかなかこういった環境はないのかなとは思います!不満を言えば良いのではなくて、自分でどうしていきたいかという考えとそれを遂行する力も必要なのが注意点ではあります。不満に思うだけではなく、変えていくためのエネルギーがある人はとても向いている職場だと思います!
ここまで読んでいただきありがとうございました!!
rubocopの運用はまだまだ始まったばかりなので、何か成果がでたらまた話したいと思います。
俺たちの戦いはこれからだ!!

SKIYAKI Tech Blog

Discussion