渡るネットは嘘ばかり

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

ステマの作るフリーランス蟻地獄

2018.05.31に書いた記事でこの辺のステマが氾濫する理由について書きました。
フリーランスで稼いでるフリとかお薦めしてるのはアフィリエイトとしておいしい”商材”だそうです。人に対して商材って言葉の使い方合ってるんですかね。引用の原文ママで。

masa-lab.hateblo.jp

エンジニアリング以外のネタも書いて行こうと思いますが、とりあえず、Google Code JamのQualification Roundは3問目まで解いて、最後のLarge以外は正解の50点でした。25点で予選突破なのでとりあえず通過。前日飲みすぎたので、寝たり買い物行ったり料理したりしつつ、最低点越えたので4問目は放棄しました。Cのsmall dataset2 は普通にやると時間切れになるのでちょっと考えてみて下さい。brute forceでパターン見つけてO(KN)からO(log K)まで速くできました。large間違ってたけど…。多分、境界とかでしくじったと思う。

今回のネットの闇は…フリーランスの話です。

フリーランス記事もステマだらけ

フリーランスで検索すると、1000万以上稼いでます、みたいなのがわんさか出てきます。ほとんどがステマなんですけどね…。1000万以上って3%位らしいですよ。そこら中に転がってるような、フリーランスの働き方4種類とか、自分がいかにして稼いだか(何故かここでコミュニケーションとか言ってしまう文系脳)で、下の方行くとレバテックとかクラウドワークスのアフィリエイトとかが貼ってあるわけです。情報商材の手法+アフィリエイト。自分が1000万越えてると言ってエージェント紹介してるところは基本的にステマと思っていいと思います。普通に考えてみてよ。月100万とか年1000万超えの案件がどれだけあってどれだけ紹介に値する人材がいると思いますか?自分が1000万稼いでて、1000万稼げる自信のある人材が来たらパイの奪い合いでしょ。

harv-tech.hatenablog.com

この人とかね。コミュニケーション取りたくない24歳に月額報酬100万払う会社があるとしたら超絶節穴です。この人エージェントをお薦めしまくってるけど、リンク見ると
https;//px.a8.net/svt/ejp?a8mat=xxxxx
a8matのパラメータ潰しましたけど、これ、A8のアフィリエイトのリンクですね。これが現実。そんなさ、月収100万ある人間が、自分が稼ぐために使ったのは…とか言ってアフィリエイトのリンク貼りますかね?ステマステマ。普通に稼げてる人間がそんなことやったらさ、信用問題で顧客にバレたら契約切られますよ。コンプライアンス的な話で。そういう詐欺まがいのことやる人間と契約したい会社って安定企業ではありえないです。情報漏洩とか危険過ぎだしね。ステマステマ、もう超高速ステルスですよ。秒速何億ですか、この方。スタートアップなんて払いの保証のないとこ、能力あるフリーランスなら絶対避けるべき。最新技術を使ったスタートアップならありだけど、レベル高すぎて専門的にその分野学んでないフリーランスができることないと思います。スタートアップでフリーランス雇うとしたら使い捨てでしょ。

フリーランスの現実

先日、某MLM系の人達にうっかり招かれてフリーランスになりたいってエンジニアの人と話しました。しかし、これがね。彼、フリーランスになる、独立する、が目標になってて、何がしたいかわからないし何ができるか全く伝わってきませんでした。俺がクライアントだったら全く雇う気にならんよ。フリーランスになりたいで、何ができるの?何がしたいの?って聞いたらwebが…とか言ってて、ふぁっ?という感じで。それで、自分がフリーランスなので、常駐型の話したら、それじゃフリーランスの旨味がない、とか言ってました。ならさ、会社の前後の時間とかでちっちゃい案件試してみなよ、在宅でちゃんとできるか、確かめてから辞めた方がいいよ、とアドバイスしたのですが、集中できないとかなんか言い訳を。空いてる時間をマネジメントできない人間が在宅で働くと、ダラダラして納期間に合わなかったり、挙句人と会わないから心を病んだりするんですよね。彼がフリーランスになったら下記の以下タイプの典型になりますね。

news.careerconnection.jp

在宅型の現実はこんなもんだ。主婦が空き時間に働いたりがメインでしょ。中にはD社のあれみたいな奴隷商売で法にも反する物さえある。70万とか100万の案件もあるよ。でも、成約してみたらクソみたいなRubyのおもちゃ使いとかばっかで使い物にならなかった、とかでクライアントも厳しくなってるのが現実。

www.pepsinogen.blog

結果、クラウドワークス成約しなすぎで赤字連発。Rubyでモック作れるようになっただけで即戦力。フリーランスでがっぽがっぽとか、友人誘って、派遣の仕事した分の数%が紹介者に入る怪しげな連鎖系の誰でも儲かる仕事のような感覚でやってみて全く仕事取れず、的な状況に陥ってる人多数だろうね。1回だけエージェントに紹介してもらえたけど見捨てられたり。独学で学んだ(現場経験で学んだは独学とは言わないと思う)プログラミング技術素人並みの人の教えるプログラミング教室でとりあえず動くもの作っても、そこのメンターくらいしか職はないですよ。金を儲けることを目標に仕事を選んでる人は上手く一気に稼げないとすぐ辞めての繰り返しで貧困層から抜け出せないし、目先の金儲けでちゃんと技術や経験をつけようとしないでショートカット探すから、結果として将来役に立たないことに時間使って借金だけ残るんですよね…。

前にも書いたけど、フリーランスで納期間に合わなかったりすると契約によっては損害賠償請求されますよ。ローンチして売り上げる予定額分自分が被るのが普通じゃない?請負だとね。クソプログラミング教室が3ヶ月でフリーランスとか言ってますけど、3ヶ月のエンジニア見積もりできないよね。最初の案件はそこが手伝ってくれたとして、次の案件どうしますか?3ヶ月モック作りで遊んでたエンジニア見習いとか、多分3ヶ月以内に契約切られますが。万が一契約取れたとしても、おそらく、結果は2通り。出来もしない仕事を受けて借金作って退場か一日5時間程度のつもりで1日20時間位かかって死にかける。フリーランスって自由な分、責任を被るわけです。会社守ってくれないからね。だから、報酬が社員より高いんですよ。自由に稼ぐはフリーランチではなく、対価を払ってるわけです。リスク管理1人でできるレベルじゃないと話になりません。

2016年版小規模企業白書によるとフリーランスで年収300万以下が47%、500万以下が75.9%、1000万以上に至っては3.6%ですね。俺、社会人2年目(最初から中途)で600万いってましたよ。400万なら正社員のほうがいいと思いますよ。自信持って独立した人が大半ななか、800万以上は稼げると思ってるなら上位7%に入らなきゃいけないわけですが、アルゴリズムもまともに教えないプログラミング教室で普通以上になれますかね?普通レベルだと400万がいいとこですよ。IT業界の経験豊富ならフリーランスで稼げると自信もって独立できる人なら1000万とかいけるかもね。

www.ryukke.com

この人も超胡散臭いですね。TechAcademyのリンク
https;//t.felmat.net/fmcl?ak=R90...

www.felmat.net

felmatってリンクからして、アフィリエイトの人ですね。年収1000万越えを語る人がアフィリエイトだらけのブログでフリーランス推奨するとか…。
TECH::CAMP
https;//t.felmat.net/fmcl?ak=B...
CodeCamp
https;//af.moshimo.com/af/c/click?a_id=6xxx
完全にアフィリエイト屋やんけ。ネット上のゴミですこういう記事は。自称プロブロガー、アフィリエイトフリーランスエンジニアですかね。こういうのは詐欺と言っていいでしょう。ガチでアウトじゃないのか?そもそもさ、↑のリンクのプログラミング教室出て皆1000万稼げたらCS卒全員1500万稼げますよwwwwちょっとGoogle先生に通報してみよう。

上記のようにほとんど、リンクのURLを見ればステマ記事はわかります。この人達はインフォプレナーの親戚のようなもんで、稼いでるふりをしてアフィリエイトを踏ませて稼ぐ詐欺ブロガーです。

自分の力で稼いでるという勘違い

特に大手システムからフリーランスになろうとする人にありがちな勘違い。自分は人月100万稼いでる。フリーランスになれば80〜120は固いだろう、とか思い込むかもしれませんが、大手システムはピンはね業界なので、実力の1.5〜2倍位もらってる人が多いです。そして、顧客は会社の名前と肩書に払ってるわけであなたの実力に対して払ってるわけじゃない。この会社のこの肩書の人なら…なので、それが外れた瞬間、あなたの価値は半額になります。でも人月100万なら、元々額面50弱なんじゃない?なら、負担が増えて実質の所得減りますが、収入は変わらないかもね。

聞いてみるのが1番

では自分の価値はどれくらいか。これは現場の人間に聞くのが1番だよね。フリーランスになろうと思う人はそれなりに業界にネットワークがあると思うので、もし自分をフリーランスとして雇うならいくら出せる?とガチで話してみましょう。で、折り合うなら、最初のお客さんとしてお願いしてみるのもありかも知れません。もしくは、試しに働いてみたい会社にフリーランスで業務委託として働きたい、と人事に経歴伝えて連絡してみるといいです。十分に働けるレベルなら募集かけてなくても結構会ってくれます。

実際の1000万円フリーランスエンジニアの話

一応1000万プレイヤーです。まだフリーランスで1年通して働いたことないんです(大学院の休学で年の途中からとか夏休みで月ベースで計算して1000万越えるペースの人です)けどね。今年は卒業して1月からだから、残業代次第で乗ります。後半は価格交渉しようと思ってますし。まぁ、経費結構落とすんで売上で、ですが。でも、アフィリエイトとか全く貼りませんから。普通の感覚でフリーランスで1000万稼げる案件が転がってるならライバル増やして小銭稼ぐより良い案件独り占めしますよね…。ちなみに、俺はフリーランスは全く薦めません。自分自身フリーランスになるつもりはなくて、流れでなっただけです。元々は大学院の夏休みで出稼ぎで派遣で行って、ゲームの大きめのイベント追加の案件でメインプログラマをやって、そこで気に入られて休学中に直接契約する形でフリーランスを始めました。

 

