こんにちは!インターン生の村田光です。
現在は、自社スタッフの勤怠システムをRuby on Railsというフレームワークを使い、開発しています。
僕は今回初めてチーム開発を経験し、1人で開発する時よりも、より成長を感じることができました。
α版として終盤に差し掛かっており、このプロジェクトについて進行してきた中で感じたことをお伝えしていきたいと思います。
開発中の勤怠システムについて
こちらの勤怠システムは、クランチタイマーが運営している「スタートプログラミング」のスタッフが今後使用する予定のシステムです。
勤怠入力、給与計算をweb上で行えるように、システムの設計から実装まで自社で開発しました。
スタッフはクリック一つで簡単に勤怠を入力でき、オーナーは教室ごとの人件費やスタッフごとの給与を一覧で簡単に把握することができます。
使用技術について
使用技術は、webアプリ開発フレームワークであるRuby on Railsです。
ログイン機能はfirabase authで実装しました。
Railsには認証機能を簡単に実装できるライブラリがある一方で、Railsでfirabase authを使って認証機能を実装している情報がなかなか見つからず、かなり苦戦しましたが、なんとか実装することができました。
チーム開発のメリット
このプロジェクトは、もともと1人で進めており、どう実装したらいいか行き詰まった時が多々ありました。
しかしチームで開発を進めることになり、コードレビュー時にチームのメンバーがどのように実装しているかを見ることによって、「こういう実装方法もあるんだ」と新たな知見を得ることができるようになりました。
そのおかげで機能を実装するときに、sqlの発行をより少なくできないかや、短く書くことができないかなどを考える癖がつきました。
また、レビューをしてもらうときに「こういう実装方法の方がパフォーマンス的にいい」など、提案してもらえることによって、とても勉強になりました。
今では、相談しやすいチームのおかげで、以前よりもストレスフリーで開発することができています。
しかし、初めて0から行った開発で、たくさん反省点もあります。
設計が甘く、手戻りが多かったことです。
これは設計レビューやシミュレーションが不足していたために起こりました。
また、要件の抜けが多く、実装前にはっきりさせるべきだったと反省しています。
まだまだありますが、プロジェクトの失敗と反省から学ぶことはたくさんあり、だからこそ成長できると感じました。
最後に
わからないことがあっても、いつもわかりやすく優しく教えてくださるチームの先輩には感謝しかないですし、先輩のようになるために頑張ろうと刺激になっています。
もう少しで開発中のシステムをリリースできそうなので、楽しみにしてくれている人たちのためにも引き続き頑張っていこうと思います!
現在クランチタイマーでは、チームの一員として働いてくれるエンジニアを募集しています。
ぜひ一緒に働きましょう!