生きづらいぼくたちが生き抜くために
ひとつでも多くの知識を
知恵にできますように

「WEB」と「SIer」の違いを、元プログラミングキャンプメンター・現新人研修講師なぼくが全力で解説します!!!

f:id:HrkPPOI:20191026151701j:plain

基本を徹底し、変化に対応しようとするみなさんにあっては、職業選択において IT 業界が選択肢に挙がっていることかと思います。そして、世に言う SIer とWEB の違い について困惑していることかと思います。

検索してもよく分からないし、その割には対立していて「SIerはクソ、WEBにすべき」だの「いいや SIer はすごい」だの、謎は深まるばかりでしょう。かくいうぼくもここ数日、2 回立て続けにWeb と SIer の違いについて聞かれました。

思い返せばプログラミングキャンプでメンターをやっていたときは、かなり多くの受講生にその違いを説明をしていました。コミュ障気味のぼくにとって、ある種の会話のとっかかりとして親睦を深めるきっかけになっていて、懐かしいな〜という気持ちもあります。

とはいえ現在は SIer 向けの研修講師として働いており、話のとっかかりに役立つということもありません。質問もチャット(文字のやりとり)だったので、ちゃんとまとめておいて「これ読んでみて!」と示すほうがお互いコスパがいいですね。

そんなわけで、 WEBSIer の違いを、元プログラミングキャンプメンター・現SIer向け新人研修講師なぼくが全力で解説します!!! 長いよ!!!!

この記事の想定読者&ゴール

この記事の想定読者は、次のようなひとです:

  • SNS で「SIer vs WEB」という対立構造があることをなんとなく知った
  • しかし、違いがよく分からない
  • 「WEB SIer 違い」で検索していたらこの記事を見つけた

そしてこの記事のゴールは次の2つです:

  • WEB と SIer の関係を「対立関係」ではなく「マトリクス関係」で捉え直す
  • ネットの意見の偏りを「差し引き」して受け取れるようになる

このテーマはかなりひとによって意見や考えに幅があります。そこでこの記事では対象読者とゴールを限定することで、その幅を狭めようと工夫しています。そのため、以下2点をご留意ください:

  • 対象読者から外れるかたのご期待には添えません
  • あくまでもゴールへの到達を目指して行論していますので、ところどころ偏った意見も記載しています。これらは私の意見・主張ではなく「ネットでよくある意見」を整理したものですのでご了承ください

この記事のゴールは、「ネットの意見の偏りを『差し引き』して受け取れるようになる」ことです。

どんな意見にも偏りがありますし、偏り自体は悪ではありません。問題は偏った意見を公平な意見だと信じてしまう受け手の姿勢です。ぼくを含めて、人の意見は偏っています。しかし、(大体の場合)悪気はないのです。意見の偏りを差し引きして、話を聞いてくださいね。

「とはいえ、その書きかたは読者にとって不利益だよ」「事実と違うよ」というところもあるかもしれません。その場合はお手数ですが @HrkPPOI2 までご連絡ください。なるはやで修正対応しますm(_ _)m

比較をする前に

この後 WEB/SIer の違いを説明しますが、その前に前提を整理します。

WEB/SIer は本来、二項対立で比較できません。IT 業界の人々は雑談やコミュニケーションツール・一種の冗談として対立構造を使っているだけなんです。

しかし、それを外から見たみなさんにはあたかも対立構造があるように見えるため、混乱しちゃうのです。

WEB/SIer は二項対立で比較できない

いきなり話をブチ壊しますが、そもそも SIer/WEB は二項対立で比較できません。

あなたがこの記事に辿り着くまでの流れは、おおよそ次のようなものではありませんか?

  1. SIer/WEB という対立構造があるということを知った
  2. 違いを調べた
  3. ググったけど分からない
  4. ググりつづけてこの記事を見つけた

これは2の意味で奇妙です:

  1. ググったのに答えが分からない
  2. 対立構造がある(と思っている)のに違いが分からない

1. は良いとして、 2. について補足します。

対立構造は、物事を理解するための超強力なツールです。たとえば「砂糖」が何かを理解できなくとも「塩」と比較すれば「甘い粉」だと分かります。「左」が何か分からなくても「右」と比較すれば「右の反対」だと分かります。

これだけ強力な対立構造を使っても SIer と WEB の違いが理解できない、とすれば、何かオカシナことが起きているはずです。前提がおかしかったのです。

WEB/SIer はそもそも二項対立で比較できません。あなたが WEB/SIer の違いを理解できないのは至極自然なことで、「本来は対立していないもの同士を対比したので、分からない」ということになります。

比較できないのに比較するのは、雑談がはかどるから

WEB/SIer は比較できません。そう言い切るのには勇気がいりますが「一概には比較できない」ならほとんどの IT 業界人がウンと言ってくれるはずです。

ではなぜ、世の中では WEB/SIer が比較されているのか。

便利だからです。もう少し言葉を補うと、雑談がはかどるからです。つまり、あなたがこれまでに起きたできごとを整理するとこうなります:

  • WEB/SIer の対立を前提とした雑談を見聞きした
  • 「正確な」違いが知りたいと思って調べた
  • 「正確な」違いは分からなかった
    • なぜなら、最初から「正確な」違いなんてなく、フランクな雑談のために使われている対立だから