前にも書いてますが、システム屋時代に取ったIT資格アホほど持ってます(ただ、システム業界を中心に作ってる気がするので国家資格持っててもプログラマの技術力の足しには余りならない…インフラエンジニアとかは実績証明しづらいので、やっとくといいかも)。高度情報処理技術者の資格がいくつかあると日本の会社の書類はたいてい通ります。AIベンチャーとか専門性が強いところには効きにくいけど。その状態でシステムで誰でも知ってる大企業の会員向けWebシステム開発、ゲーム会社でのシステム、スマホゲーム開発の経験があってアメリカの大学院でコンピューターサイエンス勉強してそんな感じです。契約先は上場会社の系列会社で、スマホゲーム作ってます。案件によってサーバーもクライアントも。ちなみに、同じ現場にいた15年以上の経験の先輩も1000万弱位稼いでました。実際、あの人はそこまでの実力じゃなくて、結果、契約終了しましたが…。今も隣駅とか何個か転々みたいです。未経験でプログラミング教室から2年で1000万とか冗談もいいところです。あなたが天才ならありえますが、エンジニアリングの世界は技術力を基礎から積み上げる世界なので、向いてる人でもある程度蓄積が必要です。そんな甘い業界じゃないですよ。理系だからね。足し算の後に掛け算。分数もわかったら分数の掛け算、次は累乗とか行ってみようか、って長い道のりで安定した技術ができていくものです。ショートカットはセンスある人だけ。方法でなく才能。そんな業界ですよ。でもコツコツ積めばある程度までは大抵の人が行ける(コツコツできる人が本気で少ないけど)。

結局、有名企業の常駐が1番

フリーランスで稼ぎたいならやっぱり常駐が1番だと思います。有名企業やその系列会社で、しっかり、離したくないと思ってもらえるようなエンジニアになる。タイミングを見て、価格交渉をして、それがダメならその価格で他に売り込みかける、位ができる人間じゃないと1000万って厳しいと思いますよ。会社員と大して変わらなくて若干残業少ない感じで、正社員時代の1.5倍〜2倍稼げるならありですよね。有名企業でしっかりパートナーシップ作れれば収入も安定します。在宅3個で90万とかハラハラしながら綱渡りで精神すり減らす必要もありません。ちなみに、最初の派遣の前に、働いてみたい会社に直接連絡して、3ヶ月即戦力要りませんか、と問い合わせました。会ってみましょう、って一度言ってくれた後、やはり期間的に難しい、という断りがきましたが期間制限なかったら普通に面接にはなったと思います。結構技術とか自分がやってきたことに自信あれば売り込めるし、会ってくれますよ。どこも「優秀な」人材不足ですから。前線で戦える技術力と当たり前の会話能力あれば1000万は難しい話じゃないと思います。で、在宅は見積もりで失敗すること多いし、案件ごとになると思うので、安定してちゃんと稼ぐなら常駐がいいと思います。人ってね、ある程度監視がないとパフォーマンス出せないんですよ。9割の人はそうだと思う。在宅で出社したのと同じパフォーマンス出せる人は神だと思います。まぁ、だいたいオンラインで繋いで仕事するから在宅でも変わらなかったりするけどwちなみに、支払サイトの話読んでびっくりしたけど、エージェント通したら報酬が3ヶ月後とかあるんですね。俺は末締め翌末払いです。最初から。まぁ、派遣の仕組みがそれだったから、フリーで契約した時も当たり前にそれで契約してました。不正防止に源泉徴収もあって、確定申告で慌てる必要ありません。今回は、ボーナスレベルの還付金が今月20日以降に返ってくることになってます。経費結構計上したからね。

フリーランスを薦められるか

それでも俺はフリーランスは薦めません。特に、フリーランスで自由に働きたい、という人は。給料下がってもいいならどうぞご勝手に、と。自由に働いた上で稼ぎたいなら、フリーランスになるより会社作った方がまだ確率高いと思いますよ。俺のコースでフリーランスなりたいなら、3ヶ月おきに派遣先変えてもらいつつ1個挟んだら前のところと直接交渉してみるのもありかもですね。3ヶ月で延長の希望着たら価格交渉しつつ一旦離れて次の切れる時期に交渉とかいいタイミングじゃないかな。

ただ、個人的にフリーランスは雇用を産まないので、社会貢献の意味でもお薦めしません。ある程度フリーランスでやれる、1000万円台稼げるなら、会社作って、人材育てながら優秀な人材を輩出していったほうがいいと思う。次は自分とそいつで、フォローもします、とかいって売り込むとかさ。紹介予定で紹介料ってのもある。人材会社になっちゃえば、一緒に行った人間の5%もらうとかで年収上げたりもできるんじゃないかな?自分のことだけ考えてフリーランスになりたい、と言う人間になるより、将来的に社会にいい流れを作るスタートとしてフリーランスを選ぶ、起業の前段階としてのフリーランスを目指して欲しいと思います。今、起業に向けて動いてるけど、フリーランスの収入があるから、動きやすい部分もある。時間がないけど、会社の売上が出てきてフリーランスを越えたら専念して辞めるって選択肢が取れる分余裕あるんですよ。ちなみに、フリーランスでも常駐は契約時間越えると超過料金(残業代ですね)請求できます。単価高いから残業なるべくさせない感じになる(コスト管理として)ので、結構定時か1時間程度で帰れる時期も多いです。それでも他の人以上の仕事してる自信はあるけどね。お金もらってる分以上は働いてるんじゃないかな。なので、時間がないと言っても正社員より全然ありますからね。

というわけで、ステマで簡単に1000万稼げると嘯いてアフィリエイトを踏ませるフリーランス業界の闇。いかがでしたか。会社辞める前に自分の価値をちゃんと確かめること。プログラマはテストしっかりやってから本番リリースですよ。

アフィリエイトのリンク外してますが、Hatena仕様で勝手にリンク貼られてしまう…ので、Googleさんに悪質サイト認定されないように:を;にしました。今日は眠いので気が向いたら切り方調べて編集して:に戻した上でリンク切ります。便利すぎるのも考えものだ。

DIVE INTO CODEのレビュー(2017年度版)

[2018/07/21追記] 2018年版書きました。カリキュラムだいぶ変わってるので、こちらをご覧ください。

masa-lab.hateblo.jp

旧カリキュラムからの改善という意味で、ポスト自体は残しておきます。

 

[2018/07/07追記]古いカリキュラムのものなので近日中に新しいレビューをします
観点としては教室参加者でなく、人事や現場エンジニアの立場として、卒業生をどう評価するか、です。教室自体の使い勝手や学び易さは他を見て下さい。あくまで、現場エンジニアとして人事に参加した場合にどう見るか、であり、教室自体に通った際の善し悪しではありません。応募者がいた場合、現場エンジニアはどう評価するかが中心です。

道に迷う独学の歩き方

コンピュターサイエンス(CS)概論的な授業でプログラミングを書き始める前からはじめの一歩辺りの部分をカバーしてるクラスでは、基礎中の基礎の問題解決の正しい手法をまず教えます。それが正統なCSの教え方です。エンジニアリングのプロジェクトの基本中の基本はPDCAなわけで、とりあえず、書き始めて手を動かせというのは、地図を手に入れたらまず歩き出せ。歩いてれば目的地に着く、と言ってるようなもの。そんなのエンジニアリングじゃないです。ちゃんと、最適な道順を確認してから動き出して、途中、工事で通れない道があったりしたら、道順を修正してまた歩き出す。それがエンジニアのプログラミングの歩き方です。

www.projectengineer.net

やっぱり、文系の独学の仕方を教えてしまうのか

で、上記の手を動かせの話はDIVE INTO CODEの野呂CEOが語ってることです。ここね、受講者のブログ見て、短期間のプログラミング教室の中でまともかも、って思ったんですが、ちゃんと見てみたら…。
※リンク死にました

programming-study.com

学ぶポイントは3つあります。
1つ目は、とにかく手を動かすことです。「習うより慣れろ」ですね。書籍や動画を見て分かった気にならないで、わからなくてもいいから自分でやってみることが大切です。
2つ目は、時間制限を設けることです。例えば、エラーが発生したときに、自分一人の力でどうにかしようとすると、2、3時間が軽く吹っ飛ぶことがあります。だから、独力でやる時間を30分と決めたら、どんなに考えても調べてもわからなかったら、30分後に誰かに聞きましょう。自分で調べても考えてもわからない場合は、知見のある開発者やわかっている人から聞くことで圧倒的にスピードが上がります。
3つ目は、初心者はまずモノマネからやることです。守破離の守からやっていきます。まずは、コードを真似てみて、動くということを確認しましょう。無理して我流でやらずに、最初は真似ることが大事です。

 これ読んだ学校でCSを専攻した人は、ああ、理論とか飛ばして「やさしい○○(言語名)」とか「○○入門」とかそういうプログラミングの書き方だけを書いた技術書読んで学んだんだな、と思ってしまいます。嗚呼、典型的な文系、という印象。自分の時間は圧倒的にスピードが上がってもできるエンジニアの時間が減るわけでトータルの仕事量…計算できないわけ無いですよね…。これを習慣化すると、その人が行った現場で生産性めっちゃ落ちるんですよ。1日5回とか聞いたりすると、契約打ち切られますね、普通に。つーか、どんなに考えても調べてもわからない課題出すなよ…。そのままググって見つかっちゃまずいけど、講義の応用で少しひねれば解ける、が普通の出題なんだけどね。

IT業界の言語の需要

最近増えているのは、SEの方です。SEはドキュメントの作成やプロジェクト管理といった仕事はしますが、自分でコードを書かないので新しい技術を学べない。そこに不安を感じて、将来性が高い自分でサービスを作ることができるスキルを磨いて、転職したいという方が多いです。彼らは、元々プログラミングの基礎を知っていて、入社時にJavaの研修を受けているので、オブジェクト指向言語であるRubyをスッと理解できます。

このプログラミング教室界隈のRuby至上主義ってなんなんでしょうかね?Javaの研修を受けてるから、Rubyが理解できますとか言ってるんですが、実際の需要は

www.bizreach.co.jp

 Javaが1番需要あって、1番給料が良いのはPythonです。Pythonなのは機械学習、AI系のライブラリが豊富でお金と直結しやすい最新の技術に使えるからです。なので、人手不足解消したいなら、Java教えたほうがいいでしょ、って話で。ちなみにRuby案件だと、大概jQueryとかNode.jsを求められたり、単体だと3年の経験とかですね。Rubyを使ってるところって結構、画面には手間かけたくなくて最先端の技術を裏で使ってたりってイメージがあります。Rubyしかできないとか、それならJavaしかできない、の方が何倍も仕事につながりやすいですよ。ただ、IT土方でブラックも多いですが。

プログラミング初心者の方だと、チーム開発ができて、自分で開発を進められる実務レベルになるのには300時間ぐらいはかかります。SEの方でも160時間必要です。

システム業界の事全くわかってない感モリモリです。悪名高きブラック業界ではPG→SEが基本なのに、SEの方が少ないんだが。160時間のプログラミング経験で実務レベルらしいですよ、SEの皆様

DIVE INTO CODE | Doorkeeper

