渡るネットは嘘ばかり

元文系、米国大学院CS修士号持ちITエンジニア。自称エンジニアが撒き散らすゴミを少しでもキレイにしたい

バズった後はつらいやつ2

F5

後半です。主にバズった記事のフィードバックやら言い忘れたり後で気付いた話です。

前回まえがき長くなり、分割しました。

masa-lab.hateblo.jp

前回の振り返り

前回の記事ですが、突然、更新するたびに1000位アクセスが増える感じになって震えました。1日で数万とか。え、燃えたの?あんなに長い文章が?と…。と言っても、表面積分火は付きやすいのか。2日程度エゴサーチしましたが、それなりに好意的な意見中心で安心はしました。

突然現れる燃える人

本来怒るべきだった人

それにしても、あれだけネタとか言葉遊び入れてもキレてると感じる人がいるものなんですね。正直、この数年、呆れることは多くても、怒ることはほとんどないです。なんと言うか、軽く諦めていて、他人に期待して失望するより、期待せずに当たり前を当たり前にできる人に喜んだ方がストレス少ないかな、と。

仕事を依頼したクライアント

まず、1番怒るべきは、R氏に仕事を依頼したことのあるクライアントですね。正直、クライアントをバカにしてるようにしか思えませんでした。かのブログはクライアント目線で見ると、全体的に「粗悪品を高く売って稼いでる」話に見えます。本来の実力に乖離した額が努力せず稼げます、たった2年のJavaの経験でも1000万狙えます、ノー勉、ググるだけの経験積めば稼ぐのに大した技術力要りません、そうフリーランスならね!的な。普通の感覚では、安くて質の悪いものを大量に売って稼ぐ薄利多売か、少量でも質の良いもので利益率上げるかみたいな話になりますが、質の悪いものを高く売るって…。もう、思想が詐欺そのものですよね。渡したものと受け取るものがズレてるのを気付いても指摘しない、というのは一種の釣り銭泥棒感もあります。

「100円のコーラを1000円で売る方法」という本があります。マーケティングの本ですが、その中で、「顧客満足の式」というのがあって、

顧客満足 = 顧客が感じた価値 - 事前期待値

とのことで。事前期待値はフリーランスではやってもらう予定の仕事内容ですね。R氏の感覚だと、依頼された仕事をググりながらでも無難にこなしたら100点で顧客は満足すると思っているかも知れませんが、それは事前期待値と一致しているので、100-100=0点ですね…。他の人に依頼しても基本的に達成される水準でしょう。盛り癖ありそうなブログですが、それでもExtraの価値を提供した感じの話は見られなかったので、「やるべきこと」しかやってないのでは。3ヶ月で仕事変えても、そこまで強い引き止めはなさそうな雰囲気。本当に価値を感じたら、単価上げて延長交渉しても引き止めたいですよね。クライアントの金額的に、技術を磨いている優秀な、現場で見本になるようなエンジニアを期待していると思います。流石に、仕事外で何も学びを得ようとしていない人間を月単価80万とか以上出したい会社はないですよね…。

www.kadokawa.co.jp

ちなみに、100円のコーラシリーズは3巻まで出ていますが、エンジニアでも、特にフリーランスの方は学びが多いと思うし、1日かからずに読めるくらいの情報の圧縮量(最近、抽象度が高いほど情報が圧縮されていると考えるようになりました=数学は究極の抽象化で最大の圧縮率)なので、是非読んでみて下さい。小説仕立てなので、読みやすく学びも多いです。

真面目にやってるフリーランスエンジニア

次に迷惑に感じるはずなのは同業のフリーランスですよね。真面目にやってるフリーランスの方が多いと思います。業務中で勉強時間が最低限しか確保できないので、当然、自宅で勉強したり、勉強会に参加して、社内共有という会社員の特権で得られないノリッジ共有部分を埋めたりしてると思います。

そもそもの話、フリーランスに向いているのは、自律できて独習できる、要は自分を厳しく律せられて一人でも成長できる人間なので、インフルエンサー達が引き込んでいるフリーランス希望者のターゲットは全くフリーランスに向いていないと思います。