実際、ぼくも友人と飲みに行くとよく雑談として WEB/SIer の比較を前提にした話をします:

  • へ〜、SIer からWEB に転職して変わった?
  • これだから ◯◯ は ×× なんだよな〜笑
    • ◯◯ には SIer/ WEB が入る
    • ×× には否定的なニュアンスの言葉が入る
    • もちろん「共通の仮想敵を叩く」というコミュニケーションために冗談で言うんですよ

なんとなく雰囲気が分かったでしょうか?

Twitter や Youtube などでもそういう話が出ていると思いますが、あくまでも雑談です。書籍や公式リファレンス等ではほとんど見かけません。だからこそあなたは混乱したんです。

無理やり二項対立で比較するとしたら

まずは無いところに無理やり二項対立を作り、あなたの疑問に正面から答えます。

いまの時点でのあなたは WEB と SIer を二項対立だと思っているはずです。ここでぼくがいきなり「二項対立じゃない」言われても納得できないでしょうし、SNS でよく見聞きする対立の仕組みを知りたいことでしょう。

そこでまずは二項対立に沿った「ネットの論争」の解説をします。

ぼくはそう思っているというものではなくて、「Aと言っている人は、Bを理由だと考えているんだよ」というものです。あくまでもこの記事のゴールは SIer/WEB を二項対立で捉えずに、マトリクス図で捉えることです。マトリクス図で捉えるための「要素」だと思って読んでください。

パターン⓪:ダサい vs イケてる

まず、SIer業界で働く身としてはとても腹立たしい悲しいことですが、次のような比較があります。

  • ダサい SIer
  • イケてる WEB

この比較を具体化すると、

  • SIer
    • 旧態依然とした体質で、意味のない会議が多い
    • 変化が遅く、世界に取り残されている
    • 役に立たない資格を取らされる
    • やがて駆逐される運命だが、いまはとっても儲かっている
  • WEB
    • 日々変化と進歩を続けている
    • 働いている人に向上心がある
    • おしゃれな空間で、おしゃれな人たちが働いている
    • 自分の腕に自信を持っていて、自由を大切にする

といったところでしょうか。例えば「俺はこの数ヶ月ずっとエクセル方眼紙いじってるだけだぜ、SIer はクソ!」というツイートがあったとすると、それは次のような意味で言っています:

  • IT は本来、業務を効率化してナンボ
  • それにも関わらず、自分は Excel などという悪いツールを使い続けている
    • Excel は表計算のためのソフト
    • 今の仕事には Excel が適していない
  • これは業務改善を怠る SIer の業界風土によるものだ
    • 「みんなが Excel を使っているから」という理由だけで、SIer では表計算以外にも何でもかんでも使うハメになっている
    • SIer は古くて役に立たないものをずっと使い続けていてクソ
  • それに引き換え WEB は新しいツールを使ってドンドン業務を改善しているぞ
  • だから SIer はダサい!そして WEB はイケてる!!

おそらくみなさんが 「どうやら世の中には SIer/WEB という対立構造があるらしい」と感じたきっかけはこの比較でしょう。

なんでこんな話が繰り返されるのかというと(使命感を持って発信している人もいらっしゃいますが大部分は)コミュニケーションの手段です。分かりやすい敵を作って叩きたいんですよ。攻撃対象を「ムカつく上司」という個人から「会社/組織/業界」という抽象的な存在にすりかえることで、ストレス源を円滑にやりすごしているんです。

とはいえ、「ダサいかイケているか」という感情的な比較はぼくだったら受け入れられません……なので、パターン「⓪」として扱うことにしました。

パターン①:業務システム(BtoB) vs サービス(BtoC)

パターン⓪のような認識を得て、ちょっと調べだすと分かってくるのが次の比較です:

  • SIer は業務システムを作る
  • WEB はサービスを作る

これはなんというか「合ってます」。もっとも教科書的な説明がこれです。

ぼくも説明してみます。かなり乱暴な行論をしますが、分かりやすさ優先なので許してください🙏

SIer は BtoB で業務システムを作っている

100年前はにスマホもATMもありませんでした。パソコンもありません。

それでも、人々は日々仕事をしていました。役所では戸籍を管理するし、銀行では金を管理するし、レストランでは売り上げを管理してました。

そして月日は流れ、徐々にコンピュータやネットワーク(≒インターネット)が広がっていきます。すると、社会に次のような流れが起こります:

  • たくさんお金を持っている企業や組織が、業務効率化のために、高いお金を払ってコンピュータを導入する

つまり、初期の IT というのはいままで紙でやっていた仕事を、 デジタルに置き換える 仕事だったと言えます。一度デジタルに置き換えてしまえば、人間が手計算する必要はなくなるし、資料を書庫まで取りいく必要もありません。コンピュータは普及しておらず高価ですから、社内にコンピュータに詳しい人間はいません。

そこで、コンピュータに詳しい集団が会社となって、「おたくの業務を IT 化しますよ」という商売をします。

これが SIer の商売の流れです。まとめると、以下のようになります:

  • SIer は、IT を使って顧客の業務を効率化する
  • SIer の顧客は、「業務をやっている法人(しかも儲かっている)」
  • 上記の意味で、SIer は、BtoB(Business to Business。売る人も買う人も商売人) で業務システムを作る商売である

WEB は、BtoC でサービスを作っている