ちなみに野呂CEO,資格欄見るとRails3ブロンズって旧バージョンの入門編しか持ってないようなんですが…。ちなみに、俺は文系エンジニアの時代でもアプリケーションエンジニアとDBエキスパートにLPICJavaプログラマとWebコンポーネントOracleシルバー(ゴールドは研修費無理)、DB2 Advanced Expert、UMTPにXMLあたりの資格持ってました。というか、期限ないのは持ってます。それでも全然初心者に毛が生えた程度だと思ってアメリカの大学院に留学したんですよ。なんでRubyブロンズとMBAが教えるのに十分なcredentialと思ったんでしょうか…。てか、この人、Javaを下に見てるけど、Java使えんのかな。まぁ、Javaが文系でも結構使えちゃう、1番簡単な言語の一つな気はするけど。Rubyの資格取るならJavaできるならJavaも取ってそうですけどね。俺、1ヶ月も勉強せず黒本解きまくって受けてギリギリだけど、入社3ヶ月と半年でJavaの資格2個取ったし。擬似コードちゃんと書けるなら言語なんて基本方言程度の差で正直どうでもいいんですけどね。ライブラリのあるなしあるけど、別に中でやってることある程度わかるから、なくても大して困らないし。多少時間かかるけど。使えって言われれば初めての言語でも2日後には書きますよ、普通に。簡単なのなら、即書きますよ。

結局、おそわるのはサービスの作り方?ビジネス?

この方も、MBA取ってたり(正直よく知らない大学ですが)、ビジネスのセンスはあるように思えますが、正直、プログラミングはセンスあまりなさそうなコメントが目立ちます。

globis.jp

誰でもやればできと、その時、「プログラミングって特殊なスキルじゃない」って確信したんです。

(↑原文ママ)これ、文系エンジニアのキーワードですよね。炎上した案件で、1人でかなり巻き取る人とか見たことないんでしょうか?特殊なスキルじゃない、って思ってる人が書いた翻訳プログラム(しかも誤訳してる)をふざんな、とできるエンジニアが共通化したりリファクタしたりして高速化して巻き取るわけなんですが。プログラミングは6割位の人は向いてない(しかもCS専攻しか仕事につけない国で出た話)、というのが定説ですよ。現場に長くいたら嫌でも実感するでしょう。自分の何倍も経験ある人がクソみたいなコード書いちゃってたりします。その確信は残念ながら過信だと思います。

ここもそうなんですが、独学で学んだだけで、ちゃんとCSの授業を一通り受けたわけじゃないならプログラミングで何が重要か、将来、応用まで対応できて高給取れるために学ぶべき基礎は何か、とかわからないですよね。できればCSの大学院までは最低でも出た上で(学部と修士では景色が全く違う=修士は数学中心)プログラミングに必須な知識を濃縮して教えるというのが正しい教室のあり方だと思うんですが。

だって、これって、公認会計士の資格取った人が司法試験教えてるようなものですよね?公認会計士取るのすごいかも知れませんが、その人が司法試験に精通してるわけじゃないし、司法書士の方がまだ詳しいのでは?プログラミングでガチで食ってる人間からすると、なんでこの人が教えるの?みたいな話です。OSSで何か認定されてる人というわけでも、有名企業でエヴァンジェリストしてたわけでもない、ちょこっとプログラミングに関わる仕事して、ビジネス側に行った人ですよね?ビジネスに関してはすごく学べると思いますが、プログラミングはどうなんでしょう。

カリキュラムを読んでみる

diveintocode.jp

※旧カリキュラムのURLは死んでます
で、カリキュラム見たのですが…ブログの作り方とかwebデザイン教えるなら、アルゴリズムとかデータ構造教えましょうよ…。何度も書くけど、webデザインはプログラマの仕事じゃないからね。独学の人は1人でやるからやらなきゃかもですけど、最近、ハッカソンでクリエイティブのUIやってる人に聞いたら、美大でwebデザインのコース出てるそうです。完全に畑違い。評価できるのはちゃんと講義をやってること。知るべき知識は正しく学ばないと悪い癖が付きます。と、言いつつ、上で手を動かすこと、とか言ってるので、講義では「書き方」の講義な気しかしない…。問題解決の手法、解くべき問題を特定して、擬似コードで処理のアルゴリズムを確認、処理や計算量が問題ないことを証明して、擬似コードを言語に変換する、みたいな基本的な手順教えてないんだろうなぁ。これ、大学のプログラミング系の授業の最初に習うことです。

プロトタイプコースは全5回、即戦力コースは全10回の授業があります。授業は予め用意されたテーマを元に行います。ex (HTML/Rails/要件定義/API/Git..)

ふぁ!!うわー、講義する意味ね~…。やっぱり駄目でした。

ちゃんと教える気はありそうなAIエキスパートコース

ただね、AIエキスパートコースはちゃんとやるっぽいんですよ。

diveintocode.jp

Python入門
アルゴリズム・データ構造
データサイエンス入門
数学
Pythonを使用した、スクレイピング
機械学習
深層学習
応用プロジェクト

-自然言語処理
-画像認識
-音声認識
-GameAgent

最新の技術を学ぶ

論文の輪読会や実装会を行い、最新の技術を利用する力を身に付けます。

プロトタイプ作成

応用プロジェクトの知識を元に、プロダクトにAIを導入をします。

DEMODAYで発表する

でもさ、これ、誰が教えるの?MITとかどこかのカリキュラム参考にしたんだろうか。講師陣でちゃんと学んだ人いなそうに見えるんですが…。これも独学で教えちゃうつもり?100万近く取って?あと、ところどころおかしいんですよね。アルゴリズムでサーチとか、データ構造で二分木とかヒープ教えたほうが良いんじゃないか。ソートは重要だけど、サーチとかほとんど教わらんぞ…。だって、最初から2分木というかB木?突っ込めばO(log n)で見つかるわけだし。データが必要でスクレイピングって何の冗談ですか?普通にワシントン大学とかで公開してるデータ・セット使えばええやん。sklearnとかにもデータセット入ってますけど…。スクレイピングって結構グレーゾーンで薦められる技術じゃないと思うんだけどなー。特に色々揉めてる昨今。で、最後の方若干怪しくなってきて、機械学習とAIがごっちゃになってみたり(AIエンジニアってデータサイエンティストとAI両刀使いのこと?【註】最近、うちの大学ではAI/ロボティクスとデータサイエンスは別領域になった)、論文の実装会って、論文のやつって、最新技術なので、基本的にライブラリ使えないんですが、わかってるんでしょうか…。しかも英文だよね?もちろん講師は実装できる前提じゃないと教えられないよね?で、プロトタイプって何やねん。AI/機械学習を実装したのを導入してるのに、プロトタイプって…。学習成果の確認にDEMOの発表会も悪くないんだけど、時間短いし、この人ビジネス教えられるんだから、プランナーの部門も作って、プログラマーの前でプレゼンさせて、一緒に組んでものづくりさせればいいのに。可能ならデザイン部門も作って3人で組むと良いと思う。それがチームの最小単位なのでは。

で、誰が教えるんだろう、と調べてみたら…

education-career.jp

講師募集してた…。
てか、インターンパート時給1000円ってお前…。データサイエンティストでちゃんと理論理解して教えられるレベルの人ってGoogleとかに囲われて年収1500〜2000万は初年度からもらえて当たり前なんですが…応募するわけがねえ…。俺、半分は習ってるから教えられるけど、この内容なら1500万もらわんと動かんわ。めっちゃ論文読まなきゃいけないだろうし、今読んでるけど、AIの色んなクラスで使ってる教科書とか英文で1000P以上あるからね。5月までに講師見つけるつもりっぽいけど、この募集だと、現講師陣が必死で独学して付け焼き刃で教えるんだろうなぁ。100万取って。それか間に合わなくて、要求水準も高いからで適性テストして全員落として闇に葬るのだろうか…。

*以下、以上のレベルの参考になりそうな書籍*

・入門 Python3(オライリー・ジャパン)
・ゼロから作る DeepLearning
・プログラミングのための線形代数・確率統計

とっつぁん、たちの悪い冗談だぜ…と吹きかけたなう。入門書やんけ。

ちなみに、AIコースは大学で勉強した経験だと、即戦力コースと全く違う教え方しないといけないと思います。俺が機械学習受けた時、毎授業までに英語の教科書を20〜40P読んでいって、週2日計4時間授業受けて(最初の2週はプラス4時間の数学の補講)、課題やるのにも理論を理解するのに週10時間以上読んで、毎週Writingの宿題を12時間位かけて解いて、2週に1度のプログラミングの宿題は20時間位読んで6時間で実装って感じで、手を動かすより、理論をちゃんと理解することが大事でした。というかさ、1000時間あれば十分だと思ってるかもしれないけど、うちの大学院の授業で言うと4コース分以上含まれてるわけですよ。これね、初心者絶対無理。理論わかんないと思うよ。理論わからないと実装無理だからね、この分野。ちなみにDeep Learning機械学習の延長に設置されてた。大学院で1コース1学期250時間として…。実際はアメリカの大学院同じくらい金取って教授でもなく、下手したらCSも学んでない人が教えるという…。

ちなみに大学院生ね、アルゴリズム、データ構造、計算理論、プログラミング言語(SyntaxとかSemanticsとかScopeとかDynamic&Staticとか理論部分をHaskellでやった)、OS(カーネルレベルまで)、コンピューター構造辺り必修で取ってるからね。それ前提の人と同じ位の時間ですよ。見積もり甘すぎるだろ!ライブラリ使えばなんとかなると思ってるかもだけど、チューニングちゃんとしないとライブラリもまともに使えないぞ…。なるべくライブラリ使わないでとか、大学院と同じ方向性書いてあって、やっぱ大学からパクって香りがするけど、それって結構ガチの大学レベルの数学ですよ。大丈夫なん、受講生?

総括

もうマジで、プログラミング教室、ちゃんと学んだ人間がちゃんと教えるとこ作らないと駄目だと思いました。

海外のコーディングブートキャンプ事情

体調崩してました…。あと、chrome拡張の記事書いたタイミング悪かった気がします。

chrome拡張機能作ろうかと思ったけど、その前にGoogleのクソサイトのSEO対策対策が発動したのか、ステマサイトとかアフィリエイト、トレンドブログが出にくくなった気がする。 Google入ってでもやりたいと思ったので、これは素晴らしい。さすが大先生!嘘で誘導したり、アクセス数稼ぎたいだけのゴミ情報生産家が稼げなくなるのはいいこと。ちゃんと働こうぜ。好きな仕事って楽しいよ。

www.asahi.com

WELQとかまとめ対策、著作権保護が大きいと思うけど、同じ内容のゴミサイトを大量に生成するようなゴミプログラム組んでた人とかそこにリンク相互に張りまくってページランク上げてた人とかは退場ですね。そもそもさ、人が見たくない情報を見せて金を稼ぐなんてことで安定収入になるわけないし、なっちゃいけないんだよ。金儲けしか考えてない自称ブロガーとかアフィリエイターのやってることは見たくない情報の押し売りだからね。その下らない情報で欲しい情報に辿り着くまでにかかった時間、命を削られるわけですよ。時間が編み重なって紡がれるものが命であり人生だからね。

