私は新卒以降、複数の toB 向けプロジェクト・toC 向けアプリ開発を担当してきました。
これまでの経験を振り返り、100%断言できるのは、エンジニアとして成長したいなら toB 向けの開発よりも toC 向けの方が良い、ということです。
理由を述べます。
toB 向けの業務知識は転職したら何の役にも立たない
業務システムでは、顧客の業務について膨大な学習が必要です。
たとえば証券システムの開発では、システム知識よりも証券の仕組みであったり、東京証券取引所のデータ配信仕様を覚えたりしなければならず、技術知識の習得よりも業務知識の習得に多大なる手間がかかります。
業務知識は体系的にまとめられた書籍やサイトが存在しないため、社内の糞わかりづらい資料を読み解く必要があり、ものすごく非効率です。 最悪の場合、いちいち口頭で知識を伝授してもらわなければいけません。
あまりにも業務知識習得の難易度が高く、そして効率が悪いため、SIer では入社してから 3 年くらいは戦力にもなれません。 雑用が主な業務になります。
ウェブ系の企業に転職する場合でも、toB 向けの開発は辞めておきましょう。
たとえばエムスリーのような会社で医療システムを開発する人は医療に関する法律であったり、慣習に精通していなければなりません。
そんな慣習を苦労して学んでも、転職したら 1 ミリも役に立ちません。何も意味がありません。業務知識はキャリアにおいて無駄が多すぎるのです。
こういうことを書くと、苦労して業務知識を学んだ人が「無駄なんてない!証券知識を得られて、金融に詳しくなった」みたいに反論してくるかもしれません。
じゃあお前、その学んだ知識で証券の営業に転職できんのか?銀行員になれるのか?なりたいのか?
医師法学んで弁護士になれるか?医者になれるか?転職先で医師法使うのか?
使わないですよね。無駄無駄無駄無駄。全部無駄です。100 学んで 1 しか役に立ちません。
結論、toB 向けのシステムで、業務知識が複雑なものには関わらないのが良いです。人生の無駄です。
同じ給料なら絶対に toC 向けの開発で、給料が 2 倍なら渋々 toB でもいいかと思います。
それでも業務ドメインが複雑なものは避けましょう。 キャッチアップが非常に辛いですし、古い業務システムはだいたい技術的負債まみれで目も当てられない状況になっているので、読むと具合が悪くなります。
toB 向けのシステムは責任が重く、辛い
どっかの会社からお金をもらってシステムを提供しているのですから、toB 向けはとにかく責任が重いです。
顧客に迷惑をかけないように、リリースは金曜の夜中に行いますし、障害が発生したら夜中でも対応します。
顧客には色々と怒られるし、クソ面倒くさい報告書を書かされます。
こんな仕事にやりがいなどないです。誰か他の人にやらせましょう。自分のキャリアでやる必要はないです。
もちろん、責任が重くて辛くても、給料が高いなら全然問題ないでしょう。
でも、責任が重く複雑で面倒くさいシステムを開発して儲かるのは会社であって、従業員ではありません。
ここ、本当に重要です。起業するなら面倒くさい toB 向けのシステムの方が絶対良いですが、雇われエンジニアとして会社で働くなら、toB は割に合わない、ということです。
複雑で面倒くさいシステムを担当しても給料変わらないですから。
同じ給料なら絶対に toC 向けがいいです。
toB 向けのシステムは変更できないから技術的に成長しない
toB 向けのシステムは容易に変更できません。変更によって問題が発生したらものすごく怒られるからです。責任を取らされるからです。
顧客は色々と要求してきますが、「今ある機能」を変更することを嫌がります。
顧客企業にも一定数のアホがいます。
アホはとにかく勉強したくないし、学びたくないのです。いまのやり方を変えたくないのです。
だから、アホが使っている機能は削れず、かといって機能追加の要求も無下にはできず、幕の内弁当のようなシステムができあがります。
顧客にアホジジイは合わせて古臭い UI に最適化されており、今どきの UI を理解できません。なので、ジジイが朽ち果てるまでレガシーは残り続けます。
何か新しい機能を作るのに、アホ向けに形式的な資料を提出する仕事もあります。アホのお守りが多すぎるのです。
アホは顧客だけでなく、社内にもいます。
現場を全く知らないが評価だけしたい偉そうなアホのために作られた役に立たない「○○ 設計書」「○○ 報告書」が SIer にはたくさんあります。開発するときには全く役に立たないゴミです。
toB 向けは「経営者」として参加すべき
toB システムはクソですが、ではなんで世の中にこんなにたくさんの toB 案件があるかというと、toB の方が儲かるからです。
経営者としてなら、積極的に toB に手を出すべきです。企業からぼったくるのが勝利の道です。 システム音痴の会社からたくさんお金を払ってもらいましょう。
ベンダーロックインというように、複雑な業務システムは乗り換えが難しいのです。 顧客企業と癒着して、永続的にお金を落としてもらいましょう。
従業員として参加するなら、toB にメリットはありません。 転職先で toB を選ぶのはあまりに思慮が浅いと言わざるを得ません。
責任の重さと技術的な成長は全く別物です。 責任が重い金融システムを作ったからといって、技術的には成長しません。
むしろ責任が足かせとなって、とにかく「実績のある」古い技術から脱却できません。
できるだけ責任が軽い分野の toC 向けの開発に参加しましょう。
YMYL を避けるのは SEO に限らず、職場選びでも同様です。
ちなみに YMYL とは YourMoneyYourLife の略で直訳で、「あなたのお金と人生」で、将来の幸福、健康、金融など、人々のお金や人生に影響を与える領域を指します。
YMYL は責任が重くなるので避けましょう。
【IT・WEB エンジニア向け】おすすめ転職サイト|各サイトのメリット・デメリットを年収 1000 万超の現役エンジニアが徹底解説
toC 向けは給料が安い?
そんなことはありません。 単純化はできませんが、メルカリや LINE は給料が高いですよね(LINE は toB 向けの機能もありますが)
年収が高くて、toC 向けのシステムを扱っている会社は必ずあります。
転職活動では正直、「toB がいいか、toC がいいか」を意識する人はそれほどいないでしょう。
ですが、私としては「toC 向けであること」は非常に重要で、限られた時間をどれだけ有効に使えるか、に大きく関わってくると思っています。
同じ時間を費やすなら、市場価値が高いスキルが身につけられて、顧客に怒られることもなく、意味不明な資料作りに忙殺されることもない環境で働けた方が絶対良いでしょう。
いま、くだらない toB 向けシステムを作っているなら、転職を検討してください。
というか、検討ばかりしていると岸田首相のようになってしまうので、さっさと行動した方がいいです。