あるていど IT が普及すると、IT を利用するための端末を個人も持つようになります。なかでも圧倒的に普及したものが スマートフォン です。この記事を読んでいる人にとって、起きているあいだ触っている時間が最も長いのはスマホかもしれません。

スマホなどの個人向け端末が普及すると、次のような商売が生まれます:

  • 個人向け端末を通して利用してもらい、ユーザーから直接お金を払ってもらう

分かりやすい例として極端な話をしますと、「有料アダルトサイト」です。

ターゲットユーザーは、これまで書籍やVHS、DVDなどでアダルトコンテンツを消費してきた人です。こうした人たちが望んでいることは「書籍やVHS、DVDを買うこと」ではありません。「アダルトコンテンツを消費すること」です。であれば、お手持ちのスマホに素早くアダルトコンテンツを提供するほうが便利ですよね? こちらとしても在庫を抱えないで済むので安いコストで(→高利益で)商売ができます。

分かりやすい例として有料アダルトサイトを挙げましたが、だいたいどんなウェブサービスも、同じ発想です。

  • Amazon
    • ユーザーは商品が欲しい
    • 移動時間をかけてお店に行くのが好きなわけじゃない
    • スマホでポチっ注文!
  • メール、チャットツール(LINE、facebook、instagram)
    • ユーザーは連絡した
    • 紙とペンを買って手紙を書くのが好きなわけじゃない
    • スマホでポチっと連絡!
  • Youtube
    • ユーザーは番組が見たい
    • 時間と場所に縛られて箱(テレビ)を眺めるのが好きなわけじゃない
    • スマホでポチっと番組視聴

まとめると、以下のようになります:

  • WEB は、普及した IT 端末(≒スマホ)を使って生活を効率化する
  • WEB の顧客は、IT 端末(≒スマホ)を使うすべてのひと
  • 上記の意味で、WEB は BtoC(Business to Customer。売る人は商売人だけど買う人は一般人。八百屋とか) でサービスを作る商売である

注意:この分類の何がイカンのか

この説明を聞くと「 完全に理解した 」と感じることでしょう(感じなかった場合はぼくの説明が不十分です。@HrkPPOI2 まで質問をくれれば修正対応します)

しかし、満足して日常生活に戻ると、次のような疑問が発生します。

  • ホムペ作る仕事って SIer or WEB?
    • 居酒屋のホムペなら BtoB だから SIer ?
    • 個人のホムペなら WEB ?
    • え、同じもの作るのに SIer と WEB 変わるの?
  • WEBって「ウェブ」なのに「BtoC」って意味なの?
    • じゃあゲーム制作も BtoC だから WEB ?
    • 冷蔵庫も買うのは個人だから WEB?
    • あ、冷蔵庫の電子部品だけを作って冷蔵庫制作会社に売るんだから BtoC か
    • ってことは自社で全部冷蔵庫作る場合はやっぱり BtoC だから WEB?
  • 俺のなりたいイケてる Ruby on Rails エンジニアはどっちなの?
    • この分類ってイケてるかイケてないか関係なくない?

BtoB/BtoC という分類ではこれらの質問にうまく答えられません。

これらの疑問は「マジメに比較するなら」を読めば分かりますが、その前にもう2つのパターンを見ていきましょう。

いまから見ていく比較は、「なぜ SIer/WEB という対立構造が ダサい/イケてる という対立構造にすり替わるのか」という疑問に答えるためのものです。これまでの話と比べると少し専門的になりますが、より納得感が深まるはずですよ!

パターン②:開発規模 大 vs 小

BtoB/BtoC という教科書的な比較は、 ダサい/イケてる という雑談的な比較とかなりかけ離れています。この両者をつなぐのがこれから見ていく2つの業界傾向です。

  • SIer は開発規模が大きい / WEB は開発規模が小さい
  • SIer は外注する / WEB は道具を使う

まずは規模の大小から見ていきましょう。

SIer は開発規模が大きい

一般的に BtoB の商売は高単価です。それゆえ(以下の法則により) SIer の開発規模は自然と大きくなります。

第1法則 仕事の量は、完成のために与えられた時間をすべて満たすまで膨張する

第2法則 支出の額は、収入の額に達するまで膨張する

── パーキンソンの法則

後半は「予算があればあるだけ使っちゃう」という半分冗談な法則なのですが、この先では前半の なぜ高単価なのか という話を補足します。

たとえばチェーン居酒屋にタブレット注文機を置くことを考えます。タブレット注文機を作って従業員を減らせれば、次のようなコスト削減が見込めます:

  • 従業員の時給
  • 採用・教育コスト
  • 従業員にお金取られちゃう心配
  • Twitter でバカな書き込みをされるリスク
  • 従業員へのクレームに対してお客様のご自宅まで謝りに行く店長の時給

これだけのコスト削減が見込めると分かれば、チェーン店は100万円200万円を出し渋るなんてことはないわけですよ。

例えば有名レストランチェーンのサイゼリヤは、2012年に、店員が注文を取るための機械を iPod touch に換えました。もともとあった機械を変えたという話なので上の通りではありませんが、「いやはや儲かってますな〜」という気分は分かると思います👇

端末の保守費用などの経費を年間2億~3億円節減できるという。 https://www.nikkei.com/article/DGXNZO47077110Z01C12A0TJ1000/

まとめると SIer 型商売の基本構造は 儲かっている客から、高単価な開発の依頼を請けて作る ことになります。 単価が高い ということはそのまま コストをかけられる こととイコールですから、開発コスト = 人件費 = 開発規模が大きくなります。