言い方悪いけど、大半のアフィリエイターってネット乞食です。特化型じゃない収入目的のブログも同様。本来なら、情報の質を上げて、多くの読者が集まる。人の集まるところは宣伝になるので、うちを宣伝してくれないか、ってスポンサーが来る。そのスポンサーを吟味して紹介に値する場合のみ紹介する。もしくは自分が読んで良かったと思った、見てよかったと思ったものを紹介する。いわゆる特化型ブログだけど、それが本来のアフィリエイトの形。金のために書きたくもない流行りのこと薄く語ったり、嘘情報流したりとか、それでビジネス語る人は金を稼ぐ才能0なので、手が後ろに回る前に素直に会社で働いたほうがいいと思います。後者はリアルでは犯罪だけど、ネットではグレーなだけの手口です。

検索エンジンが有益な情報を見つけられるようにアルゴリズム改良して乞食サイトを押し下げて、SEO対策に金払ってまた上がってきたら押し下げて…君らは一体何回ゴミ認定されたら気が済むんだね。ドMかね!

ネット乞食 - Wikipedia

イケダハヤトとT某でバズった風の状況作ってたのもヒットしなくなってるように思える。記憶では「プログラミング」とか「プログラミング教室」で検索したら上の方、自社ブログとパートナーのイケハヤ賞賛記事で埋めてたと思うけど。今プログラミング教室でググると比較記事中心。まぁ、T某のブログが先頭ではあるけど。てか、イケダハヤトが全然いなくなって素敵www

従来のページランクってネガティブリンクも拾っちゃうし、ちょっと専門家からのリンクの点が低かったように思える。まぁ、初期の論文しか読んでなくてその後あまり詳しくないけど…。

前置き長いけど、今回は海外でも短期間で学べて高給が取れると謳ったコーディングブートキャンプが問題になってる件です。日本に先駆けて脚光を浴びたものの、金になると悪質な人間が群がって…日本で今広まってきてることが去年には表に出てきてるようなイメージです。記事ベースなので、実態はもっと混沌としてそうだけど、海外サイトなので、情報としてはある程度参考になるかと。要は海外記事に雑な意訳と説明つけてる感じです。誤訳はごめんなさい。訳なので引用付けず斜字体で記載します。

コーディングブートキャンプの創立者が金を持ち逃げ→犯罪者だった

www.inc.com

※インタビューを並べてる感じなので、語られたことを並べる感じになってます

コーディングブートキャンプ創設者で講師が1000万位持ち逃げして学生が探したら犯罪者だった件。職業斡旋率95%なんて謳うけど、大概が数ヶ月で年単位で教えない(元々CS4年がアメリカの最低条件)。トップスクールで自己規制に業界団体作って透明化(斡旋率とかどれくらい学べたか、就職した平均金給与とかの情報)を図ろうとしたけど、反対続出(おそらく、実際就職率はほとんどないので開示すると生徒取れない)。いいブートキャンプもあるけど、一方金儲けしか考えてないところもある。多くのテック業界や教育業界関係者はブートキャンプの参加は慎重にと警告している。HPで紹介してる就職成功した人の就職した会社に問い合わせたら、その顔写真と名前の人間は雇われてないとか。ある女性はFBの画像を反転して勝手に載せられてたらしい。講座受けてもいないのにreviewも載ってた。そんな彼も2016年の始めの内は奇抜な言動も見せつつ、ちゃんと教えていた。当時の生徒の1人Johnsonは「自分は確かに彼から学んだ。受講前は全くだったけど、今は多少はコードも書ける。」と語る。色んな理由の生徒がいたが多くはサイトで謳われてた5万5000ドルの就職保証が目的だった。そのカラクリは単純で、就職先を見つけるまでは卒業生と見なされない。だから、卒業生の就職率は100%だ(【註釈】日本でもやってそう。辞退したらカリキュラムを終えられなかった的な)。生徒が優秀な講師だと評価した講師の教え方がその創始者が好むものじゃなかったと知って、2ヶ月分の給与を払わず、暴言を吐いてSlackグループから追い出したりした。規約に従って受講を止めた所、1回授業を受けただけなのに払い戻しは$3581/$5600だった。さらに(削除されたものの)レビューサイトに個人情報を載せたり攻撃的な行動を取った。

長いので、この辺までに。これは詐欺事例だけど、slackありだな、と。来年の教室運営に向けてのカリキュラム作りにモニターの人に協力してもらって使ってみようかな…。

ブートキャンプから就職後の実情

fusion.net

海外のブートキャンプは面接指導もしてるようで、金融のReyes氏の率直な意見は「ブートキャンプ卒業社は面接に受かる能力を身に着けて、コーディングという世界のドアは開けられるが、中でコーディングを職とするキャリアを積むに十分な知識を持っていない。」と言う。「彼らは私の質問には答えられる。でも、一度仕事で関わってみると、例えばカウントアップの代わりにカウントダウンにしてくれといった最もシンプルな類の要求にも応えられない。」

実際はたった63%の卒業生しか正社員の開発者として採用されていない。ブートキャンプを選ぶ人の勘違いの一つは、成功者の中にかつて例えばJavaを学んで、比較的新しい言語、AndroidとかiOSのために学び直した学生も混ざってる。そういった人が成功する可能性は完全な未経験者より遥かに高く、その人達も統計に混ざっている。

CS卒とブート卒の比較

www.businessinsider.com

 Triplebyteの分析によるとCS卒とブートキャンプ卒では同程度に成功している。100人のブート卒と150人のCS卒の面接の結果をまとめたのが下記。

スクリーニング(書類審査)を抜けた人達なので、実際、書類でどんだけ落ちたかとか保証しないようなことも書いてありましたが(普通に考えるとCS卒の方が書類は通りますね)、このグラフは見方で解釈変わると思う。企業が一番求めてるアルゴリズムやデータ構造の項目ではかなりの差がついてる。Webデザインとかマークアップ言語関係はCSでは全く習わないのでブートが勝つのは当たり前。スタートアップとか以外だとプログラマがやる仕事じゃないですからね。餅は餅屋。デザイナにお任せするのが正しいチームのあり方です。CSでもhtmlはjs試すため、とか視覚化のためで身に着けてる人は多いけど…。個人的な解釈だと(CS出てきたんでそっちにバイアスかかってるけど)、お互い習って他方が習ってないとこでは勝ってるけど、1番求められてる部分では圧倒的にCS。これ、2年後どれくらいできるようになってるか気になりますね。アルゴリズムとかデータ構造わかってれば壁は結構簡単に越えられますが、知らないとそこで頭打ちか時間かけて越えることになると思います。日本ではほとんどそこで頭打ちだよね…。そこは河から流れ着いた海の入口なのに。で、自分はできる、10年やってるから文系でも通用する、プログラミングにアルゴリズムや数学は要らないと、大海に漕ぎ出してる人が結構人がいるのを知らずに河口で自画自賛して叫んでるという。日本のブートだとホントに頭打つまで10年かかるかも知れない…。

海外のブートキャンプでは日本のT某みたいに安易に嘘とわかって信頼を落とさないように、基本的にCSで学べないと言ってるところは少ない印象です。「CS専攻ではしっかりと学べるけど、時間もお金もかかるし、プログラミングに絞って考えると効率が悪い」、というような言い方で、上のデータのように実務上同程度まで育てるという感じです。大抵半年とかですが。

と、まぁ、最後のは若干ポジティブですが、海外でも色々と金儲けが横行して問題になってるブートキャンプです。プログラミング教室受講を決める際は絶対、1人で決めずに知人のIT系の現役技術職の人間に相談して下さい。10万超とかものによっては30万とか払って、趣味のおままごとレベル学ぶのでは目も当てられません。ほとんどが仕事で使えるレベルじゃないのが現実です。というか、半分くらいの知識がプログラマとして(1人でサービスを開きたい以外)要らない感じで、短期間な上に半分くらい時間を無駄にしてるので。本質的な理解で言うと、下手したらほとんど受かる下請け、孫請け系システム会社の給料もらいながらの研修の方が学べる可能性すらある。

近いうちに、文系で10年業界経験あって、CS修士持ちという特殊な経験の人間として、幾つかの角度からプログラミング教室のカリキュラム評価を近いうち(1ヶ月位かかりそう)書きたいと思います。Railsでサービスが作れちゃう、とかじゃなくて、ちゃんとやってるところもあるので。

あと、Nグラムとかベイズ使ってAI組むかもなので、その話も後々。今、AIの授業何個かにまたがって教科書に使われてる1000ページ以上の英語の本読んでて、自然言語処理(Natural Language Processing)の辺りの最初にその辺が出てるので、実装してみたいな、と。ちゃんと自然言語処理全部読んで実装検証してからですが。てか、AIやりたいって言ったら簡単にできそうに思われてるけど、AIとかリアルタイムに顔認識してどうこうって思ってるよりハードル高いんだけどなぁ…。ちゃんと精度出すならの話ですよ、もちろん。

ただ、プログラミング教室評価するにしても、Webプログラマというより、オールラウンドエンジニアでWebの比重小さめなので、デザイン寄りに行きたい人には参考にならないと思います。というか、デザイン寄り行きたい人は素直に専門行ったほうが絶対良いと思うよ。兼任でちゃんと学んでないプログラマの流用ベースのデザイン哲学教えられるのってどうなんだろうね。ついでに業界の状況についても分かる範囲で書いておくか。未経験や文系なら、門戸の広さや敷居の低さで普通システム業界が最初の選択肢だしね。web業界は技術の流行り廃りの速度も早いし、変更・改修多くて開発の速度も早いし、プログラミングが向いてて好きな人じゃないと本来きつい業界です。

プログラミング教室営業の大嘘〜大学で普通にプログラミング身につく件〜

ITコンサルの友達が1本稼いでるって聞いて、マジか、月収100万か!!とビビったら、普通に1000万だった件。まぁ、30代も半ばまでIT業界コツコツ積み上げるとそれくらいの人、企業内でもフリーランスでも増えますよね。

大学でプログラミングを学べないはプログラミング教室の流した嘘

プログラミング教室で大学でもプログラミングできる人間ほとんどいなくて、独学で学んだ人間が教える!とかだいたいのとこで言ってるんですが、日本の大学ってそんなにレベル低いのか、と思ったら、それ、プログラミング教室の流してるステマの一部ですね。競合の大学が遥かにレベル高いと「文系でもできる!」「未経験でも短期間で即戦力」とかって誇大広告が使えなくなるからね。

www.ituore.com

