ソフトウェアエンジニアがコーポレートエンジニアになると異世界転生が始まるのか

ろとさんが次のようなツイートをしてたのですが、実際私がそこに該当してたりするので「いやーほんとうにそう」と思う反面、結構条件がありそうだなと思ったのでなぜそう思ったのかを残しておきます。

ちなみにわたしは13年ソフトウェエンジニアやっていて、社内異動でコーポレートエンジニアになったタイプです。詳細が知りたい方はnote見てください。
https://note.com/howdy39/n/n1c673b780c6c

なぜコードが書けるのはアドバンテージなのか

そもそも 「コードが書ける」ってのに段階が結構あり、情シスだと次のようなステップでレベルが上がっていくのかなと思っています。

・順次・分岐・繰り返しの基礎的なロジックを理解し、実装できる
・GAS, VBA, Bash, PowerShell などでコードを書ける
・ドキュメントを見てAPIを使いこなせる
・Git や GitHub を使った開発ができる
・GASやVBAではなく、Node.js, Python, Go などプロダクト開発で使う言語でコードが書ける
・EC2, BigQuery, Lambda, Heroku など用途に応じて適切な IaaS, PaaS を実行基盤にしてインフラを構築できる

どこまでできれば異世界転生が始まるのでしょうか?

全部です。

作りたいシステムやツールを100%実現するには全て必要なので全部になります。
異世界転生だとどんな敵でも倒せちゃいますよね。こんなのがあれば課題が解決できそうと思ってその通りのものを作るには上記が全部必要なのです。ZapierやWorkatoなどでは近いものができても完全には実現できないのですよね。

とはいえ「コードを書ける」のレベルが上がっていけばやれることは少しずつ増えていきますし、決して無駄ではありません。また、ローコードが不要かというとそんなこともありません(超便利ですよね)。あくまで異世界転生レベルになるとしたら何でもできる必要があるだけです。

また、ソフトウェアエンジニア出身者のコードと情シスが独学で学んだコードは質がぜんぜん違います。
プロダクト開発のコードは、わかりやさすさ、計算量オーダー、メンテナンス性、テストのしやすさなど様々な考慮をして書いています。
一方ほとんどの情シスが書いているコードは「動くこと」が満たせているだけのものがほとんどだと思います。(QiitaやZennなどにあがっているコードを見る限り)
たとえばGASで 「var」「iやjなどのループカウンター 」を使ってたりするのをよくみますがソフトウェアエンジニアが書くコードでこれらが出てくることはまずありません。
※ var は let, const、ループカウンターではなくforEachやmapなどを使います

(個人的にですが)ソフトウェアエンジニア出身でない情シスが目指すのは、ドキュメントを見てAPIを使いこなせる、までいったらiPaaSを使いこなしたほうがいいと思っています。
それだけでほとんどのユースケースはカバーはできますし、ただでさえ業務範囲が広い情シスがその先まで学ぶのは難しいでしょう。
ガッツリコード書く必要がでてきたならソフトウェアエンジニア雇いましょう。情シスが全部やるのは無理なので。

ソフトウェアエンジニアが情シスになると異世界転生が始まるのか

条件付きで始まると思います。

IT企業でプロダクト開発をしていたソフトウェアエンジニアがIT企業の情シスになったら です。

コードをかけるとは、について長々と書きましたが、こんなのソフトウェアエンジニアからしたら氷山の一角です。
ソフトウェアエンジニアの本質は仕事の進め方やカルチャーがイケているとこにあるとおもってます。アジャイル開発や1on1を始めとしたIT企業の良い仕事の進め方やカルチャーを率先して取り入れてます。
Engineering Manager という職種も一般的になり、大規模な勉強会が開催されています。ソフトウェアエンジニア界は他より数歩先進んでます。

また、プロダクト開発が複数の職種の人とすり合わせてすすめるものというのもあります。
ソフトウェアエンジニアだけでなく、PM、デザイナー、QA、セールス、マーケ、カスタマーサポートetc みんなで協力して一つのプロダクトを作りあげる必要があります。(もちろん広義ではバックオフィスももちろん必要です)
それぞれの職種によって必要だと思う機能や優先順位は違いますし、そこがずれていて衝突することはあります。リソースは有限なのでそこをいい感じの落としどころを探り作っていくわけですが、そのへんのすり合わせを含めた仕事の進め方だったり流れだったりを理解しているのかってとこが情シスになったときに役に立っています。

よく聞く、「情シスがビジネスを理解しているか?」みたいなやつに近いのかなと思います。
会社で働いてる人がどういうことをしているか、社内ITのどこが課題なのか、どうなってほしいのか。その人達と働いていたからこそ見える部分がやっぱりあって、それがソフトウェアエンジニア出身から情シスになったときにとても大きいと感じています。

メーカーの情シスであれば、商品開発をしてた人が情シスにきたようなものなんですよね。商品開発者の気持ちが理解できて、それに付随して、なぜその商品を作ったのかだったり、流通、お客様の声 なども多少はわかるって状態。強いですよね。

逆を言うとソフトウェアエンジニアをやってた私がメーカーの情シスになっても異世界転生にはきっとならないのですよね。メーカーの仕事はわからないので…

つまり

IT企業でプロダクト開発していたソフトウェアエンジニアがIT企業の情シスになったら

異世界転生になるんじゃないかなと思います。

ちなみに私の場合、自社プロダクトを作っていた状態からの社内異動なのでさらに+補正されています笑
社内のエンジニア「Google Workspaceの〇〇権限開放してほしいです!」
わし「あーあの部分直すから必要になるのね、OK」
みたいなケースが多いので話が圧倒的に早かったりします。

おまけ

コーポレートエンジニアとITサポートの2職種に分けて採用していますので、興味を持った方はぜひ応募して下さい。
やりたいことが多すぎて人が足りてません🥺


この記事が気に入ったらサポートをしてみませんか?