WEB は開発規模が小さかった

SIer の始まりを話したので、WEB も始まりのころから話します。

分かりやすいように(これまで以上に)誇張して言いますが、WEB は一種の IT ドリームでした。

まず WEB は少人数での開発が主流でした。天才肌でバイタリティMAX な少数精鋭の若者たち、「イケてる奴ら」とでも呼びましょうか。漫画には天才ハッカーキャラが昼夜を忘れてプログラミングに熱中するシーンがありますが、あんな感じです。

そんなイケてる奴らが優れたアイディアと技術的新規性と圧倒的なハードワークで、あっという間にガガッと一儲けする(世界を変える)。そこで選ばれたフィールドが WEB サービスでした。

Google や Facebook といったイケてる先達がいたことも理由のひとつでしょうが、少人数開発が BtoC の WEBサービスを選ぶことには十分な実利がありました:

  • 多機能さがあまり求められない
    • 単機能でも便利なら OK
  • アイディアや UI/UX のほうが大事

既存の業務をシステム化する場合、細かな業務ルールを挙げていくとキリがなく、お客様のご要望とあらば応えなくてはなりません。これに対して WEB サービスを作る場合、どれくらいの機能を盛り込むかは、開発者自身で決めることができます。顧客がはじめからいるわけではないので、1人なら1人で、2人なら2人でできるものを作れば良いだけです。

また、「とりあえず作って公開して、続きは後で付け足す」ということも WEB サービスだと比較的かんたんにできます。

一方で、BtoC の WEB サービスが小規模開発にならざるを得ない面もあります:

  • 作るまで売り上げの目処が立たない
    • 無駄骨になるリスク
    • 頼まれたものを作れば確実に儲かる
  • 費用のほとんどが人件費
    • 大企業・大規模開発にとってはイタい
    • これから起業する小規模会社にとってはあまりイタくない

WEB サービスは売り上げの見込みが不透明なまま作り始めます。居酒屋チェーン店から依頼を受けてタブレット注文機を作るのとは違います。WEBサービスは作る段階で顧客がおらず、作って便利だったら初めて顧客が発生するからです。

そうなった場合に、既存の企業が何十人ものエンジニアに給料を払いながら WEB サービスを開発させることはかなり難しいことが想像できると思います。反面、イケてる奴らは自分たちのアイディアを信じていますから、売り上げが立たなくても数ヶ月間ガムシャラにがんばれることでしょう。

この比較はなくなりつつある

開発規模の大小という比較は、徐々に成り立たなくなってきています。

片野:元々LINEにいるエンジニアの多くは新しい技術が好きで、まだ世の中にない何かを生み出すことに対するモチベーションが高い人材が多いです。もちろん、こうしたエンジニアも必要なのですが、いわゆる「0→1」でサービスを立ち上げだけではビジネスは成長しません。

https://zine.qiita.com/job-offer/line-growth-technology/

WEBサービスは「作ったあとにユーザーがお金を払うかどうかを決める」小規模開発から始まりがちですが、儲かれば当然大きくなります。

銀行やら自動車エンジンのシステムに比べれば小規模でしょうし、小さな開発も残ると思います。ただ、市場の傾向としては WEB サービスの標準的な開発規模はさらに大規模化していくんじゃないかな〜と思っています。

そう思う理由ですが、ごく小規模な WEB 開発なら「制作会社に依頼しなくても自分で作れる」ようになるはずだからです。

いまでもブログサービスはもちろん、Wix やペライチといったホムペ作成サービスがあります。こうしたサービスが高度化していくことで、つまり、WEBサービスの作成過程そのものをシステム化・サービス化することで、比較的単純な WEB サービスは「WEBサービス作成サービス」を使ってできるようになっちゃうということです。

これはホムペ作成だけではなくて、確定申告や登記を半自動でやってくれるサービスはありますし、今後ますます普及していくでしょう。IT 業界の未来に興味のあるかたは Amazon で「エストニア」とか検索すると面白いと思います。エストニアはなんでもかんでも IT で自動でできるらしいですよ。

パターン③:複雑性への対応 外注 vs 道具(外部サービス・新規技術)

ダサいSIer/イケてるWEB という比較が生まれる背景のもうひとつが、 複雑性への対応方法の違い です。

プログラムというのはとっても複雑です。

プログラミングを始めたばかりのかたであれば、プログラムというのはせいぜい数十行〜数百行のイメージでしょう。しかし、実際に稼働するプログラムを作成する場合、数百行で済むプログラムというのはかなり少なく、数千、数万、場合によっては数百万行*1のプログラムが書かれます。

基本的な部分では SIer/WEB の違いはなく、 抽象化 によって複雑性に対応します。

抽象化とは 細かいことを考えずに使えるようにする ことで、もうすこし付け加えると、 仕組み(what) を理解しなくても 使い方(how) が分かるように工夫するということです。これは普段の生活でも馴染みのある考えかたなので、具体例を挙げればすぐにイメージできるでしょう:

  • ゲームの説明書を読まなくても、「⭕️」ボタンを押したらパンチしそうで、「❌」ボタンを押したらジャンプしそうだと分かる。
  • テレビの説明書を読まなくても、「▶️」ボタンを押したらスイッチが入りそうだと分かる
  • 初めて使うアプリでも、なんとなく使い方が分かる
  • バイトや部活の先輩の名前が思い出せなくても、とりあえず「先輩」と呼んで丁寧に喋っておけば失礼にならない