これの中の人、自称大学院でプログラミングを専攻してる人なんですが、良く考えたらプログラミング専攻ってなんやねん。CSの専門領域にもプログラミング言語はあってもプログラミングなんてありません。そもそもでプログラミングは学術分野ではない。記事に書いてたんでWebCampってとこのステマかな、これ。真子氏もそうだけど、プログラミング教室の記事って、大学にLabとかTAの存在をないように扱ってるよね。大学ってプログラミングの授業はたいていLabがあって、そこで実装に必要な技術対話式でTAが教えてくれます。実技面の補講みたいなもの。TAもオフィスアワーあるから行けば時間の許す限り教えてくれますよ。3年とかになると研究室にも入るから教授とか先輩にも聞けるはずだし。どうも、この人もCSじゃないんじゃないか疑惑。

むしろプログラミング教室のほとんどは監視下で独学してるだけ

本来、教室行くメリットは理論部分を教われることなんだけど、実際は課題投げてわからなかったら教えてくれるだけですよね?生徒用の会員サービスページで読む形だったら独学と全く変わらないし。そもそもがさ、コンピューターサイエンスの授業ちゃんと受けた人間と独学の人間で、なんで独学に教えてもらいたがるの?サッカー教わるとして、クラブチームで習ってレギュラーで試合出てた人と空き地で1人で蹴ってた人、どっちに習いたい?独学の人は、独学の仕方教えたり独学の手助けはできても、誰かに習ったことないから、プロで何年も教えてる教授の教え方とかわかんないでしょ?
結果として、教え方は独学+質問しかできないだけなんですよね。動かし方は知っててもどう動いてるかわかってないから。

プログラミングとかアルゴリズムってできる人にはパズルみたいに感じると思う。パズル解けないからってすぐ答え教えてもらいますかね?というか、自分でデバッグさえできれば、課題もらえば一人で解けるし、職業としてやりたいなら解けないといけない。その謎解きが楽しめないなら職業にしても楽しくないと思うよ。1人で解決する方法教えたら、課題は教室でやらないで宿題でいいじゃん…。せめてやるなら、他の学生がいないとできないペアプログラミングとかやったらいいと思う。下手するとプログラミング教室の運営の人達、ペアプログラミングも知らない可能性ある。独学しかしたことないんだもんねぇ…。

ただ動くだけの独学プログラミングと違って、アルゴリズムとかって独学ではきつい部分あるんですよ。証明も必要だし、半分理論ですし。動かすだけでなく、なんでこのやり方だと早いの?の根本理解は教えてもらったほうがいい。特に乱択系とかグラフ系とかできなくはないけど、独学結構きついですよね。データ構造にしても、ただ使ってるとなんでの部分が浮かばないので、原理を説明してもらった上で自分で組んでみる、それが大事だと思います。配列とかハイレベル言語だと、中で動的に拡張とか行われてるの知らないですよね?生成時にサイズ指定しないと簡単にはみ出す(Javaだと初期10個)んだけど、内部のサイズ越えた時点で大きい配列を新しく作って(大体2倍のサイズとか?)、そこに全部の要素入れ替えるとかってことが行われるんですが。その代わり、ランダムアクセス(100個中の45個目を見たい時、45番目にいきなり飛べる)ができる。個数分からない追加には向かないし、途中に追加するとそれ以降全部後ろにずらさなきゃなので、そういうのには向かないけど参照にはいいんですよね。リストだと前と後ろがどれか、って情報を持つので、最後に追加するなら最後の要素にくっつければいい。最初も同様。ただし、ランダムアクセスできないから、前か後ろから辿らないといけない。最初と最後を判断するのに番兵的な要素を置く、なんて話もあって、結構面白いし、知ってるとデータ構造の選択が正しくできてスケールによってはパフォーマンスに寄与できる。

だから、まともなプログラミング教室は課題を黙々とやらせてわからないところを聞く、じゃなくて、教えないとわかりにくい部分は教えて、宿題をたっぷり出す。宿題や教えたところでわからなかったらいくらでも質問に答える。それが普通です。課題は応用でそれに使う技術は授業で説明するのが普通。なんていうか、教室で監視されながら独習してるって金払う意味あるんだろうか…。一人でできないなら、友達と集まってやれば大差ない気がする。そのグループ内に向いてる人が一人でもいればその人がサイトでの説明を伝えても向いてない側の学生メンターとレベル変わらん気が。ちなみに、ググってばっかのエンジニアは2流、ググってもわからないエンジニアは3流です。

プログラマを新卒採用する意味ってあるんだろうか

ちょっと話逸れるけど、プログラマって才能がほとんどなので、新卒から育てる意味ってない気がします。どちらも未経験として、向いてない新卒5年目と向いてる中途1年目って同じ年齢でも能力変わらないというか、下手したら中途の方が上なんですよね。IT企業で新卒エンジニア職取るなら未経験取る意味ってない気がします。向いてるかわからないのに時間かけて育てるのは時間の無駄。プログラミングしなくても向き不向きは確かめられるので、向いてる人の青田刈り、ならありかもですが。まぁ、日本の企業はエンジニア職で採ったのに企画になるとかあるから、正直、新卒の職種とかどうでもいいのかも知れませんが。

アメリカのコンピューターサイエンスのプログラミングクラス

前に概論でちょろっとと書いたんですが、実は大学1年レベルで必修3クラスありました。そういえば大学でTutor(学内個人指導)で働いてた時、2年のデータ構造クラス教えてたけど、1年の概論1の質問されたことあったなぁ。

俺、大学院から行って、学部レベルの授業は大学院の卒業条件のクラス(データ構造、アルゴリズム、計算理論、アルゴリズム、OS I、OSII、プログラミング言語)しか取ってないので1年の授業把握しきれてませんでした。学部のプログラミング関連クラスは1年のオリエンテーションクラス、概論1,概論2で必修。この辺できないと2年以降のはまず無理だと思う。何度も書くけど、エンジニアリングは積み上げなので、基礎ができないと応用はできません。掛け算ができないと分数の掛け算ができないみたいにね。まぁ、プログラミングだけは、基礎を誰かが書いてくれて知らないでもライブラリがやってくれたりするけど、ライブラリが実はバグってたって時に誰かがバグ修正してくれるの待つとか言ったら事業的には大損失ですよ。

せっかくなんで、1年の必修3つのクラスでやってることを順に説明します。

CS160:コンピューターサイエンスオリエンテーション

  • 進数変換:アルゴリズムを書く
  • 問題解決のステップ:Syntax vs Semantics、エラーハンドリング
  • データ型、if文、ループ
  • functionデザイン:擬似コード
  • function
  • Listと配列
  • 2次元配列:コンソール上でマルバツゲーム

 言語pythonで、結構ちゃんとやってる。毎週課題。

CS161:コンピューターサイエンス概論1

  • プログラミングとは
  • C++でデータ型、変数、定数
  • 算術計算と入力
  • 条件文とランダム
  • ループ、文字列
  • エラーハンドリング、デバッグ、処理分割
  • 引数、値渡し、参照渡し
  • 再帰処理
  • 再帰とループの違い(メモリの使い方とか)
  • 配列とC++とCの文字列の違い
  • ポインタ、スタックとヒープ、静的と動的、メモリリーク
  • 静的2次元配列とポインタ
  • コマンドライン引数、
  • 動的2次元配列
  • 構造体と構造体配列
  • オブジェクト指向言語

 CとC++の基本的な部分はカバーしてますね。課題は10週で6個。

CS162:コンピューターサイエンス概論2

 結構ガチにオブジェクト指向プログラミング。課題は2週に1個。システム会社の研修ではここだけ習いました。

大学の授業でほんとに身につかないの?

上記の3クラス、全部Lab付きでプログラミングしながらTAに聞く時間ありますね。TAもオフィスアワーあるので、その時間にも聞ける。友達に手伝ってもらいながらでも単位取れたら結構ちゃんとプログラミングできると思うんですが、日本の大学ではここまでやらない?これ、1年で取らなきゃいけないって1番基礎的な内容ですよ。繰り返すけど、1年で習うっていうのはこれくらいわからないとその先何も勉強できないってことです。もちろんですが、毎授業Readingの宿題出て、読んで来たところを授業で教えて、習ったところを課題で自分で実装します。でも3個取ったら9ヶ月かかりますね。これでも基礎だと思うんですが。3ヶ月で未経験が即戦力?この3つ必修で、さらにアルゴリズムとデータ構造も必修なんですが。学校でプログラミング身につかないって言ってる人が本当にCS専攻だったら、学校がプログラミングを重視してないとこだったか全くプログラミングが向いてなかったか、としか思えないなぁ。1年生の時に9ヶ月とかで身につけなきゃいけない基礎を4年間で身につけられなかった人が1ヶ月とか3ヶ月で教えるって、魔法の粉でも飲んでるとしか思えんなぁ。脳内でできるようになるやつ。

ちゃんと理論教えてTAがわからないこと説明してくれるCS系専攻卒業した人が、学校で全くプログラミング身につかなかったとか言って、プログラミング学ぶのに自分の作った生徒用ページ読んで課題やって質問するだけ(独学でわからないとこ教えてくれるようなもんで大学の授業から講義とLab取ったようなもの)の方が有効とか言ってる人の意味がわからない。どう考えても詐欺師の口上なのですが。もし、真子君が本当に情報テクノロジー科卒でCもC++pythonも使えないとしたら、アメリカでは大学1年の必修も突破できないですよ。でもさ、クラウドワークスでできることに書いてないって、ガチでできないんじゃないか?

うちの大学だと、4年でカーネルいじるし、4年は大学院の授業も取れる(最後の課題が大学院生は1個多い)けど、パラレルプログラミングでGPU使ったパーティクルシステムとか実装してたし、アーキテクチャではアセンブリ使ったり、BeagleBone Black上でプログラム組んだり、Shaderの授業ではcompute shaderとかtessellation shaderとか使ったり、虹とかディスクの周波数で色が変わる的なの実装してたし、ジオメトリモデリングとかもやってた。それが学部レベル到底プログラミングできない人は卒業できないと思うんだが…。ちなみにプログラミングできないと大学院では単位取れる授業1,2個しかないんじゃないかな…。結構数学的に難解な理論を実装することが多いから。課題では論文の実装とかザラ。プログラミング言語の授業ではHaskellでラムダ計算実装する課題出て、お互いのソースを分析するグループディスカッションしたけど、9割が完答してた。ググっても答え出ない感じの問題ね。

ちなみにhtmlとかcssは基本的にCSでは習いません。ガチでデザインするならデザイナーの領域だし、表示する程度だったらマークアップ言語はCとかC++pythonが当たり前に使える人には鼻歌とオーケストラくらい難易度に差があるので…。

ちょっと、プログラミング教室で無駄金払ったって人、これ拡散してくれませんか?ステマの被害者増えないように。

それと、アメリカでは起業家は尊敬されます。何故なら雇用を生み出すから。なので、1人でWebサービスをやるために起業した人は尊敬の対象ではないです。むしろ、なんて強欲で自己中なんだ、という評価かな。なんだかなぁ、システム業界はIT土方のブラック業界だし、Web業界はうさんくさい詐欺ばっかになってきたし、もう、大企業以外、スマホゲーム業界位しかまともな業界ないですよね。スマホゲーム業界も稼働はそこそこ高いけど好きでやってる人も多いから、1番まともな気がする。業界としてはね。Web業界はアルゴリズムとか最低限わかってないと入社できない最先端を攻めてる層となんとなく動けばOKの情弱市場狙い詐欺まがいの底辺の層に2分してるんだけど…。

