SIエンジニアの自分戦略 -急がば回れ、選ぶなら近道- - DevLOVEに参加してきました。


SIエンジニアの自分戦略 -急がば回れ、選ぶなら近道- - DevLOVEに参加してきました。


イベントページより抜粋

今回のDevLOVEのテーマはSI、受託開発エンジニアの自分戦略です。
急がば回れ、選ぶなら近道というブログで、テクノロジーの話題とともに、SIとSIに身をおくエンジニアに向けたテーマで、鋭敏な視点に基づくエントリを世に送り続けている okachimachiorz 氏をお迎えします。とかく、厳しい状況といわれる日本のSIビジネスとそれを支える開発現場。SIに身を置くエンジニアが、これから注意を払うべきこととは何か。自分戦略を作るのは、自分自身です。今回のDevLOVEが、それを考えるひとつの機会になれば幸いです。

とゆうことで、昨今風当たりの強いSIとSIエンジニアはこれからどうしていくべきなのか?という内容でした。


okachimachiorz氏の講演内容は、社会、IT,SI業界、ユーザーなど様々な視点から論じられており、とても説得力がありました。
同時に、説得力のある内容だからこそ、SIに身を置くエンジニアとしては考えさせられることが多かったです。


SIが縮小していくのは今までも数多く論じられていて、厳しくなっていくのは間違い無いだろうと思っていますし、日々感じています。


自分自身、SIや受託開発は嫌いでは無い(結構好きかも)ので長く働きたいと考えるわけですが、講演で語られているようにSIベンダーの内2割しか生き残らないとしたら…自分の会社が8割に入らないとは断言できません。


では、1人のエンジニアとしてどうしていけば良いのか?


なんとなく思い浮かぶのは以下の3つなのですが、どの選択をするにしろ、自分にスキルが必要なのは共通して言えるかと思います。(自社が2割に入るように努力するのは前提として)



  • 2割に該当する会社に転職する

  • SI以外の会社に転職する

  • 起業


講演のなかで、自分のスキルを”チップ”や”カード”と表現しており、カードは多ければ多いほど良く、複数の最強-1(最強では無い)のカードを増やしていくのがオススメと仰っていました。


SIで仕事をしていくには、業務知識、プロジェクトマネジメント、設計、インフラ…などなどのカードを育てる必要がありますし、SI以外の仕事、例えばサービス開発であれば、企画、マーケティング、UXやデザインなどのカードを育てる必要があるかと思います。


…はい、どの道を選んでも茨の道ですね。


これはSIだけに当てはまる訳ではなく、IT業界全体に当てはまると思います。


結局の所、自分のなりたい、ありたい状況、状態に向かって努力するしかないってことですかね。


自分自身のことを考えると、手持ちのデッキに最強カードも最強-1のカードも無いので、長短期両面を意識した成長戦略を考える必要があると思っています。 まずは、短期的にでも食べていける最強-1のカードを育てるところから始めようと思います。


コード書かなきゃ。


最後に


会場を提供してくださった日本マイクロソフト様、DevLoveスタッフの皆様、ありがとうございました。


講演のメモ


SIエンジニアはどうしていくべきか?


登壇: okachimachiorz氏
■参考エントリ
SI屋さんとSIと、直近の課題について。 - 急がば回れ、選ぶなら近道
業務系エンジニアはどうしていくべきか? - 急がば回れ、選ぶなら近道
SIで得るものはあるのか? - 急がば回れ、選ぶなら近道


現在の社会状況〜マクロ



  • 年寄りが増える

  • 社会的コストの増大

  • 社会インフラの維持コストの問題

  • 全体のパイの縮小均衡


売上が減ると、利益にフォーカスする。 これは社会全体の流れ


現在の社会状況〜個人


年金問題

もはやスキームとして成立しない 被害者意識があり、遠慮しない


消費税

どんどん増える。直接税が減額されないので、実質所得減少


SIの現状をマクロから



  • 産業別人口


インド、ベトナム等と比べても多いことがわかる。


給与の現状


他国と比べて低い


つまりどういうことかといおうと



  • 人が多すぎる

  • 給与が安い


よく言われる格言



  • プログラマの生産性は、低い人と高い人を比べると10倍委譲の開きがある、ということがよくある。

  • 割りと現実に見ることが多い


本当にそうなのか?



  • プログラマの生産性は・・・

  • IT業界でよく言われる

  • 他の業界で言われることは、実は少ない

    • あっても3倍というケースが多い


  • 普通はそんなに1人あたりの出力がズレたら商売にならない。


なぜ10倍の生産性が出るのか?



  • 能力が高いほど生産性があがる

  • そもそもばらつきが酷くないか?

    • 言葉にならないほど酷い

    • なんでこんな人呼んでるの?

    • 10人月で呼んでいるので

    • そんなビジネスモデル

    • if文のネストが20

    • メソッド名が全部大文字
       


  • 優秀な人の生産性が高い