システム開発においてもはこの 抽象化 を駆使して見かけの複雑性を下げることが必要ですが、SIer と WEB ではその手段に違いがあります。

SIer では分業して外注する

多くの場合、SIer では全ての仕事を自社の人間で完結させず、 他社と分業して外注 します。

金融業務のシステム化を例に考えてみましょうか。やらなければいけないことは、大きく分けると2つになります。

  • 「金融業務とは何か。何が問題で、どうシステム化すべきなのか?」を検討する
  • 検討した案を実際に作る

これはどちらもクソ大変な作業です。

ぼくらユーザーは「引き出せば金が減って、預ければ金が増えるんだろう」くらいのフワッとした認識で利用できますが、これをシステム化するためには、すべての状況を想定して、それぞれの状況ごとの処理を決める必要があります。場合によっては「◯◯のときどうなるのか?」について銀行員同士で意見が割れることだってあるでしょう。規則と慣習が食い違うこともあります。しかも銀行システムが止まったら一大事ですから、ちょっとやそっとでシステムが止まらないように何重にも保険をかける必要があります。

このクソ大変な状況に対してどう対処するのかというと、分業と外注を使います。例えば、銀行からシステム開発の依頼を受けた会社が、どんなシステムを作るのかを検討し(コンサルティング)、実際に手を動かして開発する作業自体は外注します。

こうすることで、「コンサルティング」と「開発」を分けることができました。コンサルティング側の会社は Java だの PHP だのの詳細を熟知する必要がなくなりますし、開発側の会社もまた金融業界のしきたりを熟知することがなくなりますんで win-win です。

場合によってはさらに、「開発」側の会社側で、

  • どのようにシステムを構築するのかといった設計書を作る会社
  • 設計書をもとにプログラムを書く会社
  • 書かれたプログラムが正しく動くことを検証する会社

というように細かく分業と外注を繰り返すこともあります。

このような業界構造自体は個人的に好きです。日本では正社員を解雇することが非常に難しいですし、1人の人間や1つのチームがすべてを熟知することはできません(解雇しにくいことが、採用しにくいことにもつながっていると思います)。「必要なときだけ仕事を任せる」「能力とやる気のある人間をプロジェクトメンバーに選ぶ」といった目的を叶えるためにも分業して外注するのが合理的です。

しかしこの分業&外注が形骸化することで、外注して請けた仕事をさらに外注する多重下請け構造が発生し、本来得られる額よりも安価な単価で開発者が働くといった問題も出ています。……なのですが、とにかくこの業界は転職しやすいので、不当に安価だと思っても転職できますからね。「中抜きするだけの悪徳会社」がもしあるとすれば、そのうち従業員が誰もいなくなって潰れるでしょう。

あくまでもこの記事は SIer/WEB の比較記事であって、多重下請け構造の是非を知りたい人宛には書いていません。ただ、おそらくこの比較を知りたい皆さんはこうした話をどこかで聞いたことがあるはずだと思い、その背後にある仕組みを説明しようと思って記載しました。

WEB は外部サービス(や新規技術)を使う

開発対象の複雑性に対して、 WEB もおおむね SIer と同じように対応します。「ここからここまでを自分たちでやる/ここから先は自分たちでやらない」という区別を行います。

このとき違いは何かというと、外注する先が開発者ではなく道具( サービスや新規技術)だということです。

例えば、WEB サービスを稼働するためのプログラムを書いた場合、そのプログラムを実行するためのコンピュータが必要です。 SIer 型の発想であればどのようなコンピュータが必要であるかを検討し、そのコンピュータの用意を外注します。これに対して WEB の場合、WEB サービスを稼働させるためのコンピュータをネット上提供してくれるサービスがすでにあるので、そのサービスを利用します。他にも、

  • データを入れておき、取り出す機能
  • ログイン機能
  • SNS との連携機能
  • 決済機能

など、たくさんの「よく使う機能」があります。

これらの機能は毎度毎度作らなくてもいいように、どこかの会社があらかじめ作り込んでおき、サービスとして提供してくれます。サービス以外にもよく使うプログラム部品をまとめたものが「ライブラリ」や「フレームワーク」として世に出ているので、それらを活用することもあります。こうした道具を活用することで、道具の「使いかた」を理解すれば仕組みを気にせず(複雑性を下げて)仕事を進めることができるようになります。

どっちがいいのか?

分業&外注と、道具の利用、そのどちらにも利点があるから併存しています。

「道具」のほうが分かりやすいのでこっちを軸に説明しますと、道具は以下の損益を天秤にかけなければなりません:

  • 使うことで得られる便利さ
  • 学習コスト

この業界では日夜次々に新しい道具が生まれています。最先端のは派手なので「いろんな道具を駆使する WEB は素晴らしい!」という印象を持たれることも多いようです。

しかし、「◯◯を使えばコマンド一発、1分でできる!」道具があったとして、この道具の習得に10時間かかるなら、最初の一発が終わるまでの時間は 10時間1分 です。もちろん道具の種類が少なく何度も使うなら習得した方がいいでしょうが、「道具の使いかたを調べるのに時間がかかって肝心の作業が進まない」という問題もあります。

