技術を作るエンジニアと適用するエンジニアの境界線

エンジニアの切り口の1つに、技術基盤を作るエンジニアとそれを問題解決に適用(利用)をするエンジニアという2つに分ける方法があると長い間思っている。

ここでいう技術基盤はインフラの仕組みだったり、APIだったりを内製で提供できる技術を指す。

この技術基盤に対する閾値を今まではパッケージなどを組み合わせたフレームワークまでを含めて良いのではないかと考えて来たが、ここ5年の動向を踏まえるとパッケージを組み合わせたフレームワーク作りは、パッケージを利用しているという事実が適用するエンジニアと同じではないかと考え直した方が良さそうだと思うようになった。

その理由は、提供されるパッケージ、APIなどに依存する部分があるからだ。これは技術的な課題が生じたとき、その原因がパッケージだったとすると問題解決を自身でできないことを意味するからだ。

インフラ構築をする手段があっという間に簡便になった。ブラウザでポチポチするだけでサーバがあっという間に揃う。アプリ要件が決まるのを待ち、サーバ構成やNW構成や負荷分散を考えてからインフラエンジニアがサーバをリリースするのを待つ必要がなくなった。アプリエンジニアがインフラを少し勉強して、それまで情報を提供する側だった役割がインフラの知識を少し持ってインフラ側に足を踏み込めば自分でいくらでも環境が作れてしまう。

ただ、そうしたものづくりの仕方ができるお膳立ては誰がしているのかということである。そのお膳立てと御膳に乗っているコンテンツを消費する間でバウンダリを引くのが今の時代の線引きなのではないだろうか。

そうした閾値による線引きをした場合、お膳立てをするエンジニアにはより先端で特化した技術が集中し、提供される技術を利用するエンジニアは技術利用のhow toが必要とされ、集積していく。

こうした切り口を知った上で、自分の足元の技術を確かめることは今後のキャリアを考える一因になるかもしれない。

 

 

 

業務システム クラウド移行の定石

業務システム クラウド移行の定石