chrome拡張機能で各種(ステマ、アフィリエイター、金目当てブロガー)ブロッカー作成開始

chatworkで攻撃的だと思ったクリエイターの方が話したらいい人だった件。直接話すほうが楽ですよね。ノンバーバルコミュニケーションって大事。

なんでTECH::CAMPを褒め称える記事が多いかやっとわかった

よく見たら、TECH::CAMPをもてはやしてるインタビュー記事はほとんど広告か自社ブログか広報だった件。そりゃね、業界に1年でもいる人間なら、こんなカリキュラムやっても趣味の人としか判断できんよ、という内容ですからね。prottのGoodpatchと組んだみたいだけど、ここのプログラミング教室はデザイナーも少しコード書けるように、とかそのレベルだと思う…。プログラマの山の2合目にも届いてないですねー。麓まで案内してすでに金を取る、的な。

下記の清水亮さんの会社に営業に来た非エンジニア職向けのプログラミング教室のT社って情報見る限りTECH::なにがしですよね。

プログラミングを知らない人がプログラミング教育をする危険性 - WirelessWire News(ワイヤレスワイヤーニュース)

d.hatena.ne.jp

自慢のgithubの一つが↓ええええええ。これただのオンラインストレージというかバックアップやんけ。バージョン管理意味ないwww

github.com

ちなみにdiv元チーフエンジニアのN氏はGoogleインターンしたあたりまではいいけど、中での評価振るわなかったのか(海外ではインターンで気に入られてそこに就職が多い)、Lang-8とか何個か経由してdiv入る直前に↓のを書いてるけど、ラムダ式(lambda expression)とラムダ計算(lambda calculus)の違いがわかってないような。参考にしてるサイトが間違ってるんだけど。わからないものの説明は止めようよ…。これがわからないことすぐ聞く弊害?間違い拡散してもなぁ。というか、俺も授業でHaskell使ってラムダ計算を実装したけど、ラムダ計算勉強するのが先じゃない?何を実装してるかわかってないのに理解できるものかな?順序逆ですよね。Y combinatorでラムダ式ってわからなかったら、まず、それが何物か知ろうとしないと。調べてたら、うお、ラムダ式ちゃうやん!ってかなり漫☆画太郎先生が書きそうな顔になるのは間違いないんだけどな。それが知らなくてもいいで教えられる怖さ。最後の引用にラムダ式じゃなくてラムダ計算って出てきてるけど、用語の違い気にしてないっぽいしね。ラムダ計算で再帰は難しい問題だから、それが出てくるわけだけど。

qiita.com

ラムダ計算とラムダ式は全然別物でラムダ計算はかのチューリングマシンと同等の強度を持ったモデルですね。チューリングマシン知らなかったら、申し訳ないけど、深い話できない気がするので計算理論の基礎を学んで下さい。P≠NPとか理論系の話するときはその辺解らないと基本的な議論にもならんのよね。Web業界の人だと、PとかNPとかNP-completeの概念は知ってた方が良いと思う。システム業界だとそこまで計算量が影響するプログラム書く必要なさそうだけど。

ちなみにこの方、今はQiita作る人になってるっぽい。よかったね、いいタイミングで抜けられて。 

ネットビジネスを続けるとたどり着くのは結局商材かコンサル

ネットビジネスの人達(アフィリエイター、金儲け目当てのブロガー)の排出するゴミは基本的に見たくないんだけど、というか、間違ってたどり着いちゃった人が9割でしょ、で、マジ、ネット嘘だらけだよな、でそれを書いてた人もアフィリエイターだったので、うげ、釣りかよ、と思ったんですが、それなりに現実を語ってる。

arata01.info

からの、結局辞めなくてよかった、で辿り着くはコンサルという。3年努力して辿り着いた先がゴミ生産工場(アフィリエイター、ブロガー、ステマサイト)のコンサルって…。で、コンサルページの作りがまたひどい。WordPress講座ってなぁ…。エンジニア的にはシェアの多いCMSなんて狙われやすいんで全く薦めないすよ。シェア多いってことはセキュリティわかってないと危ないってことで、この前、pluginに難読化されたマルウェアが埋め込まれてたとかいう話があった。なんで、こういうことが起きるか、って、シェアが多いってことは、上手くウイルス埋め込むと自動でかなりの人がミツバチになるわけですよ。個別に攻めるより楽ですよね。非エンジニアもこのプラグイン便利そう、で突っ込んで新たなミツバチ産まれる的な。上記読めばわかるけど、ブログ、アフィリエイトで稼げなかった人がブログ、アフィリエイトで稼ぐためのコンサルで3ヶ月40万、半年70万ですって。言ってしまえば亜種情報商材。半年後には破産して逃げてるかもね。あれ、成功できなかった人がその分野でご教授して稼ぐって何処かで見た構図だぞ…

arata01.info

あああ、Web業界の起業家とかフリーランスガチでうさんくせえ!!!
なんで失敗談しか語ってない人のページからコンサル依頼する奴がいるんだよ、情弱業界の闇は深すぎるだろ!!!

というわけでブロッカー作ることにした

会社のハッカソン向けにAIプログラムするので、時間取れるか微妙ですが、この類のゴミサイトを視界に入れたくないので、検索に各種ゴミサイトが出ないようにするchrome拡張機能を作ることにしました。やってる人達以外みんな不快なのに無駄にSEO対策とかで出てきちゃうんで、利用者皆でゴミサイト情報共有して自動で視界に入らなくするというゴミ掃除から。一応、隠したい種類選べるようにステマ、アフィリエイター、金儲け目当てブロガーで別々に隠す感じで。もしかして、俺、この辺の情報収集してるからGoogle先生が慮って前に出してる部分もあるのだろうか。

問題はどう対象のドメインを登録していくか。通知ボタン付けて手動確認かなぁ。ステマに詳しいという山本一郎さん、リスト持ってたりしないかなぁ…。まぁ、言っても100〜1000サイトも登録すればだいぶ綺麗になる気がする。古いのは流れてるだろうし。とりあえず、これに関しては無料で動いて、賛同してくれた人は寄付でも下さい、くらいでいいや。

小さなことからコツコツと。できたら皆、拡散してくれよなっ!

ネット上のゴミ掃除がしたい

週末、仙台に牡蠣を食べに行って知り合った女子に言われました。

IT関係って怪しい!
特にフリーランス