で、R氏のような人に「フリーランスエンジニアの代表」みたいな振る舞いをされると、風評被害ではありませんが、やってられないですよね。フリーランスは大した実力がなくても稼げる仕事です。努力しません、勉強しません。ググるだけです。でも稼げます。重要な場に立ち会う責任もないんです…ファーー???!と言う感じです。

実際、twitterのタイムラインでフリーランスの仕事減ってる、単価下がってる的な投稿がチラホラ見えました。まぁ、インフルエンサーの薦めで素人に毛が生えた程度のフリーランスが量産されてしまったら、とんずらとかも増えるだろうし、フリーランス全体の信頼は下がりますよね…。そこにフリーランスエンジニアの代表的に振る舞うインフルエンサー自体が目を疑う発言を連発しているという…。覚悟して職業勇者を選んだら、勇者は楽できるらしいぞ、とそこら中の民家に入って棚とかツボから物を盗む自称勇者だらけになった、的な。

少し話ズレますが、フリーランスのサイト見たら、大抵の高額の仕事は複数の提案が出てましたけど、プログラミングスクール上がりの初心者とか採用されるんですかね?フリーランス年収出してるサイトも調べ方がよくわからない。あれは全部3ヶ月案件ならその3ヶ月後の案件繋いで、の合計額なのか、月100万の案件を一回取って、その後の記録ないと1200万で換算されるのか(普通はその人年収100x募集の期間ですよね)。

読書や勉強会、努力の話

無料

これに関しては冷静になると、インフルエンサーの信者に現実を見せたくないんだろうな、という感覚。ほとんどのエンジニアのキャリア形成の本とかは努力が前提になっていますしね。会社の成長というのは社員の成長と直結します。だからこそ、社員教育にお金や時間を使いますし、会社としては努力して成長してくれる社員を好むわけです。プロなのに、成長のための勉強をしないというのはたちの悪いジョークとしか思えません。努力や成長を考えないのは、お金もらってるアマチュアでは。短期バイトとか趣味じゃないんだから。

techbeacon.com

海外サイトでも、coding bootcampで3ヶ月〜半年毎日10時間位勉強するけど、プロとしてやってくなら、それがずっと続くんだよ、という話をしています。

会社員だと会社が後押しして、会社のお金で勉強できます。良い会社なら仕事時間の半分近い時間位、しかも仕事に直接関係ない技術もある程度含めても認められる。そういうエンジニアと仕事時間に勉強できないフリーランスエンジニアが勝負するわけです。努力しない自分の劣化コピー(何かに憧れたり、特に金儲け、という観点で真似ると、たいていがその人の劣化版になります) を増殖しようとするとか、まるで「癌細胞」という例えが適切では。本気で努力要らない、で本読んでなかったら、これはいわゆる正常性バイアスなんですかね。読者にはやってないと言いながらやってるだまし討ち?普通にやってなさそうだけど。

また、中級以上だと、少なくとも英語は読めないと話にならないですね。Referenceもまともに読めない。そして、その上になってくると論文を読んで実装したりするので、論文レベルの英語は読めないとついていけないです。英語が全く駄目なら、英語を学ぶ努力は付いてきますね。

ググればいいに関しては言わずもがなですが、ググって解決した場合の経験の蓄積というのは、8割はググった経験で、1割はググった通りにやった経験。まぁ、ほとんど問題解決の経験にはならないですね。なんでそれで解決したかを理解して、次からググらずに解ければ成長に繋がりますが、とりあえず解決して次もググったら、結局ググった経験しか残らなかったということです。プロのググる人です。例えば学生で、数学の問題集を解くのに、毎回ヒントや答えを見て解答して、解答あるんだから見ればいい、と言ってる人がいたら、どう思いますかね。ちゃんと解いてる人と同じ速度で学力上がると思いますか?その人をすごいと思うクラスメイトいますかね?それで自信持ってたら、ある意味すごいけど。大事なのは自分のわかる技術を組み合わせて考えることでは。

また、これは全ての"まともな"IT企業の経営陣とマネージャなら理解してると思いますが、努力できることはエンジニアの一番求められる資質です。天才じゃない限り、努力できないエンジニアと働きたい経営者・マネージャはいません。R氏はいつでも社員に戻れると言っていますが、勉強しない、現場の経験だけで、しかもググれば十分と表明してしまっているので、それを見た会社はどこも雇いたいと思わないでしょう。ググると言っても、基本的には知っている技術しか検索の対象に引っ掛けられない可能性が高く、勉強をしない人間は、"その技術の存在を知らない"ので、解決できるケースも答えが"見えない"ためにできなかったり、検索結果から効率の悪い解決策を選択することになります。

