どうもmizukiです。詳しくは(特定されるので)書けませんが、数年間コードの書けるSEと書けないSEがバトルしているのを最近知ったので、今後の備忘録として残します。
社内SEの中でも「システムをすべて外注する会社」であれば、コードを書ける必要はありません。(書けた方が良いけど)
むしろ、システム化を行う部署の業務に関する知識や、それをベンダーに伝える能力の方が重要だと思いました。
僕は「コードを書けない人がシステム外注するのはするべきではない」と思っていましたが、冷静に状況を考えたところ、正しい認識ではなかったです。要件定義が正確な人が行えば、外注は割と成功します。
コードを書けるSE VS 書けないSE(書く必要が無い)
基本的にコードを書けない側が立場が上である。10人ほどの基幹システムなどを内製化していた(過去形)、システム関連部署。
書ける派の主張
- コードが書けなければ、工数の見積もりもできないし、コードのレビューも行えない(実際にレビューの文化が無い)
- コードを書ける人がいなくなると内部でシステムを構築することができない
- 手を動かしている側が待遇が悪くて、指示を出している側だけ待遇が良いのはおかしい
書かない派の主張
- そもそも設計と実装は別物なので、コードを書ける人が良い設計をするとは限らない
- 要件定義においては、システム化するべき要件を如何に具体的に伝えるかが重要なので、コードは書けなくても良い
- コードを書くのは、下の人の仕事
感情論になるけど自分の主張
僕はコードも書けるので、自分の立場で主張したいのは「自分達の成果物の内容を評価できない人が、上に立つのが納得できない。」と言う事でした。
技術力をベースに評価されないのはおかしい!と思いましたが、技術を評価できる人が上に居ないので、技術力で評価される事は一生無いでしょう。ただ、自分(コードを書けるSE)にとって都合の良い評価基準ではなかっただけの話でした。
自分がもし上の立場で書けないSEだったら
絶対に「自分よりもコードを書けるSEの方が、存在価値があります!」とは言わないでしょう(断言)。既得権益を守るために全力を尽くします。
なので、コード書ける側が下で有り続ける事が変わる事は無いでしょう。自分で学習しなくても下の人がせっせとシステムを組んでくれるのなら指示だけします。
コード書けないSEが多い理由がそこにあると思います。コードが書くのが好きな連中以外は「学習するのも面倒だし、他の人が書いてくれるなら覚える必要が無い」と考えるのは必然です。
予想される今後の推移
コードを書けるSEがいなくなる(イマココ)
↓
内製化が不可能になるので、今後はすべて外注をする
↓
コードを書けないSEが外注を行う
↓
問題なく業務のシステムが完成して、業務が回る
あれ?コード書ける人が必要無いぞ!
コード書ける側が主張していた内製化も、そこまでアドバンテージがあるものではなく、外注でシステムを組めば良いので問題はありません。
そもそも、コードを書ける人が製作したシステムが100%問題無く稼働する補償も無いので、外注するのと大して変わりが無いです。(多少金額は多くなるけど)
今まで基幹システムやそのサブシステムを構築して来たエンジニアに敬意を!
コード書ける人達の末路
コード書ける人が減れば減るほど1人当たりの業務量が増えるので、連鎖的にほとんど人が退職をしました。
消息は知りませんが、1人はシステムの会社を設立して頑張っているようです。
「コードを書けて、実務経験がある」ような人であれば、今のエンジニア不足の世の中なので再就職できていると思っています。むしろ技術力が評価されるような会社に就職できたのであれば、今までよりも楽しい生活を行っていると思います。
まとめ
- 会社によっては「技術力を評価基準にしている」会社がある(と思う)ので、コードを書くのが好きな人はそこに行くべき。社内SEではなく、自社開発やってる会社に行った方が良さそう。
- 内製化を行う場合に「コードを書けないSE」が既にいる場合は、そのような人たちが自分達に都合の良い評価基準にするので要注意
- コード書ける人<コード書けない人 の人数バランスになると、コード書ける側にいてもかなり辛い思いをする。
- 「会社の評価基準と本人やりたい事のミスマッチ」が発生するとお互い不幸になるので、自分のやりたい事に合った会社を目指そう。
非IT企業では会社の偉い人達がシステムに詳しくない場合が多いので、「コードを書けないSEを無駄に高い金額で多数連れてくる」場合があります、そういう場合は全力で逃げよう!
そもそもコード書くのが好きな人と社内SEがミスマッチだと最近気が付きました。
コメント
以前から思っていたのですが、コードが書けないSEって・・・本当に技術者なのでしょうか?
確かに技術チームもしくは外注要員と予算がしっかりしていればコード書けないSEでもプロジェクトを回せますが・・・
正直コードを覚える気がないのなら、迷惑なので営業の方に回って欲しいのが本音ですね。