とあるIT屋の独白

ITや経営について主に書きます

現代のシステムエンジニアの仕事について考えてみる

システムエンジニア(SE)というと、システムの開発や設計を行うエンジニアです。そんなん分かっとるわという話ではあるのですが、最近はアジャイル開発やDDDといったアプローチが認知されるようになってきて、SEに求められる役割や仕事のやり方も変わってきてる気がします。というわけで、今回はあらためてSEの仕事について考えてみます。
まず、おそらくおおかたの人がイメージするSEの仕事は、以下の記事にあるようなウォーターフォールの工程において、要件定義や設計を行うというものになると思います。もちろん実際にはウォーターフォールで行われてる開発はたくさんあるし、イメージとしては間違いではないです。

proengineer.internous.co.jp

ただ、与えられた要件を開発する、それだけがSEの役割となってしまうことには私は少し寂しさを感じてしまう派です。以下の記事にあるGoogleのエンジニアだった方が、Googleを辞めて、よりユーザに近い環境で開発したいといった気持ちは分かります。
私自身も元々はウォーターフォールの現場で仕事をしていて、与えられた要件を開発していくこと自体は嫌いではないのですが、よりシステムやサービスの価値を高めるかといったことを考えたくて、転職もしたりしました。

amiq11.hatenablog.com


「価値を高める」といった観点はアジャイルが認知されるにしたがって、エンジニアにも少しずつ求められてきている気がしています。以下の記事にある「SEはお客様と一緒に価値を創造する仕事」というのはけっこうしっくりきていて、言われたものを作るところから脱却していく必要があると感じています。
今の環境は不確実性が高く、顧客やプロダクトオーナーが要件の正解を持っているとは限りません。だから、ただ言われるままではなく、本当に価値を作り込むという姿勢をエンジニアが持たないと中々良いものが出来ないと考えています。

logmi.jp


それはコンサルの仕事では、という意見もあるとは思います。システムや機能の企画フェーズにおいてコンサルを入れるケースも、出てくるでしょう、ただ、コンサルは企画するだけ、SEはそれを作るだけで上手くいくでしょうか。下記の記事にある通り、
「自分は企画しかしないからといって実装を考えず机上の空論でやりすごしていいはずもないし、他人が企画したものだからといって何も考えずに実装をしていいものではない。」
という考えは個人的には共感できるものがありました。

note.com

 


もちろん各々の得意分野があるので、大まかな役割は定めておくべきですが、「企画だけやれば良い、開発だけやれば良い」ではなく、エンジニアも企画段階で価値を見定める必要があるし、コンサルも開発フェーズ時に本当に価値があるものは完成できるか考える必要があると思います。だから、コンサルだからこれしかやらないとか、エンジアだからこれしかやらないという時代はおそらく徐々に終わっていき、自分が価値向上のために何が出来るかという姿勢で仕事が出来る人材が、
生き残っていくようになっていくと私は感じます。