SE Can't Code

A Tokyo based Software Engineer. Not System Engineer :(

大手SIerの社員が求められていること。

今朝、上司からメールが来ていてそこには僕に対するコメントがあった。
そのコメントというのは、「プログラミングといった技術も大事だけれど、弊社の立場として業務知識をもっと養う方向に向かっていってほしい」といったものだった。つい最近まで育成期間としての面談を三ヶ月に一回程度に行っていたのだけれど、その際に僕は「上流といえども技術力のないSEにはなりたくないから勝手に(現場で技術磨けないので)技術磨いています」といった不満話をよくしていた。違うエントリにも書いたけれど、入社してから今まで現場で技術を磨く機会には決して恵まれていないため、さっさと家に帰ってコードを書いて技術書を読んでせっせと自分で技術を磨くような生活を送ることで、職場では満たされない技術的な欲求を必死で埋めていた。

その背景には自分がなりたい人間像や将来成し遂げたいこと、純粋な好奇心といったポジティブな理由が多くを占めるが、一方で少なからず恐怖の感情もあった。
僕の職場は決して技術に明るくないし、そもそもITに対して興味を持っている人が少ない印象がある。僕の周りのプロジェクトは歴史があり、また部署での稼ぎ頭なプロジェクトであったりもする。当然そこで働く人たちは優秀で顧客からの評価も高い。しかしこの人たちに技術力があるかというと、技術力はおそらくない。なぜなら技術力を求められる仕事でないからだ。
僕はずっとそこが不思議だった。なぜ求められないのか。この会社はソフトウェアを扱っており、ビジネス的にモノを言うならば、ソフトウェアのアウトソーシングが売りの会社なはずだ。なのにそのソフトウェアを考える上流側の人間には技術が求められていない。
勿論理由はだいたいわかっている。SIerというのは完全な分業体制を敷いていて、上流と下流が分離することで利益を生み出す構造になっているからだ。実装面は下流の人が対応するため、上流側の人間はそこまで深く技術を知らずともある一定のレベルでシステム要件を定義すれば、それが形となってこの世に生まれてしまう構造なんだ。

上流側の人間として求められていることがなんなのかを最近よく考える。
個人的には、顧客が抱える課題をITを用いて解決することなのだと思っている。ここで問題になってくるのが、この"IT"なんだけれど、たとえば顧客の抱える課題がわかったとして(実際これが一番難しいのだけれど)、その解決法はいったいどこから出てくるのだろうか。ITで解決をすることがSIerとしての仕事だとするならば、ITを知らずにどういう回答が出せるというのかが不思議でならない。"ITを知っている"ということは、実際に技術を自身に修めていることを指していて、本を読んだだけの知識ではない。目の前の課題に対して、自身の技術的経験や知見を元に幅広い技術の中から一番筋の立つ選択をすることが必要なのではないかと思う。それは自身に技術力がないと実現できないことではないのだろうか。


そういう想いが僕の中にはあって、これは仕事をしていく中で日に日に想いを強くしているところでもある。身の周りで残念だと思うことは、歴史のあるシステムの担当ではほそぼそとした追加開発や改修が主な業務で、それらはだいたいにおいて既存踏襲となり、新しくシステムを考える機会がないことだ。勿論、歴史あるシステムから学ぶことは多いのだけれど、かなり閉じられた世界でSEとしてのキャリアを歩むことになるので、限られた世界でしかシステムについて考えられなくなる気がする。僕が恐怖を抱いているところはまさにそこで、技術は知らない、知っているのは業務知識だけで、考えの幅が狭いSEになってしまうのではないかというところにある。そしてその先には大規模プロジェクトのマネージャーという道しかないのではないかとも思ってしまう。そして僕はマネージャーにはあまり興味がない。


この恐怖心がかなり僕を努力する方向へ突き動かすのだけれど、冒頭にある通り、会社から「そういうの求めてないよ」と言われたようでゲンナリきているのが、このエントリを書いた理由である。
実際に上司との面談の中で、「今自分に開発の経験がないことがかなりの悩みなので開発させろ!」なんて言うのだけれど、やっぱりそれは会社的に難しいと言われる始末であったりする。僕も会社のことをそれなりに理解しようとしているので、単価の高い弊社の人間に製造をさせることは利益を小さくするのだということは重々承知している。けれど、それは将来的に技術のわからないおっさんSEを作り上げてしまう結果になりそうで、僕はそういった道を歩むことを望んではないというのが本音である。そして、会社のために自分を殺すか、それとも自分の未来のために生きるのかと問われれば、僕は即答で後者を選ぶ人間というのが本性である。



さて、まとめると大手SIerで求められていることはなんなのか、という話になるのだけれど、僕はとりあえず業務知識を養うことに注力することを求められているようです。
勿論それは業務の中で養うけれど、上司に言われたかといって優先順位を変えるつもりは残念ながらなくて、現状一番必要と認識しつつも未熟である技術に比重を置いて精進していきたいと思っています。だから僕は業務中でもどんどんコードを書いていこうと思うし、会社の方針に抗う若手社員がいてもいいでしょ、という感じです。


※あくまで僕の半径3m以内のSIerの話なので、上記が全てSIerの職場に当てはまるわけではありません。あしからず。