こちらフリーランスのITエンジニアですが、何かヽ(`Д´)ノ

 

ITエンジニアが怪しい職業だと思われてる

なんとなく理由はわかります。

  • 情報商材屋(アフィリエイター崩れ)
  • フリーランスをやたら進める自称できるエンジニア(自分派遣サービス事業者)
  • 金が欲しくて仕方ない職業ブロガー志望者(意識の高いニート)
  • ゴミニュースで稼いでる人達
  • webサービスの作り方を教えるまともな勤務経験ない人の運営するプログラミング教室とその弟子達
  • 上記につながるステマ

ネット上が気付いたらゴミだらけ(上の全部ゴミ)で、技術力ない人が技術を説明してるブログとか(勉強の履歴で70%しか理解せずに書いてるのとか、紙の日記に書いてやぎにでもあげて)、ちょっと、ネットがやばいぞ、と。アメリカの大学院卒業して、しばらくは日本にいようと思ってるので、会社の事業としてネット正常化につながることをやっていきたいな、と思ってます。ちなみに、現在、フリーランスのエンジニア(お世話になってる会社と契約してる)をしつつ、自分の会社の稼ぎがフリーランスの収入超えたらそっちのみにしようと思ってる感じです。

情報商材屋という亜種ねずみ講の人たち(怪しさ99%)

まじ胡散臭いです。この人達がネットをうさんくさくした筆頭でしょう。与沢翼とかネオヒルズ族資格商法業者は親戚ですね。アフィリエイトからのルートが多い。アフィリエイトなんて基本金にならないですからね。論理的に考えて、アフィリエイトが必要→売れない商品→宣伝して欲しい、なわけで、売れないものを売るわけですよ。で、手法として使ったふりしてお薦めするサイトを量産するという詐欺行為が行われている。リンクでa8.netとか?aid=xxxとかついてたらたいていそうですね。短縮アドレスも踏まないのが正解。でも、結局小遣いの域を出ないから、成功してる人にノウハウを教わろうと商材に金を払う。しかし、商材の中身は儲かるわけないのでこうやって商材を売りなさい、的な。もしくはググってきた話のまとめとか本人もできてないようなそんだけ時間かけて努力すれば稼げるっぽいなという妄想。それを虚飾の写真(儲かってるフリ)とかで信じ込ませて売りつけるわけです。でも、実際は商材以外の収入ほぼないからね。その通りやってもどうにもなりません。で、モラルないやつは商材屋になっていくけど、情弱しか買わない情弱市場なので、市場は時間とともに小さくなっていくわけです。

実際のところ、アフィリエイトで稼いでる人って有名人とか、専門的な知識あって、PV稼げる状態の人がスポンサーから使ってみて良かったら紹介して、って提供されたのが良かったからシェアしたとかそういう状況でしか本業レベルで稼げないですよね。普通に考えましょう、アフィリエイトで売れるようになったらアフィリエイトから広告外しますよね。そうなると永遠に売れてない他社の商品を売る営業の仕事をするわけです。それなら、売れる商品の営業に就職した方がいいんじゃない

www.tokyo-inspire.com

このブログでトレンドブログとか触れてるけど、アフィリエイトのために書いてるトレンドブログって申し訳ないけど、ネット上のゴミでしかないし、そこにSEO対策とかやられると検索結果がゴミだらけになってしまうんですよ。まじで、アフィリエイトとかやめたほうがいい。その時間はなんの技術や経験の積み上げにならないから、将来安定して稼げる力はつかない。

フリーランスを薦める自称できるエンジニア(怪しさ70%)

イケダハヤトとか、ノマドとかフリーランス絶賛してる、意識の高い子供が勘違いしたままブロガーになっちゃった人がいますが…。フリーランスって名乗ってるエンジニアって、実際は派遣的な仕事に立候補する自分派遣業者だったりしますね。全くお薦めできないです。中にはレバテックだとかにid付きでリンク貼ってる自称稼いでるエンジニアもいたから、ステマも混ざってるかも。クソなプログラミング教室(侍なんちゃら?)が3ヶ月でフリーランスとか言ってますけど、短期(3ヶ月とか)の仕事を1個2個紹介してもらえるかもですが、続かないでしょうね。今いる現場とか、1ヶ月で切られる人とかよくいるし。2週目来なかった人も…。結局、技術ないとフリーランスなんて無理です。フリーランスの方がシビアです。切るの簡単。翌月発注しないだけ。履歴書に妄想書いても現場3日目でバレますからね。エンジニアリングって基礎の上に、基礎+が乗って、そこに応用準備が乗って、みたいな積み上げの世界で、ただし、積み上げて硬めてちゃんと土台になった技術・知識を身に着けていればそこより下には落ちない世界です。3ヶ月とかのとこ、アメリカでも問題になってるコーディングブートキャンプみたいなもんですよね。

jp.techcrunch.com

これね。3ヶ月で技術力なんてつくわけなくて、センスある人間でも初心者に毛が生えだすレベルなので、そんなんでフリーランスの現場出たら、すぐ切られて、次はそこに雇われることはないです。毛ボーボーです、とか言っても技術の世界にそんな魔法の育毛剤はない。何回かそれ繰り返したら受け入れてくれるところなくなるんじゃないかな。レバテックとかランサーズとか、自分売り込みの、自分派遣的なのだと、見積もりができない人間が仕事取ったら、くっそ安く仕事させられて死にかけるのが関の山でしょう。クライアントがわかってなくて偶然実力の3倍くらいのお金もらっちゃうこともあるかもだけどね。業務請負だと賠償金とか払う羽目になってもおかしくない気がする。

crowdworks.jp

で、自分もフリーランスですが、どうやってなったかというと…。最初は派遣でした。システム会社の正社員から携帯ゲーム会社の正社員になって、会社を辞めてアメリカの大学院に通ってて、夏休みが3ヶ月くらいあったので、出稼ぎに日本に帰って、派遣会社に登録した翌日に面接して、翌週から働き出したのが今の会社です。訳あって、1年間休学して日本に戻ることになり、本格的に学費の不足分とか稼ごうとFBで宣言したら、声をかけてもらって、直接契約でフリーランスになりました。ちゃんと1000万レベルで稼いでるフリーランスのITエンジニアは大半がなろうと思ったんじゃなくて、流れでなっただけだと思います。仕事が決まってたり、得意先がなくて会社辞めてフリーランスになるエンジニアは基本自由崇拝主義のダメエンジニアだと思います。自分の1ヶ月後の生活の設計・見積もりができん人間が何を作れるのだよ。本物のフリーランスは働きたいところに声かけて、直接契約して仕事できる人です。自分を直接売れる自信がない人はフリーランスになっても不幸にしかならんと思うよ。

フリーランスで自由に働けるのは翼(技術力)を持った人だけです。フリーランスって言うことは給料が多い分、責任を全部自分で被るってことです。会社が守ってくれないってことです。経験3ヶ月のなんちゃってフリーランスができますって言ってできなかったら、依頼の料金が消えるだけじゃなくて、納期通り納入されて、稼働した場合の売上の差額分、損害賠償請求されるんですよ、普通。責任持てるだけの技術や知識がないなら、素直に孫請けにでも入って技術磨いて下克上したら良いと思います。努力で上がりやすい業界(専門外から来た人は言い訳して努力しない人が多い)なので。向いてるならね。正直、向いてない人がいくら頑張っても向いてる人が半分の勉強時間であっさり抜いてく残酷な業界です。

フリーランスは時間が自由とかやりたい仕事ができる、とか言ってるのはたいていプログラミング教室かフリーランス派遣サイトのステマです。無視しましょう。

職業ブロガー見習い(怪しさ85%)

ブログだけで食っていきたい。みたいな人いますね。100万PVあって、0.5円/1PVなら50万稼げるわけですが、100万PVとかね。ブログで稼ぎたい、って人が100万PVを得るために何書きますか?だいたい1日3万PVとして、一人が2回来ても15000人が毎日見る情報を発信できる自信ありますかね?そもそもが順序逆でね、ブログで食ってる人の中でブログで食おうと始めて実現できてる人なんてほとんどいないんじゃないですかね?日本に10人いるかどうかじゃないか?東京でヘラクレスオオカブト探すようなものじゃないですかね。人に書き物で読んでもらえるっていうのはそれなりの文才あるわけで、執筆活動とか講演もしつつが普通です。で、稼げない人が手を出すのがまた情報商材というね。そもそも考えてみなよ、金稼ぎ目的にブログ書いてる人のブログ見るやつなんて金儲けしたいやつだけだから、PVで真っ当に稼ぐのはほぼ無理でしょ。日に30人程度じゃない、そんなブログ見るの。となると、またグレーゾーン、ほぼほぼ詐欺の情報商材が出てくるわけで。自分はいくら稼いでる、だから、その方法を教える、簡単にできるとか書いてるやつはガチ信用ならないですよ。簡単にできるならパイを奪い合う人数増やしたいわけないよね、冷静に考えて。教えられるなら、嘘か簡単じゃないか、の2択ですよ。正解の入ってないやつ。当たりのない当たり入りガチャ(黒い1000円のやつ)。

俺はフリーランスのITエンジニアで年収1000万越えてるけど、5年業務経験積んで、語学含め5年かけてアメリカの大学院でコンピューターサイエンスの修士号取ってますからね。楽な道だったとは言えないけど(まぁ、好きでやってるから今はストレスはほとんど無いけど、大学院時代はやばかった)、本気で10年エンジニアやってたら残業ほとんどなくても1000万越えますよ、という感じ。やれるなら稼げるよ、マジで。本気って目の前の仕事を仕様どおりに納期内にこなすとかじゃなくて、↓の最後の普通の定義に当てはまる意識で働いてる人ね。

qiita.com

元々文系時代でも会社で上位でプログラミングできたし(今考えたら上級への壁の前で足踏みしてましたが)、未経験半年でテクニカルエンジニアDB、2年でアプリケーションエンジニアとか取ってて、コード見れば頭の中で処理走る系なので、センスはあると思う。ただ、それだけの資格取ったり経験積んでもWeb業界に転職する時は自分はまだまだだ、って思った。転職活動で半分以上のところでアルゴリズムとかの質問受けて、当時文系エンジニアでアルゴリズムの知識とか必要とも思ってなかったし。で、アメリカ行ってアルゴリズムも学部レベル大学院レベル両方取って、openGLも各種シェーダーも書けるしジオメトリからガチでテクスチャ貼ったりできるし、Ray Tracer、Photon Mapper書いたことあるし、パラレルプログラミングもopenMPopenCLなら使える。機械学習でも死にそうになりながらA-取ってるし、プログラミング言語(抽象的な言語自体の仕組み。ラムダ計算とか言語の本質的な部分)もDB(インデックスとか最適化の順序、ロックの仕組み、Hadoopなどなどの論文読んだり実装したり)も大学院レベルの知識はある、という人(テストで英語の誤認とかあってもGPA3.73なので、取ったクラスはほぼ全部9割前後は理解してる)ですので、もう少しもらってもいいと思ってる。若干持て余してます。アメリカだと10万〜15万ドル水準なんですが、飯も暮らし合わなかったし、結婚も日本人としたいですし、しばらくは日本…話逸れました、そもそも仕事大好きなので、毎日ブログ書かないと収入が確保できないなら職場行ってプログラミングした方がいいっすわー。

楽に稼げます、なんて言ってる奴を信じるのが間違い。楽に稼げる仕事って大抵グレーゾーンなので規制入った瞬間に収入なくなるし、その期間の経験が職業上の空白になります。エンジニアは楽しみながらコツコツやるほうがいいですよ。

ネットニュース記者というネットサーファー(怪しさ70%)

この人たちは給料もらってるから、ブロガーとかアフィリエイターよりマシに見えるけど、ネットサーファーですね。TVとかニュース見て、見た内容書いて、感想をtwitterの引用とともに書くだけの簡単なお仕事。あと、DeNA問題のコピー職人とか。この人達1000万前後稼いでるみたいですね。恐怖です。プロじゃないのでモラルとかプロ意識はほとんどなくて稼いで駄目になったら逃げるんだろうと思う。ただね、それ、AIでよくね、って話で。

www.itmedia.co.jp

数年後にはいない人達ですね。引きこもって、ネット上で情報集めてニュースサイトに上げる仕事とか、会社行ってプログラム書いてる方が楽しいです。

サービスを成功させたことない運営がサービスの作り方を教えるプログラミング教室(怪しさ75%)

最近ガチでやばいと思ってるのは株式会社divの真子就有とTECH::CAMP。

www.lifehacker.jp

【追記】よく見たらこの記事、PRカテゴリでSponsoredって金払って載せてもらった記事やんけ…。Lifehackerも金払えばこんな詐欺まがいの会社の広告載せちゃうのか…。

大学時代からエンジニアとして活躍した真子氏のプログラミング技術は、実はすべて独学によって習得したものだ。しかし、大学の授業ではほとんど身につかず、専門書を読みながら学習を続けたという。

日本とアメリカの違いあるけど、大学の授業でプログラミングは大して教えてくれません(概論クラス1個が教えてるくらい?)が、めちゃめちゃ求められました。

【追記】1年からpython, C, C++をガッツリやらされてました。問題解決のステップから紙でのアルゴリズム、ポインタとか静的・動的な違い、ポインタ、配列、リスト、再帰、ソートにオブジェクティブ指向。まぁ、それくらいできないと2年からの授業無理だよね…。データ構造とかポインタが基本だし。理論メインのクラスでも課題は大抵実装だったし。2/3のクラスでプログラム書いてた。

OSのクラスではCでファイルディスクリプターどうこうしたり、カーネルのディスクI/Oのエスカレータを拡張するとか。機械学習ではpythonかRあたり使いこなせないと課題1個もできないし、課題のプログラミングは一切教えられず独習でできて当たり前だった。 プログラミング言語のクラスではSyntaxとかSemanticsを自分で書くのにHaskell使ったり。学校だけで10個くらい言語使ったし、チームで作業もしたし、CとかC++使えないと話にならない。引用見ると、大学でプログラミング教えてくれる前提で語ってますが、コンピューターサイエンスの学部でプログラミングは日本語話すのと変わらないので、教えないですね。できて当たり前。音感ゼロなのに音大来ちゃったようなもんですよ。いるけどさ、実感3割程度。アメリカだと、その半分は最後までたどり着かないですね。少なくとも2人でチーム組んでも片方はできないと単位取れないし。大学で身につかなかったというなら、プログラミング向いてないとしか…。

独学で1つのサービスを構築できる域に達するには、僕の場合で約1年半の歳月を要しました。

これ、俺、文系時代にシステム会社の研修2ヶ月でほとんど質問することなくJavaですが、ショッピングサイトみたいなの作れてましたが…。この人、サービスを成功させたことはないので、データと連携してまともに動くサイトが作れるようになるまで、って意味ですよね?まぁ、思いっきり盛ったせいで自分が無能に聞こえちゃってる気がしないでもないけど…。Rails推しというか、この人php, ruby, js, objective-cしか使えないみたいなんですが、Railsフレームワーク提供しても1年半かかったんだろうか。圧倒的にプログラミング向いてないんじゃ…。

crowdworks.jp

自分で色んなとこで”波乱の起業家人生"を語ってるけど、学校でちゃんと学ばずインターンばっかして意識高くなって、内定蹴って起業して、logとかclassとかサービス作って、どっちもコケて、受託で金なんとかして、やっと当たったのがTECH::CAMPですよね?つまり、一度もサービス成功してない気がするんですが…。しかもさ、社名とかサービス名とかググった時に出にくいのを選んでるのはすごくきな臭いです。

しかも、卒業生たちが次の受講生を指導する「メンター」に就くといった好循環も生まれている。事実、「TECH::CAMP」で働くメンターの約9割は同講座の卒業生だ。

質問し放題、だけど、答えてくれる人に業務経験はない、という恐怖。学生半額とはいえ、社会人は10万以上払って、なんちゃってモックサイトしか作ったことない学生に教えられるんですよ。それが仕事に結びつく想像ができるとしたら、数学的思考ができないので、業界向いてないと思うなぁ。Aをする予定のまともにAを処理したことないAPIを呼んで、AとたまにBもしてくれるはずだと期待する、とかって話じゃないか、それ。色んなとこバグってるよ。

その理由を突き詰めてみた結果、プログラミングはとにかく手を動かして覚えるのが重要であること。そして、不明点が出てきたら即座に質問して教えてもらえること。この2つが最速で習得する秘訣(ひけつ)だと痛感したのです

前半を主張するのは中級者に多いですね。ある程度の適性あるけど、正しい努力ができない人。中級から上級への壁はアルゴリズムの理解なしでは越えられません。慣れるとプログラミングを書くのは早くなりますが、難しいことはできません。誰かがやってくれることを早く呼べるようになるだけです。後半はダメなエンジニアに多いです。すぐ聞いたら考える力育たないじゃん。問題解決できないエンジニアって、考える習慣のないエンジニアって現場的にマイナスですよ。現場に出てわかんない度に聞いてたらできるエンジニアの生産性落ちまくりです。それより、リバースエンジニアリングでソースが何してるか理解したり、ログを出してどこまで正常に処理できてるか確認したり、デバッグで処理を止めながら正しく動いてるか確認する技術を教えたほうがいいです。それで原因を特定して、ぐぐってもダメなら聞く、が普通のエンジニアです。できるエンジニアはソース読めば大体わかります。この人、話し聞く限り、才能のないダメなエンジニアの典型です。

要するに、彼はプログラミング教室をビジネスとしてやっていて、そこを出たら業界で働ける人間を作る気はないように思える。プログラミング教室でプログラミングというより、サービスを一人で作る方法教えてるしね。少人数スタートアップの初期メンバー以外にその経験は要りません。初心者はメイン部分が動く状態で小さい機能追加とかバグ修正からアサインされるのが通常です。

結果、下記のようなことになる。この人はTECH::CAMP回避したみたいだけど。

make-from-scratch.com

TECH::CAMPは紹介で金を払ってるようなので、褒めてる記事、完全にステマです。唯一、卒業生で、東大卒元マッキンゼーの人の作ったWealthNaviはちゃんとしたサービスだと思うけど、この人、独学でも変わんなかったんじゃないか、疑惑。多分、卒業生で有名なのはこの人と

blog.tech-camp.in

くらいなんだろうけど(ちなみにこれ、TECH::CAMP自体の宣伝ブログですね)、seekleはテストデータ丸見えの状態で放置されてます。まともな会社じゃ絶対ありえないやつ。開発環境とかステージング環境とか分けて、本番環境以外公開しないですからね。ある意味、この子被害者でかわいそう。サービスを作れる、作ることに意味はないんですよね。初心者に毛が生えてきた程度で作れます。ただ、サービスって多くの人に愛してもらって、喜んでもらう対価にお金をもらって(スポンサーや広告でも良い)、それでサービスをより良くして還元して、という良いループができて初めて、生きたサービスになるんです。自分達がノリで作ってノリで捨てるようなものサービスでなくただのおもちゃ、遊び場です。砂場で作った砂の城を元にビジネス語って人に教えるとか、もうね、資格商法の方がマシなんじゃないか、教材手元に残るだけ(ここはオンライン教材で卒業すると見れないらしい)。

2020年には500億個ものIoT製品が世の中に広がっている予測もあり、すさまじい勢いでエンジニアのニーズが拡大しているにもかかわらず、エンジニアの数は圧倒的に不足しているのが現実だ。裏を返せば、人材の育成という面で計り知れないほどの社会的ニーズがあるということでもある。

と記事で言っていて、人が足りないのは確かなんだけど、人材不足の原因は絶対数というより、できるエンジニアが少なすぎるわけで、基礎もわかってないRailsフレームワーク上でなんとなくデータを変えたテンプレサービスが作れる人じゃないんだよね…。そもそもIoTの時代が進んで必要なのWebサービス作れる人間じゃなくて、基礎わかってネイティブ的な部分もできるクライアントサイド作れる人間なんじゃないか?このCEOの方は、Objective-CはできてもJavaもCもC++もできないし、規模の小さい会社でのインターン以外一度も会社勤めしたことないし、Web業界でなんちゃってサービス作った経験しかないから業界事情わからないだろうけど、色々卒業生のブログ見た限り、ここで育ったエンジニアが現場来られたら、むしろ人手がさらに必要になると思う。だって、わからないことのほうが多いのに(フレームワークが勝手にやってくれる部分が多いので)、わかんなかったらすぐ聞け、って教えられてるんでしょ?メッチャコストかかるやん、その新人。いない方がいいよ、マジで。

ちょっと調べた限りCAMPとかTECHとか名前についてたり「○ヶ月でプログラマー」、「○ヶ月でフリーランス」(○は6以下)とか「○○は知らなくていい」とか書いてあるのは大半、教えてる側もプログラミングがわかってない人達だし、金目当てか本気で業界がわかってないかどっちかです。ちなみにアメリカでは半年でも問題になってます。

プログラミング=アルゴリズム+データ構造

なので、もし入会を考えているなら、説明会で講師に、IT業界の友人に

「せめてソート3種類以上の仕組みと計算量、動的配列とリストとマップの仕組みと何に向いてるかくらい説明できない人にプログラミング教えるだけの実力はない、と聞いたんですが、説明お願いできますか?」と聞いてみましょう。これは大学3年で即答できないといけないレベル良いプログラミングをするための基礎です(動くだけのクソみたいなプログラム作って満足してる人は知らんだろうけど)。別に人呼んできて説明されてもアウトだと思います。教えるのは最初に説明してた人だろうからね。むしろ、説明会の人が一番できる人で実際は教えない可能性もある。ちなみにソートはそれぞれ違うアルゴリズムの手法を使ってるので、アルゴリズムの理解にはお薦め。

あと、運営の人達が本当にプログラマなのか確認した方がいいです。プログラマの仕事はサービスを企画することでもデザインをすることでもないです。サービス作るなら、企画の人とデザインの人は別でスクール通ってて最後に組む感じならまともかなぁ。じゃなければ、教室側でプログラマの仕事以外の部分は提供してくれないと就職しても、その知識や経験、全く意味ないですよ。プログラマに求められないから。1ヶ月とか10週間しかないのにプログラミング教室でプログラマがやるべきじゃないところまでやらされるのはおかしな話です。プログラミングに専念しても3ヶ月でやっと先輩付けて仕事に参加できるかな、というのが業界の中の人間の感覚なので。

エキスパートコースは10週間で、第一線で活躍できるエンジニアとしてのスキルを身につけられる内容となっており

こういうこと言うやつは絶対信じちゃダメ。そもそもこの人、スタートアップ以外のシステム業界とかwebの大企業の第一線での働き方知らないでしょ…。プログラミングはできる人間とできない人間に分かれて、真中が少ないふたこぶラクダの才能の世界です。本来、最初にIQテスト(アルゴリズムを考える作業はIQテストの答えを導くのに似てる)で向き不向き見て向いてないなら、経験重視のインフラエンジニア講座を進めるとか、ちゃんとカウンセリングしてくれるところじゃないと無駄金払って起業家ごっこをさせられる羽目になります。10週間とかいうとこより、技術的にどの段階まで育てるとか言ってる方が信用できます。10週間で強制退場ってことは向いてない人だと半分いかない可能性ありますよ。

私はこの事業を通じて『すべての人が幸せに生きる世界を作る』というdivのビジョンを体現したいんです

これ、本気で言ってるなら本物のうつけだし、ビジネスの視点で言ってるなら、とんだペテン師だし、この人はガチでヤバイと思う。まぁ、キャッチコピー全部誇大広告だし、元々虚言癖というか誇大妄想あるんだろうけど、業界10年いて、本場の大学院でCS学んできて、彼のカリキュラムでまともなエンジニアができるとは思えません。それどころか業界の足を引っ張る、今まで以下の新たな最下層を増産してるとしか思えません。この人、金稼ぐ才能はあったのかも知れないけど、やってることは実際の価値の100倍で物を売ってるようなものなので、本物の教室が台頭してきたら長続きしないと思います。実際、有名どころのTECH系サイトに載ってる記事もよく見たら金払って載せてもらうPR記事だしなぁ。カテゴリがPRでsponsoredアイコンがついてるだけとかステマと紙一重のラインだよ。

ステマ業界の人達(怪しさ95%)

イケダハヤト的な人ですね。あと、TECH::CAMPの体験談でお薦めしてるのとか全部ステマですね。それがイケダハヤトで増殖してバズったような状態になってる。怪しい2つのカテゴリがパートナー組んで人を巻き込んでるという巻き込まれた人には蟻地獄的な構図ステマってホント詐欺の幇助に指定したほうが良いと思いますが。金儲けのために書いて(AD)表記してない人達のことで、口コミ情報知りたいのに嘘情報で薦めてくるっていうね。ステマが増える前はネットで情報なんてだいたい仕入れられるのに紙の媒体わざわざ読むとか情弱だな、と思ってたけど、今は逆に誰が書いたかもわからないネットの情報簡単に信じるなんて情弱だな、って時代になりつつあると思う

そんなクソみたいな人達がSEO対策してる件

その辺のクソ情報が金儲けのためにSEO対策とかやってるんで、まともな情報が引っかからないわけです。もうさ、一般人が情報発信するのって場所分けたほうが良いと思うんですよね。なんで、金儲けのためのクソみたいなサイトが出てこない、ちゃんと情報が手に入るネットを取り戻す活動をしていきたいと思います。

はてブロ移籍一発目で長くなりましたが、なんていうか、詐欺をするためにWebでサイト作れる程度の人が一人前気取りでゴミを量産してる気がするので、その人達が儲けられないネット改革をしていきたい。ご拝読ありがとうございました。次からは文量1/10くらいでw