こうした「高機能な道具」への反動として、「単機能の道具」も作られています。例えば Google の開発したプログラミング言語 Go は、これまでメジャーだったプロググラミング言語の機能の一部をあえて削っています。機能を限定し、習得コストを下げることで、より短期間で作るべきものを作る段階に移行できるようになるということです。

こうした新言語や新ツールを発見するとぼくは「素晴らしい!みんなこれ使えばいいのに!どれどれ……」と調べ初めてしまい、結局「道具を延々と調べる」問題は解決されないどころか深刻化してしまいます……。

この比較はなくなりつつある……?

ぼくは SIer 型の開発をしたことがないのでなんとも言えません…💦

どなたか良い1次ソースをご存知でしたら教えてください。更新します🙏🙏🙏

完全な主観ですが、SIer でもサービスを利用してシステムを組み立てるようになってきてるんじゃないですかね?(いきなり適当)

マジメに比較するなら

ここまで、 よくある比較 を見てきました。

ですが、現実にはどれも苦しいというか、必ずしもそうとは言い切れないところが多々あります。

そこでこれから考えかたを変えて、「こう捉えればうまくいく」という提案をしたいと思います。

SIer/WEB の用語の本来の意味

SIer

SIerSystem Integrator の略語です。

integrateif two or more things integrate, or if you integrate them, they combine or work together in a way that makes something more effective *2なので、 うまくいくようにくっつける、統合する とかそういう意味です。

バラバラの情報をひとまとめにして有効活用してくれる人ってことなのですが、もうちょっと具体的な話として、Wikipedia を見てみます(太字は引用者)。

情報システムにおける元々のシステム・インテグレーターは、 複数のベンダから汎用のパッケージソフトウェアやハードウェアなどの完成品を購入して、1つのシステムとして矛盾なく、効果が出るように組み立て、統合する事業に特化した企業 のことを言う。あえて説明すれば水平分業的である。付加価値再販業者を名乗ることもある。

少し補足すると、通常会話レベルでの SIer は、次の 1. 〜 3. の全ての意味で使われているように感じます:

  1. 上記引用の通り、システムインテグレーターとしての事業を行う企業(狭義の SIer)
  2. 1. に加えて、 1. の企業から仕事を請けて設計や開発を行う企業
    • この企業からさらに仕事を請ける企業や、さらにそこから仕事を請ける企業……と続く
  3. 1.2. に加えて、 1.2. の存在を前提とした、ピラミッド構造な業界の仕組み(広義の SIer)

おおよそこれまで解説してきた内容の通りですね。

SIer であるかどうかは 何を作るか によって決まるのではなく どのように作るのか によって決まります。

WEB

WEBWEBサービス の略…というかそのものです。みなさんはふだん iPhone の safari でいろんなホムペを見ていると思います:

  • ニュースサイト
  • 辞書サイト
  • 台風情報
  • 企業の採用ページ

こうした safari ごしに見るページのことを WEBサイトWEBサービス などと言います。こうした WEB サービスを作る商売のことを「WEB」と呼んでいます。

WEB というと「ホームページ制作」をイメージするかたもいるかもしれません。確かにそうっちゃそうなんですよ。ホムペ制作も WEB です。

ただ、SIer と比較する時の WEB はプログラムありきのシステム開発の話というイメージをぼくが勝手に持っているので、この比較の文脈からは外しました。あまり深い意味はありません。

How と What を比べていたからおかしなことになっていた

これでチグハグさに気づいたでしょうか。

SIer というのは「業務をどのようにシステム化するのか」という商売の方法(How)に焦点のあたった用語です。これに対して WEB は、「WEB アプリケーション作成」という作るシステムの種類(What)に焦点のあたった用語です。

つまりぼくらは「Aという作りかた」と「Xという成果物」という本来比べられないもの同士に、ムリヤリ対立構造を作っているんです。

幸か不幸か、その対立構造でそれなりに筋が通ってしまってい、日常会話でもふんわりと使えるようになりました。対立構造自体があいまいだからこそ、話も広がりやすく、酒の肴になるし、コミュニケーションツールにもなります(その一方で過剰に煽ったり攻撃したりする人も出てきますが)。

スマホアプリ作成は WEB なの?→WEB「系」です

最近は徐々に WEB サイト を見る機会は減っているかもしれません。

何か情報が欲しい場合は、WEB サイトではなくスマホ アプリ を利用するのではないでしょうか? WEB サイトは検索して見つける必要がありますが、アプリならタップ一発で見たいものを見ることができますものね。

では、スマホアプリ作成は WEB なんでしょうか? これが非常に悩ましい質問ですが、答えるとすると次のようになります。

  1. Yes の場合と No の場合がある
  2. No の場合も、広い意味での WEB と捉えて日常会話では「WEB系」と呼ぶことが多い

まず 1. について。WEB サービスを構成するプログラミング言語は多岐に渡ります。おおよそどんな言語でも WEB サービスを開発できますが、特に「WEBサービスの鉄板」言語があります:

  • HTML
  • CSS
  • Javascript

これらの言語だけでもスマホアプリを作ることができるため、この場合は胸を張って「WEBです!」と言っていいような気がします。

また 2. について、仮にこれらの言語を使わない場合であっても、WEB サービスもスマホアプリもなんというか同じような雰囲気の人たちが開発していることが多いので、まとめて「WEB系」とひとまとめにすることがあります。

