Web系エンジニアVSインフラエンジニア
よくネット上で議論されますよね。この手の話題。
私は一応どちらも経験していて、今はインフラ寄りの仕事をしています。
で思うことに「インフラエンジニア」が利用する分野は普遍性があるので学ぶ上で精神衛生上いい。
普遍性?
レイヤー的に言うと下のものって変わらないですよね。
Javaを使ったプログラムでもRubyを使ったプログラムでもTCP/IPに沿ってポートを開いて通信をしていたり。
なのでTCP/IPを学んで得た知識、業務で触った経験って他の現場でも何年後も役立ったりします。
ところが、Web系ってツール依存やライブラリ依存なこともあって、相対的に手に職が残りにくいと思っています。
お前はストラッツを知っているか?
昔、Apache StrutsというJavaでWebアプリケーションを作る際のデファクトスタンダードになったものがありました。
ところがどっこい、今や見る影もないですよね。
そういう流行り廃りがあるところにコミットしすぎると、数年後には役に立たなかったり。
もちろんそれらに普遍性がある部分もあるとは思いつつ、やはりそれはインフラに行けば行くほど大きくなると思っています。
できるだけ核の部分を学びたい
今の私はどちらかというと全体を見るお仕事が多いので、あまり技術の勉強はできていないですが、どうせするなら核をやりたい。
OpenShiftやらk8sもいいけど、まずはdockerにおけるnamespaceの分離から始める。
OpenShiftなんて数年後は そんなのあったね、今はマイクロソフトが開発したxxxの方がコンテナオーケストレーションだとスタンダードだよね ということはありえますが、その世界でもnamespaceの考え方は必ず利用されています。
そういう意味で、インフラエンジニアはそこの知識を武器にできるので、いいよね、そう思っています。