そこで経営層は普通どう考えるか?


できるやつの給与をあげる前に、できない奴の給与を下げる(またはあげない、首を切る)


んでこいつは建前で、実は…

「できないやつの給与を上げないついでに、できるやつの給与も適当に据え置く」 現実問題として、人員が多い組織では人件費を上げるということは至難の業 モチベーションは給与ではあがらない。


ITのあり方について



  • SI自体が成り立たないという現実

  • 人が多すぎて給与が安い


  • かつ、前述の「特に人件費の扱い」を考えると、1人当たりの賃金があがる要素はゼロに近い



大規模SIをしているところはそうなってしまう。 これは経営層の資質という問題ではない そうせざるを得ない


SIの現実


SI屋

単純な売上増を安易なSIで稼ごうとする経営スタイル


ユーザー層

ITのリソースを外部から調達すれば良いというユーザー層の考え方



  • この需要と供給というパーフェクトな図式のなかで成立してきたSI事業は当然の背景として、明確な「市場としてのビジョン」


業務系SEの現実


認識すべき背景


  • SIがマーケットとして非常に厳しい

  • 企業環境として給与は上がりづらい

  • 年金・消費税で実質所得は間違いないくさがる


なのでどうすべきか?


  • マーケットがどう変化するか?

  • 変化するマーケットにどう自分自身をビッドするのか?

  • 賭けるチップ(自分の能力)は手元にあるか?


手持ちの札、自分がなにを出来るのかを客観的に把握した上でどこに張るのか?


マーケットがどう変化するか?


SIビジネスが縮小していく


  • SIはオワコンだと思うが、ゼロにはならない。

  • 縮小してどうバランスさせるのか?


中規模・小規模SIの増加


  • 投資余力の減少から規模の縮小が始まる。


変化するマーケットにどうビッドするのか?


少ない人員で回せる仕組みが必要になる

とはいえ、5人とか10人とかそういった話ではない
100人月⇒70人月
こういったサイズの縮小が増える
アジャイルには大きすぎる


ある程度マルチでできることが必要になる

能力のある人間が1.5役ぐらいをやっていく感じになる
単一能力ではなく、複数の領域でのノウハウが必要


業務系のニッチな仕事はむしろ増える

SI屋を抜きに直接発注がくることも増える
間違って拡大するとすぐに死ぬ


手持ちのチップは十分か?


手持ちの武器は何が必要か?


  • カードは多ければ多いほどよい

  • 最強のカードは、複数の「最強-1」のカードには勝てない

  • 最強のカードになるには、かなりコストがかかるが、最強-1であれば実は真面目にやればいけてしまう


エンジニアとしてのキャリアパス


単一の道で最強をめざす


  • おすすめしない

  • 日本で最強はない

  • ガラパゴスな感じで勢力争いになる


複数の道で最強-1をめざす


  • おすすめする

  • 90点を100にするのではなく、30点を90にする。


経験値として


そもそもITの流れを理解しておくこと

歴史は繰り返している



  • 汎用機⇒オープン化⇒クラウド


その都度車輪の作り直しになっている



  • 車輪の作り方を知っておく必要はある


何もしないとどうなるか


まず実質所得は下がる


  • これは決定的

  • しかも、あと5年後に確定


SIビジネスは縮小する


  • 予算がないので、スケジュールが短縮され、デスマが増える


いままでと何が違うのか?


座っていても大丈夫という時代が「本当に」なくなりつつある


  • 大企業でも倒産や合併という憂き目にあう


SNS等のつながりで、情報の流れが早い

企業の壁が薄くなる

勉強するモチベーションと自分の能力をどう評価するのか?ということが、非常に重要になってくる。

つまり、夢も希望も無いわけよ


SIエンジニアが身に付けるべきこと


設計



  • 普通の設計ができるようにしておく

  • 特定の要素技術に依存しない

  • 画面設計・データモデル設計・フロー設計


例外処理を拾えること



  • やりすぎだめ


性能


アーキテクチャ


すべての基本はI/O



  • 各物理改装をちゃんと理解する


障害設計から考える


何が何をするのかがわかるようにしておく


アプリ


基本はプロジェクト・マネージメント



  • 普通にWFができること

  • WBS・課題管理


要素技術の共通点を抑える



  • 制御構文


書きすぎないこと



  • 書き過ぎないこと

  • 作らない技術をもつこと


インフラ


とにかく情報収集


ネットワークの基礎技術は抑えること


ハードはいろいろ出るが、最後はI/O


運用


設計が命



  • いままで見えなかったことが見える

  • 一度はやってみるのをオススメする


継続的なインテグレーションのマスター



  • システムは使われてなんぼ

  • 生きているシステムは、変更される


コスト意識をもつこと


基礎技術


計算についての基本知識



  • 計算量

  • 確率統計
    高校生〜大学生程度で

  • 計算とはなにか