繰り返し言っているようにそもそもあいまいな比較から生まれた言葉なので WEBWEB系 で言葉を使い分けることはないはずだし、「いや、そもそも WEB/WEB系 の区別なんてない」「その WEB/WEB系の区別は間違っている!なぜなら〜」と反論したいかたも多いと思います ── 結局、こういう「突っ込みどころ」の多さこそ、いつまでも結論を出さずに雑談を続けることができるいいところでもあるわけですよ!

「マトリクス図」だといい感じに整理できる

ここまでの話で、SIer/WEB という比較には、以下の2つがあることが分かりました。

比較のしかた しかし…
厳密な意味での違い 軸がずれていて比較できない
一般論的な比較 不正確

「うまいことこれを視覚的に整理できないかな〜」としばらく悩んでいたところ、二軸思考を思い出して、次のようなマトリクス図にまとめてみました:

f:id:HrkPPOI:20191026145508p:plain

これがぼくのなかでは一番しっくりくると思うのですが、どうでしょうか?

まず表の SIer? WEB? は、次のように厳密な用語での比較をしていると考えてください。

  • SIer ?
    • YES : 企業や公共団体などの組織から依頼を受けて、分業と外注を駆使して巨大なシステムを開発する
    • NO : 一般人が利用するシステムを自社で直接開発し、届ける
  • WEB ?
    • YES : WEB サイトや WEB サービスを開発する
    • NO : 上記以外のものを開発する

そして いわゆる◯◯ とは、雑談で見聞きする SIer WEB のことを指すと考えてください。

  • いわゆる SIer
    • 企業や公共団体などの組織から依頼を受けて、分業と外注を駆使して巨大なシステムを開発する働きかた
    • 作っているものが何なのかはあまり関係ない
  • いわゆる WEB
    • 一般人が利用するシステムを自社で直接開発し、届ける働きかた
    • 作っているものは WEB サイト/WEB サービス限定
    • WEB サイト/WEB サービス以外のものを作っていても「WEB系」としてまとめられることはある

これでだいぶスッキリしましたかね!

別な軸で比較しよう

ここまでで SIer/WEB について、雑談レベルでの比較と、厳密な比較をそれぞれ見てきました。

想像していたよりも白黒ハッキリしないというか、「こんな指標で比べていいんだろうか」と疑問に思ったかもしれません。

そこでご提案ですが、 SIer/WEB という軸ではなく、別な軸によって比較をしてみてはいかがでしょう?

希望する働きかたに近いものを見つけられると思います!

以下では、外形的に判断できる ビジネスモデル軸 と、抽象的で精神論的な 価値観軸 を紹介します。

ビジネスモデル軸

IT 業界のビジネスモデルは、大きく以下の3つに分かれます。

  • 自社開発
  • 受託
  • SES(System Engineering Service)

自社開発 は、自分たちでサービスを作って顧客に直接提供するビジネスモデルです。細かく言えば広告収入で儲けたり月額課金で儲けたりといろいろありますが、そこはいったん置いときましょう。

自社開発 でないビジネスモデルはさらに2つに分かれて、それが 受託SES です。

受託 は、顧客から直接システム開発の依頼を受けて製作するビジネスモデルです。例えばあなたがホムペを作れるようになって、友人の花屋のホムペを作成すれば、それは受託開発となります。

これに対して SES は、顧客からシステム開発の依頼を受けた会社に対して、技術提供するビジネスモデルです。例えばあなたが、先ほどの花屋ホムペ製作時に、人手が足りないとします。このとき友人が手伝ってくれれば友人は SES をやったことになります。このとき友人はあなたに対して、システムを作る(エンジニアリングする)サービスを提供しています。なので、System Engineering Service、縮めて SES となります。

これらの用語は就職/転職活動や面接でそのまま使えますので、ぜひご自身でも調査してみてください!

近年話題大盛り上がりのフリーランスは、多くが SES です。

もちろん SES ではなく自社開発や受託開発の場合もありますが、その場合ニュアンスとしては起業に近い印象です*3。ただし、個人であってもコネや評判で開発を受託するかたや、自社開発をしちゃうかたもいます。

働きかたが多様すぎて意味不明ですよね。たぶん今後もっと意味不明になっていくと思います。楽しみですね!

価値観軸(ポエム)

ポエムと思って聞いてください。

あなたには IT 業界で是非とも成し遂げたい夢がありますか?

ぼくにはありません。ぼくを含めて多くの人にとって、「何をするか(do)」よりも「どんな気分でいるか(be)」のほうが大事なのではないでしょうか?(もし大事なのが do だとすると、転職の理由は配置転換や部署異動のはずですが、実際はだいたい人間関係じゃないですか?)

そして、どんな気分で働くか(be)を左右するのは、事業内容やビジネスモデル以上に、 そこにどんな人たちがいるか ではないでしょうか?

ぼくは IT 業界に来て 3 年目で、2 年目から業務委託、3 年目の今年に契約先会社を変えました。2社目ですが、1社目とほとんど同じ仕事をしています。しかし、ぼくの気分(be)はぜんぜん違います。寛容な人たちに囲まれて、とても生きるのが楽になっているのを感じます。

もちろん SIer/WEB という軸や、自社開発/受託/SES という軸を捨てる必要はありません。ただ、IT 業界を目指すひとたちはちょっと過剰に do にこだわっているように見えることもあります。そこで働く人たちがどんな人たちで、どんな価値観で働いていて、その人たちと雑談すると自分がどんな気持ちになれそうかを想像することを忘れないでほしいところです。