ちなみに、読書は公立図書館なら無料でできますし(特に大きいところはほとんどの本がある)、勉強会は無料の方が多いです。未経験からエンジニアを目指したい人や初学者は、一度勉強会に行ってみると良いです。懇親会がある場合、無料で飲めたりもします。かなり本音聞けますし、そういう場に来る人達は初心者に優しいので、現場のリアルがわかると思います。インフルエンサー正常性バイアスによる見て見ぬ振り妄想記事より断然タメになります。ちなみに、前の記事でポジショントークと濁したりしましたが、端的に言うと、「自分に都合のいい嘘」ですよね。まぁ、語らないことで誤解させる、というのは嘘と証明しにくいですが。そういうのは、まさに詐欺師の手法という感じですね。

愚者は経験に学び、賢者は歴史に学ぶ

ビスマルクの言葉です。歴史と訳されがちですが、他者の経験という意味のようです。

Wise men learn by other men’s mistakes; fools by their own.
賢者は人のあやまちから学び,愚者はみずからのあやまちに学ぶ.

英語のことわざ・名言 - 広島県大学共同リポジトリより

この手の格言はいっぱいあって、自分の経験で十分、というのは自らメッキを剥がすだけの主張ですね。教養のある人なら、インターネットのない時代、下手したら数百年、もっと昔の人でも理解していたことです。これだけ情報に溢れて簡単にアクセスできる時代です。情弱というのは情報が手に入らないことではないです。ネット上の情報だとしたら、それはデジタルデバイドと言いますね。情弱というのは、情報の真偽がわからなかったり、優先順位が正しく付けられないことだと思います。例えば、歩きスマホでニュース見てる人は通り魔に遭遇しても、耳は音楽、目はスマホで閉ざして、刺されるまで気が付かないかも知れません。家の外で一番重要な情報は周りの状況です。YouTube見ながら電柱にぶつかるのは完全なる間抜けです。感染予防にマスクして吊り革つかまったり。

経験が大事なことは否定しません。しかし、本来、座学や読書を通じて下敷きとなる知識を得て、"それを実践する経験"の中で定着させていくのが経験の価値を最大化する方法です。正しいことの裏付けがググって出た無名の個人ページでは心許な過ぎます。その情報が正しいとなぜ判断できるのか。そこはエンジニアとしては言語化できないといけない部分です。また、同じ経験でも成長が早い人は経験を抽象化・モデル化して、本質的に類似した経験を同じモデルとして積み上げています。10の経験で3つのモデルに正しく抽象化できる人は3,4,3などと経験を積み上げられますが、抽象化が苦手だと、それぞれを個別に平積みしてしまいます。モデル化して積む場合、その経験は固くなり再現性が高まります。抽象化のために、モデルを予め知っているのは成長に有利になるでしょう。

経験だけで十分と言ってる人は結局、井の中の蛙先生なわけで。空の青さは知ってるかも知れませんが、世界の広さも、見えている空の広さもわかりません。

天才でないのであれば、書籍で先人の経験を、その周りの人達の集合知を凝縮させたものからの学びを頂いたほうが良いと思います。大抵の名著は、業界の第一人者が"様々な人と一緒に"仕事をした中からのベストプラクティスを教えてくれます。あなたがやってみてよかったことは既に書いてあるか、もっといい方法が書いてあるかも知れない。既に有名な書籍に書いてあることに試行錯誤して辿り着くのは賢い人のすることではないですね…。既に誰かが歩いて、その道の先に落とし穴があるぞ!って教えていて、多くの人が知っているのに、その道で落とし穴に落ちる人はどう考えても残念な人です。仮に落とし穴に気付いて回避しても、周りは「だから言ってたじゃん」となるだけです。

自信過剰にならずに、自分を疑ってより良い考え方を見つけようとしないと、人は簡単に自縛の迷宮に迷い込みます。正常性バイアスは思っている以上の強敵です。

