★参考にしたい進路

twitter.com



@Panda_Program さんより引用


サーバーサイド一筋5年の優秀な同僚の
Vue.jsのコードをレビューしたことがあります。
責務が分割され、メソッド毎の処理がわかりやすく、
とても綺麗に書かれており、
特に指摘するところなくLGTMを出しました。
「調べながら書いた」とのことで、この経験から以下の洞察を得ました。



  • サーバーサイドで、OOPのベストプラクティスを
    理解している人はフロントでもクリーンなコードを書く。

  • SOLID原則 (クラス単位)とレイヤードアーキテクチャ
    理解するとフロントで応用できる。

  • 「サーバーサイドからフロントエンドに転身した人」
    というだけで、侮ってはいけない。



  • 情報収集力は一種のスキル。サーバーサイドでも
    フロントエンドでも役に立つ。

  • 結局、クリーンなコードを知っている人は、
    サーバーサイドでもフロントエンドでも
    コンポーネントごとの責務がわかりやすく、
    シンプルなコードを書くということです。

  • さらに、ここから一歩踏み込みますが、
    情報収集力とWebを構成する技術に対する理解さえ
    あれば、フロント周辺のツールの利用経験の有無は
    重要ではないと思っています。

  • ツールはあくまでも道具です。
    そのツールで解決した課題とそれに対するアプローチ、
    トレードオフを理解すれば、
    経験と熱意と興味があれば、
    基本的な使い方はマスターできます。

  • あとは、「最新の書き方」(時に振り回されること)や、
    「コミュニティが発見したベストプラクティス」を先人達が
    教えれば済むことです。

  • サーバー側でもフロント側でも
    どちらか一方に通じ、
    ツールに対するメンタルモデルを形成すれば、
    もう一方の学習コストは大幅に減り、
    いわゆる「上達」に繋がると考えています。

  • なので、フロントとサーバー側で分けるのではなく、
    ミクロな視点では「OOPによるクリーンなコードの書き方」、
    より大きな視点では「Webを支える技術に対する理解」
    「中・大規模のソフトウェアの設計」
    「システム全体のアーキテクチャ」のスキルで
    判断すべきでしょう。

f:id:noel-blog:20200726215605p:plain