このご時世、採用したがっている企業の多くは「会いたい」と言えば会ってくれます(たぶん)。ホムペやら情報サイトやらといった二次情報でなく、直接会って話をして一次情報と直観をもとに判断すると案外うまくいくと思いますよ!

情報を差し引きしよう!!

ここまで長々と書いてきましたが、この記事のゴールを再確認しておきます。

  • WEB と SIer の関係を「対立関係」ではなく「マトリクス関係」で捉え直す
  • ネットの意見の偏りを「差し引き」して受け取れるようになる

ぼくはこの記事の想定読者を「 20 〜 25 歳で、IT 業界については最近興味を持って、ネットでアレコレ情報収集しているあいだにこの記事に行き着いた」人に設定しています。

そして、この年代のかたの多くはまだ、「人の意見は偏っていない」と無意識に思い込んでいるんじゃないでしょうか。例えば、「アイツは偏っている!」と思ったことはありませんか? もし思ったことがあるなら、あなたは「普通の人は偏っていない」という無意識の前提を持っているということです。

意見や思考の偏り自体は人間が普遍的に持っているものなので、良いも悪いもありません。大切なのはその先で、自分を含めて「人の意見は偏っている」ことを自覚し、偏りをうまく差し引きしながら他人の意見を見聞きすることです。

SIer にせよ WEB にせよ、IT 業界にせよ日本社会にせよ、何か意見が述べられる時、その意見は偏っています。

それを良いと言う人も悪いと言う人も、あなたを騙そうとしていることもあるっちゃあるかもしれませんが、大体の場合は本心で言っています(そう信じたいなあ)。もちろんぼくの意見も偏りまくっています。

ぜひ「◯◯ よりも ×× が優れている」と聞いたら、

  • ではなぜ◯◯がなくならないのか?
  • ではなぜ ×× を選ばない人がいるのか?
  • では ◯◯ を選んだ人はみな強制されているのか?
  • 反対意見はないのか?
  • なんでそんな主張をしたいと思ったのか?
    • あなたに利益があるの?
    • 反対意見を目にしたことがあるからではないの?

と疑問を持ちながら情報を差し引きしてください!

もし「情報を差し引きしたほうがいい」のが本当なのだとしたら、なぜ情報を差し引きしない人がいるんでしょうか? 情報を差し引きしたほうがいいのは本当でしょうか? 情報を差し引きせずに、相手の言っていることをそのまま受け取ったほうがいい場面はないんでしょうか? なぜぼくは「情報は偏っている」「差し引きすべき」などというんでしょうか? そう主張することでぼくに利益がある? 反対意見を目にしたことがある?

etc...

この記事が役に立ったら…

もともとこの記事は何度か SES/SIer の違いを聞かれたことがきっかけで書きました。

ちょっとした解説記事になるつもりだったんですが、「これって結構『?』って思ってる人いるよな〜、みんな説明してくれないからな〜」とか思っているうちに記事が膨れ上がり、 約2万字の超大作 となってしまいました。

ぼくは SIer の新人研修講師なので、このブログは趣味でやっていて「この記事が役に立ったら◯◯に課金してください」的なものはとくにありません。

しかし、気づけは8時間以上この記事を書いていて、何か欲しい……。

そこで、もしお役に立ったら、以下のものでも買ってください!ぼくに Amazon アフィリエイト収入が入ります!!笑

この記事を書いた当時のオススメ漫画

オススメ漫画を紹介します。挙げてみて気付きましたが、どの漫画も 天才型主人公が超努力する 系漫画で、かつ、努力するジャンル(ハッキング・サッカー・音楽)の漫画として読んで超面白いです。

王様たちのヴァイキング

王様達のヴァイキング

王様達のヴァイキング

2019年現在最高の「天才ハッカー系漫画」です。めちゃくちゃイケてます。技術的に詳しい人が書いているのか設定協力がいるのか、僕が読んでいて「こんなわけないだろ〜」とシラけることはまったくありませんでした。

既刊19巻で 完結してます 。2日か3日で全部読んだ!笑

アオアシ

2019年現在最高のサッカー漫画です。めちゃくちゃイケてます。マガジン連載の『DAYS』と比べると頭脳戦っぽい感じで、にわかサッカーファンになりそうです(サッカー観ませんが)。

既刊17巻、18巻がもうすぐ出ます!

BLUE GIANT

2019年現在最高の音楽漫画です。めちゃくちゃイケてます。青春です。読んでいるだけで音が聴こえてきます。そして泣けます。上2つも泣けますが特に泣けます。

第一期が10巻完結、第二期が既刊8巻でもうすぐ9巻が出ます!

おすすめ技術書

全部ではないですが、読んだ技術書をときどきまとめています。とくに『なぜ〜』シリーズは買って損のない鉄板書だと思いますのでこの機会にどうぞ!

www.arute.me www.arute.me

*1:『ソフトウェア開発データ白書 2016-2017』p.59 図表4-8-8。行数を語ることにあまり意味はないと思いますが、初学者のかたに「大規模開発」をイメージしていただくためにこのような数字を使いました。

*2:ロングマン英英辞典

*3:法人化していなければ言葉の定義上フリーランスになるはずですけどね