皆が前回語ったようなガチな仕事への向かい方したら疲れちゃう、というようなフォローの追記をしましたが、考えてみたら、社会人が、プロが自分の能力をあげようとするのは当たり前なので、自分の能力を上げようと思えない、辛いなら、その仕事向いてないですよね…。思ってもいいけど、言わない方が良いのでは。まぁ、文句言わずに簡単で面倒な仕事を黙って引き受けてくれるような人なら、ある種助かりますがストレス過ごそう。

技術マウント

別に個人の自由な気もしますが、僕は知らない技術の話をされた時に「技術マウント」と言い出す人とは一緒に仕事したくないなぁ、と感じました。前回の記事で、別に「こんな事も知ってて俺すごいだろ」みたいな感覚で書いた箇所は全くなく、コンピューターサイエンス(CS)を修士まで学んでいたらほとんどの人が、下手したら学部卒でも知っているであろうことを、具体的な事例として、こういう分野があって、そこでは〇〇は必要になります、というのを説明したかっただけです。やらなくていいということではなく誰かがやってくれているだけだと。そして、当然ですが、多くの人ができない分野に従事して、他の人が使える様に提供している人の方が評価されますし、結果として報酬も良いでしょう。別に学会で採択されるようなレベルの話は書いていないので、普通にCSで勉強していたら知っている人が多いことばかりしか書いていません。
僕の発言がマウントに感じたなら、あなたの見えてる山は山脈の中の小さな山の1つに過ぎません、隣に高い山いっぱいあるんですよ。まぁ、マウントは山じゃなくて馬乗りでタコ殴りの方でしょうが。マウント取ろうとしてない人に取られたように感じるなら、その幻影のタックルの切り方を学ばないと今後辛いのでは…。

自分の知らない技術の話があると、「へー、そんなのがあるんだ、面白!!時間ある時に勉強しよう」と感じる人間なので、初学者でも、同じような感覚の人と仕事をご一緒したいです。知らない技術にワクワクできた方が人生楽しいと思います。成長の種を見つけられたと感じた方が、まだまだ続くエンジニア人生の光が増えます。そこにストレスを感じるのも個人の自由ですが。

ちなみに、採用の話で「Aクラスの人はAクラスの人を採用したがるが、Bクラスの人はCクラスの人を採用したがる」というのがシリコンバレーの格言で言われたりします。自分の知らないことを知っている人がいたら、嫉妬して遠ざけるのでなく、一緒に仕事をして強い味方にしたり、その人から学びを得た方が実りある人生に繋がると思います。自分が脅威になると感じている人は自分の最高の教師にもなり得るのです。

www.bunshun.co.jp

また、CS学位を足切りに使うのは悪くないアイデアだと思います。世界の人気トップ企業だと足切りしないと採用だけで仕事になりませんから。そして、独学とか未経験スタートの人達で、技術力上位の企業が持っていて欲しいと思うCSの幅広い基礎的な素養がある人が極めて少ないのが現実です。CS卒の1割が基礎を理解していなくて、非エンジニアリング学部卒の1割がCSの基礎を理解しているなら、どちらを対象にするのが良いかは明白です。CSの理論的な部分の独学はプログラミング以上に大変です。及川さん含め、中には独学でCSの基礎を習得できる人もいますが、その及川さんですら、著作中で情報系学部の素養がない人がエンジニアを目指すのは難しいと言っています。この辺は自社開発視点ですね(SI業界は最低限のコード書ければ人月に含められる)。それを覆すには基本的にOSSへの貢献であったり、技術ブログや登壇等社外での発表で業界に名前を知らせるのが良いと思います。

恥ずかしい話、僕も20代の頃、未経験からのSESで技術力あると言われていた頃の初めての転職活動時に二分探索すら知らなかったです。思い付きで答えた方法が実は二分探索だった、と知って、後で、「うわー、ヤバい自分」と愕然としました。その後、大学院に留学した今考えると、あれで自分の技術力に自信持ってたなんて、ちょっとゾッとしますね。当時は簡単な作業を速く正確にできただけです。小さいweb系とかSESでフルスタックエンジニアを名乗ってる人にもありがちですが、未経験上がりだと、自分の会社が触ってる狭い技術の全体を知っているだけとかもありますよね。フレームワークで簡単に動くので、インフラやミドルウェア周りとかCIに手を出して、これフルスタックでは!と。転職した瞬間、知らないことだらけの新人になるフルスタックエンジニアです。しかし、フルスタックエンジニアの定義とか線引きってかなり難しい。技術力高い会社だとSWE名乗ってる人が既に多くの企業でフルスタックと言えるくらいの範囲の知識があることも多いし。

