言語に生きるかプラットフォームに生きるか

irony9901.hatenablog.com

昨日こんなことを書いていましたが、ふとスペシャリストとして生きるにしても、プログラミング言語というまた一つ視点があるな〜と思ったので、そのことについて書きます。

言語よりもプラットフォームのほうが、この先生きのこれる?

んじゃないかな〜と考えています。

例えばJavascriptは現在、フロントエンドでもサーバサイドでも動いています。 ですが、プロダクションを考えた時に開発中に注意するべきところ、というのは、フロントエンドとサーバサイドでは大きく違ってくると思います。ユーザリクエストの多重性や、例外ケースなどの取り扱いは、エンゲージするポイントが全然違います、ということはそれぞれに求められる 非機能要件 が違ってくるってことです。

このとき、プロダクションの運用・保守時の対応を考えると、言語仕様に詳しいことも大事ですが、何より現実として 非機能要件 に強い人の方が、経営としてはありがたいのではないかと思います。

昨日の記事では「プラットフォーム=OS環境」程度にざっくばらんに書いていましたが、非機能要件の軸で考えると、それだけではアバウトすぎます。切り口を変えて、システムアーキテクチャのなかでの「システムのレイヤ」をぞれぞれ大きなプラットフォームとして考えた方が良いかもしれません。

サーバサイドの中でもストレージ付近、ミッションクリティカルなアプリケーション、API、ロードバランスとかキャッシングとか、フロントエンド、などそれぞれにかなり深い知見があると思います。

プログラマ、という狭い視点から抜け出せばもっと広がります。

データベース、ネットワーク、ピアリングなどなど・・・現代のITを構築する要素はめちゃくちゃ多いです。

システムレイヤの中から自分のスペシャルを見つける

というのが、スペシャリストの生存戦略となるでしょう。

せいぞーんせんりゃくー!

じゃあお前はどれやねん?

機能の記事で、スペシャリストとゼネラリストというのを書きましたが、多分私はゼネラリストの傾向の方が強いんじゃないか〜と思います。

各レイヤそれぞれにこだわりはありますが、それらは結局「やりたいことに対して必要なこと」を超えたことがないので、多分そうなんじゃないかな、と思います。


すごくふわっとした文章ですが、こちらからは以上です。