見出し画像

どうしたら、速く「設計」の経験を積めるか

バヅクリCTOの合原です。


webエンジニアとして、どうしたら、設計の経験を積めるのか‥


 設計とは

乱暴に一言でいってしまうと、実際のプログラミング工程に入る前にのすべて、でしょうか。
※ウォータフォールに限らないので、設計しつつ開発進めるケースも多分にあり


私は普段から絵にしながら他者とコミュニケーションをとるようにしています。



「絵にする」とは、


つまり、



図解するということ。



その(一般的な)理由は、


  • 自分の思考の整理

  • 相手にも共通の理解を促せる

  • 漏れが見つけやすい

  • 振り返りで漏れが見つけやすい

 


これは、エンジニア同士だけでなく、それ以外のメンバーとのMTG時などでも、とてつもない効果を発揮します。



エンジニアとしては、データモデリングやテーブル、リソース、クラス、シーケンスなど、あらゆる設計場面で図解できると、メンバー間で共通認識の上、とても有意義な議論も可能となります。



また別の会議でも、同様。誰かがジャストアイデアで何か提案などした場合でも、図解することで全員、共通認識で、議論が円滑に進められます。



また、あるときは、新メンバー参画時にも、図解したものを、figmaやnotionなど用いてドキュメント化しておけば、その図だけで理解が促せるというのもメリットとして挙げられます。



またさらに、図解することを習慣化しておくと、図解するスピードも上がります。テーブル設計やデータモデリングをする際など、とても役に立ちます。




エンジニア同士だけでなく、他部署メンバーとのコミュニケーションでも、図解して、共通認識を促しておくと、テキストコミュニケーションだけよりも、齟齬が生まれにくくなるのは、言うまでもありません。



一方で、文字になってるほうが理解しやすい、事足りる人。むしろ図解するほうが時間かかる‥という方もいます。


これ自体いい悪いの話ではありません。


左脳派、右脳派みたいな話かな、と捉えています。

 

つまり、どちらがいいではない。


どちらじゃないといけない、でもない。


…ということです。



では、なぜ?


私が普段から、絵にしてコミュニケーションを取ることを大事にしているか?




その理由を改めて言うならぱ、


  • メンバー間の齟齬をなくすこと

  • 自身の理解の再認識


の2点です。



本音を言うと私は私自身があまり、理解するスピードが速くありません。
とくに、テキストだけ、口頭だけだと、より顕著になります。




他者からのある発言に、
仮に二通りの受け取り方があるケースを想定すると、


ある一方は、8/10
またある一方は、2/10
の割合で受け取り方がわかれる場合、


私はたいがい後者のケースが多いのですw


正直、これがなぜナノカ?は全くわからないのですが‥今にしてみれば学生の時からこうでしたw
理由は全くわからないですが😅




だからこそ、それを防ぐべく、
業務で齟齬を起こさないために、
「図解する」ことを通して、自身の理解と他者の意図を同期させるように徹底しています。



気づけば、ER図かいたり、シーケンス図書いたり‥
と、図解すること‥絵にして会話することが当たり前のエンジニアになっていました🙃



そうして、図解を繰り返す中で、モノゴトの矛盾、無駄な点に気づいて、描き直したりと、
対象は違えど、設計を繰り返していたのかな、と。



バヅクリのエンジニアとしてサービス開発をしていく上では、設計力も非常に重要な点です。



普段、図解しながら設計したり、話を整理したことがあまりない方こそ、書き方が汚いとか、気にせず始めることをおすすめします✨



また、世の中には、思考を整理するためのフレームワークがたくさんあります。

エンジニアなら、シーケンス図や、クラス図、システム構成図作成などが、頭のフレームワークを使うという点では同じですかね📝
こういったものを積極的に使っていくことも大事な点かなと思います。訓練として。





汚くてもいいので、まずは描くところからはじめること。


これが何よりも大事。



気づかぬ間に数多くの「設計」の経験値を積めるので、設計あまりやったことないエンジニアの方々には、ぜひ、トライしてみてほしいです🤓📝

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