WordPressについて

WordPressについて突っ込むとたいてい、今も色んなところで使われてる、という反論が来ますが、それは大半が静的なコーポレートページとかランディングページではないでしょうか?あとは、会社ブログとかもありますかね。ブログは外部のブログサービスを利用してる会社も多いですが。静的なWebページの作成はマークアップエンジニアと呼ばれるマークアップ言語を主に使うエンジニアもいますが、基本的にはWEBデザイン会社(WEB制作会社とも言う?)の仕事で、エンジニアというよりデザイナーの仕事な気がします。エンジニアを目指している人達はWEB制作会社で働きたいのでしょうか?デザインセンスがあって、元々クリエイティブな人達が集まって見た目やUI/UXの価値を最大化する場所ではなく、動的に動くシステムとかアプリケーションを作りたいのでは。WEB制作会社で働きたいのならWordPress良いと思います。

どうも、この辺の主張の人はピントがズレてる気がして、静的ページでは、インタラクティブに動きがあると驚きもあるかもですが、UI/UXデザインはデザイナーの方が強いし、静的ページならエンジニアがデザインまで考えるより、デザイナーが簡単なプログラムも書いた方が断然良いと思います。それ以前に、エンジニアとしてマークアップとかプラグインだけで楽しいか?という感じが…。適性としてデザイナー目指した方が良い気がします。
今だけ、副業で小銭を稼ぐために、なら良いのかも知れませんが、プログラマ志望が何十年もWEB制作ってちょっと考えられないですね。

一応、WordPressプラグインでショッピングカート的な機能とかも足せるみたいですが、流石にお金に関わる部分でフリーのプラグインを選ぶのは恐怖しかないです。

これは本当に適性の話で、WEB制作とか静的ページメインだとデザインが主役でシステムというかプログラムはおまけですね。ソフトウェアエンジニアの仕事にしても、目的はユーザーの価値を最大化することなので、UI/UXを軽視する気はありませんが、ソフトウェアエンジニアが本領を発揮するのはプログラミングがおまけな仕事でなく、プログラミングなしで解決しない課題の解決だと思います。自分が目指している方向性を明確にしないと、ハワイに行くはずがアラスカに着きました、なんてことになりかねないので、その技術要素が自分の行き先と合っているかちゃんと確認することをお薦めします。ハワイもアラスカも同じ国ですが。

ソフトウェアファーストにもありますが、会社運営にシステムを、ITを活かす最初の段階がSoR(System of Record)で、つまり、SIerがやってるような業務効率化であったり、アナログな業務のデジタル化で、次の段階がSoE(System of Engagement)であり、ここが攻めのITと呼ばれる、今広がってる領域ですが、WEB制作はこのどちらにも基本的に入りません。外部に見せるための画面制作であり、そこを主戦場にするのはエンジニアでなくデザイナーでしょう。

www.sbbit.jp

少なくともプログラマとして手に職つけて食べていきたい人がその後30年40年プログラムを飯の種として書いていきたいなら回り道かと思います。

エンジニアとして稼ぎたいなら

GAFAとか外資を目指すところに出しましたが、ベンチャー初期メンバーでキャピタルゲインも選択肢ですね。
国内でも超高待遇が出だしてますが、現実的にはこの2つかと。上場まで行ければベンチャーの初期メンバーはストックオプションで数千万〜億いくわけで、5〜10年おきにそういう会社に関われれば給料+ストックオプションで結構な額になると思います。ただ、ベンチャーはちゃんと会社選ばないと給料が減っただけ、になりかねない(というか、実力派でなく、アイデア系で俺らこれでいけるんじゃない、的なサークルノリはポシャる方が多い?)です。ベンチャーキャピタルが付いて上場までのアドバイスしつつ、証券会社とかと上場に向けた計画を起業した初期段階からやってるようなちゃんとしたベンチャーの入社10番目以内とかならかなり稼げるのでは。そして、ベンチャーだと領域が絞られますが、挑戦的な仕事もできると思います。

