この記事は クラウドワークス グループ Advent Calendar 2025 シリーズ1の4日目の記事です。
はじめに
こんにちは。
crowdworks.jpでエンジニアをしている @tetsu333 です。
クラウドワークスには2024年4月に中途入社し、現在入社2年目になります。
前職では、Ruby on RailsでMVCに沿った開発をしていました。
コントローラやモデルに処理を書くことが多く、Railsならではの素早く実装を進められる開発のしやすさを感じていました。
一方で、現職はMVCだけで完結する開発ではなく、ドメイン駆動設計の思想を取り入れられており、前職よりも設計を意識した開発が行われています。
そのあたりの設計手法についてはほとんど触れたことがなかったため、入社当初から少しずつ自分でも学び始めるようにしました。
オブジェクト指向の大切さに気づいたきっかけ
ドメイン駆動設計について学ぶ中で、SOLID原則をはじめとしたオブジェクト指向の考え方が何度も登場しました。
そこから自分の中で、「まずはオブジェクト指向の理解が大切なんじゃないか?」という気づきがありました。
今年学んだこと
オブジェクト指向設計の基本原則に触れた
SOLID原則について学んだことで、良い設計について自分なりに少しずつ整理できてきたように感じています。そのおかげで、コードを読むときの視点にも少し変化を感じるようになりました。
オブジェクト指向の基礎を見直した
委譲やコンポジションなどの基礎的な部分でも理解が曖昧だったところがあったため、改めて基本から学び直すようにしました。基礎を見直したことで、これまでよく分かっていなかったポイントが少しずつクリアになってきたと感じています。
アウトプットによる学びの整理
インプットするだけではなく、Qiitaにアウトプットしたことで自分の理解の浅い部分に気づけたのは大きなメリットでした。具体的には、Rubyのコードで考えるSOLID原則といった記事を執筆する中で、インプットしただけでは実際のコードで説明することが意外と難しいことに気づきました。言語化する過程で自分の思考が自然と整理され、結果的に学びが定着しやすくなったと感じています。
今の課題と今後の目標
ドメイン駆動設計については、まだ理解しきれていない部分が多く、定期的に書籍を読みながら学んでいるところです。
将来的には設計やコード書く際の判断理由をより明確に説明できるようになりたいと考えています。
そのために、来年は急がば回れで、まずはオブジェクト指向の根本的な部分を改めて整理し、理解を深めたいと考えています。
まとめ
- オブジェクト指向の基礎理解が大切だと改めて感じた
- 理解が曖昧だった部分を補ったことで、コードの見方が変わった
- 今後も一歩ずつ、設計を学び続けたい