運用(インフラ)と開発はどっちも大切 最強に早いプログラムを求めて
運用(インフラ)と開発ってなぜか分かれているぢゃないですか。
webサービスで、webを動かすインフラ屋さんと、webシステム自体を開発する開発屋さんです。
私は両方とも好きです。
だけど、よくどっちがやりたいんぢゃーと聞かれて困ってます。
なんで、そーゆーこと聞かれるのか疑問です。
なんで、インフラと開発ってわかれているんでしょうね。
私は、この二つが分かれている理由がよくわからないのです。
インフラが分かっていない人がプログラムすると、コストがかかりまくるプログラム(ログをはかない、設定がハードコート、よく落ちる、メモリ食いすぎ、writableが頻発、スケールアウトできない、非マルチコア etc...)がうまれてしまい保守工数が山のようにかかってしまいます。
逆にプログラムのことが分かっていない人がインフラ設計を行うと、プログラムの性能をいかしきれなかったり、変な制約によりプログラムが作りづらくバグの温床になったりし、開発や保守も大変なことになったりします。
偉そうに言えば、インフラと開発の両方をちゃんとわかっていない人が設計を行うと悲惨であるというかなと。
どっちも最強に早いプログラム(システム)を作るのに必要な技術であると考えます。
最強に早いプログラムを作るには
私は最強な早いプログラムを作るならどうすればよいか?という問題をずっと追いかけていました。そうやっていたら、両方ともに必要だという結論にたどり着きました。。。
最強の早いプログラムをつくりたい
↓
システムコールやOS、アセンブラを勉強する
↓
最強に早いプログラム(サーバ)ができた。。。
だけど、1台だけしか見ていなかったのでスケールアウトできない。マシンの性能以上に処理できない。。。
↓
スケールアウトさせるためにネットワーク、データベース、インフラ設計を勉強する
↓
結構安価で最強に強まったインフラができた!!
↓
最強に早いプログラムができるかも ←いまここ?
こんな感じです。
だから、インフラと開発のどっちがやりたいねんという意見は私から見るととても的外れな意見だと思うのです。
両方できないと最強に強まったプログラムが作成できないから両方やる必要があるといった感じでしょうか。
今後、最強に早いプログラムを作るのに必要になるのは?
多分、技術以外の知識が必要になってくるのかなーと思っています。
最強に早いプログラムを作ったとして、それをお金に変えなければ暮らしていけません。
パトロンを見つけるか、自分でそれをお金に換えていかないといけないですね。
そうなると、マネタイズや予算、交渉、プレゼン、経営、法律の知識がいるのかなーと考えています。
ただ、ここら辺はセンスやら才能の世界だから、努力でどうにかなるかっていうのは難しいんですが、、、
幸い簿記の知識はあるからそこら辺をベースに切り込んでいければいいかなと考えています。
実際のところ、こーゆーのはメンドイので別の誰かにやってほしいんだけど、
そういっていては最強に早いプログラムを作れないと思うので困ったものです。。。
最強のプログラムを求めてがんばりたい。