ただ、やっぱり世界的な外資は強くて、基本的に技術要素は何でも扱っていて、社内プロジェクトの募集とかもあると聞くので、それで認められれば自分のやりたい色々な技術要素に社内で関われる可能性も高いです。なにより、多くの人が使ってくれるサービスの関われるのは喜びだと思います。多くの人に影響力を与えて、ユーザーの役に立ちながら、友人も使っている自分が関わったことを誇れる製品に関われたりする、技術が好きな人間なら、断る理由はあまりない就職先だと思います。

また、真っ当なエンジニアなら、アウトプットに関しても、金儲け自慢のブログで稼ぐのでなく、技術ブログで名前を知られて、登壇依頼とかで話して、執筆活動とかスカウトで高収入、好きな仕事を選べる、という状況を目指したいですね。コードを書きたい人間が金の為にブログを書くのはなかなかに苦痛だと思います。2000年代のネット無料文化、性善論でネットが機能していた頃からの人間からすると、noteで名前も知らない人間の知見を500円で買うとか意味不明です。日本人どんだけガチャ好きなんだよ、的な。サロンとかも、その人達より断然優秀な人に学べる無料の勉強会とかコミュニティそこら中にあるのにね。僕も、アウトプットで名前を知られるなら技術記事で知られたいのでここは匿名でやってます。知人には薄々気づかれてるかも知れませんが…。まさか、こっちでバズってしまうとは。しかも、本来の対象として書いてた詐欺られる可能性のある人でなく、現役エンジニア中心とか…OMG。

ちなみにRさんの信者とか拝金系のインフルエンサーを信じる人は、Rさんは○○円稼いでるんだ、お前なんかよりすごいんだ、とか言うわけですが、まず、エンジニアの収入以外を含めて戦おうとするのは筋違いで、更に、収入=実力ではないわけです。確かにIT業界は実力あるのに給料安過ぎ!という人は多くて、そういう人は移らないにしても定期的に転職活動して自分の価値と業界での立ち位置を確認したほうが良いと思うし、正しく評価してくれるところで働いた方が良いと思うけど、Rさんの様に逆に実力と乖離した額の仕事を取っている人もいる。そうなると稼ぎはエンジニアとしての優秀さの物差しにならない。

例えば、CS学部卒で3年間そこそこの自社開発で一生懸命働いた後に惜しまれつつ独立した26歳フリーランスとRさんで同じ領域が専門だとして、1年後にRさんは1200万、その27歳になった2年目フリーランスが750万稼いでて、どちらに仕事依頼するだろうか。まともな人なら後者になりますよね。しかも、実力上なのに安くてラッキーという話。ソフトスキルの差の話があるかもですが、CS卒の人間別にしゃべれない人多くないですよ。日本はよく知らないけど、学部で言語化してプレゼンしないといけない場も結構あるだろうし(うちの大学はかなりあった)、そもそも、ソフトスキルLv10で技術力Lv3とソフトスキルLv3で技術力Lv10ならどっちと仕事したいか、という話。たどたどしくてもちゃんと意思の疎通ができて、伝えるべきことは伝わるならソフトスキルは十分のような。会話がうまいとかより責任感あって一生懸命やる方が話下手でも信頼はできる。

そして、お金を稼いだことで尊敬されてる人はお金がなくなったら人が離れるものです。
実績で稼いでお金持ちになった人はお金がなくなっても、信頼で尊敬されているので人は離れません。むしろ、心配して駆けつけて来る人が多いかも知れない。まとまらないので拝金主義に関しては予定通り次回で取り上げます。

あとがき

あかん、もうインフルエンサー香ばし過ぎていくらでも書けてしまう。
しかし、ここよりコンピューターサイエンス入門エントリーを書きたい気持ちもあり。投げ銭Amazonアソシエイトにしたいけど、アソシエイト落ちるという。Amazonさんは入口は質より量なので、3万字の1エントリー書くなら6000字の5エントリーにするべきだった…。ここでも、アソシエイト通ったら、本の紹介に関しては置き換えるかもです。稼ぎたいというより、記事をちゃんと証明するための道具として書籍を買うのに使いたい。もちろん、自信を持って紹介できる本、記事の説明を強化するための本しか紹介しません。

結局クソ長いです。ご愛読ありがとうございました!
しかしタイトルが酷い。皆様よい連休を!