品質についての基本知識



  • 品質は作りこむもの

  • 手法は様々だが、完璧なものはない


論文が読めるようになっておくこと



  • 巨人の肩には乗ったほうが良い

  • Tx,分散、並列


業務系


考える



  • なんでこんな処理になっているのか?仕組みになっているのか?

  • 書籍を読む


例:会計処理⇒簿記を勉強する
例:最適化⇒ORくらい勉強しとく


聞く



  • なぜなのか?聞いて聞いて聞きまくる

  • いやがれるけど、めげない


応用する



  • 大事なのは、個々の仕様ではない

  • 考え方を学ぶこと

  • 考え方を常識にとらわれずに転用すること


転用すると、オリジナルの理解が深まる。


話が通じると、お客様からの信用が違う。
ヘルプで入った時に、直感的にこれはおかしいと気づける。


ご近所さんとディスカッション


自分を売り込むのはエンジニアとして不幸せに感じる


インフラやっているけど、アプリやりたいと言っている人は、実際にものを作らないとダメ
主体的に動くという話しでは、売り込むのは必要


技術者同士のシンパシーを感じる場所で働きたい


内製とか増えてきている?


内製やっている場所も増えている。
基幹は外注、Webとかは内製でやっている


COBOLからオープン化してきているが、なんでもかんでもオープン化していく必要は無いのでは?


みんなの考え


ベンダー企業が、ユーザー企業から仕事を得るためには?

ユーザー企業が、大規模SIをやる必要性なんかを考える必要がある。
でかいPJをどーんとやるのは、ユーザーもベンダーも難しい。
受け方を考える。
こんな形態での契約であればできますよ、ダメなら受けませんって形式?


大企業にいて、エンジニアとして生きていく上でできる事とは?

色々な経験を出来る場所もある。
ただ、配属次第では難しい面がある。


上司と話して、どうしたら良いか相談する。
このままだと具合が悪いから、今後どうするかを考えたほうが良い。
部や、事業部など大きい単位で動けば経営層も動く。


吉岡さんの話し

マクロでやるにはSIは厳しいよね。
2割くらいしか生き残らないんじゃない?
8割には大手ベンダーでも入る。
一つの軸としては、ユーザー企業に入ってITのイノベーションを起こすというのもアリじゃないか??


ユーザーサイドでモチベーションを維持できない?
IT投資は経営が悪くなった時に難しい。
効果が無かったら切られる。


セブンイレブンやヤマトはITが本質になってきている。
そういった例もあるが、そういった会社を発見していけばどうか??


エンドユーザー系のR&D部隊とかに入る手はある


ウルシステムの人間を、SBTは棚卸しさせたりする。
そうゆう例を調べつつも、中の人から情報を収集してやる必要がある。
やる気のある(IT?)取締役がいるとか。
エージェントだけではなく、中の情報をちゃんと調べた上でやるべき。


SIが弱体化して、ユーザーが内製化が始まると?

工程毎に人材を最適化して受注していたが、内製化すると人が溢れるのでは?
USでは人材の流動性が凄い高い。
日本でやるには、違う業務もやるしかない。


IT業界ではプロジェクトマネジメントを普通に行なっている。
エンドユーザーでは線を引かない。
例えば、エンドユーザー企業で店舗を作るとかそういった作業でマネジメントを行うと、凄く役に立つのでは?


製造業では行うけど。(プラントとか)


IT系の人材が違う業務を行うのであれば、企画系、スタッフとしてなら使える。
色々なことが出来る人材はユーザー企業でも欲しいのでは。


SIがシュリンクした時に、ユーザーは困る。ユーザーはどうゆう出口を求めるのか?

お金が無いユーザー企業は発注出来ない。
ユーザー企業が、SIベンダーに発注出来ない状況になってきた場合どうしたら?
潰れるとか。
人海戦術とか。
延命は需要があるとは思う。


コアの人間を引きぬく。
コストは仕方ない。


システムの再構築を先送り先送りにして、ベンダーが潰れたりした場合大変。
セキュリティも対応しなければならないし…打つ手無しって感じ。


SI業界で情報工学を学んでいる人が少ない、入ってくる人材が少ない、質の高い人材を集めるには?

真剣にテストをすれば良い。 (FizzBuzzとか) 論理的にものを考えられて、日本語が書けて、2年間くらいちゃんと教育に放り込む。
それで人がいないなら、取らない。


お金は無いけど、構築したいって場合

お金が無いからこれだけにしてくれと言われ、赤字になったり。
お金が無いけどやって欲しいって言われた場合にどうしたら良いか?


やらないと言うべき。
それは上と話して、やるなら責任を取れと言う。
その責任は経営層が取るべきで、それを下に投げているのであれば経営層はクビで良い。


それが、長い付き合いだから仕方ないのであれば、投資と考え、いつ回収出来るかを考える(経営層)