Hatena::ブログ(Diary)

日々、とんは語る。

この日記のはてなブックマーク数 はてなスターカウンター Peace この日記をあなたのはてなアンテナに追加する。 rss
お問い合わせ先 mailto

2016-04-10 曇りの日。

日本のWebエンジニアの大半が、変化に対応しきれなくなっている件について。

16:53 |

ボストンで脱出ゲームしたときの写真

先週書いた10年のツケを支払ったフロント界隈におけるJavaScript開発環境(2016年4月現在)。という記事がまずまずの反響を得たのですが、僕の予想とは異なり、「こんなに多くのツールフレームワーク必要とする現状はおかしい」といった、状況批判意見が多く集まりました。

はてブのコメントのスクリーンショット

Mediumなど海外メディアでは、もはやこの種のツールを組み合わせたフロントエンド開発が当たり前として受け入れらており、この半年間ほどは「実際にどの組み合わせがベストか」という議論が行われていました。そして、そういった議論もようやく落ち着きを見せ、おおよそ僕が書いたような組み合わせに帰結しつつあります

そのため、まさかフロントは変化が激し過ぎる」とか「保守が大変そう」などといったような、1年くらい前に言われていた意見が、いまだに多くを占めるとは、まったく予想していなかったというのが正直な意見です。ひと昔まえであれば、「面白そう」とか、「もっと便利なツールがあるよ」といったポジティブ意見が中心だった気がします。

確かに、これまでの開発環境と大きく異なるため、「まだまだ対応するのは難しい」という意見は良く分かりますしかし、「対応」と「キャッチアップ」は別であり、普通にキャッチアップをしていれば、この流れは不可逆であり「今後、元に戻ることはない」と確信していなのは、むしろヤバいと感じることでしょう。

しかし、はてブTwitterFacebookコメントを見る限りでは、素人ではなく、現在Web仕事をしている人ですら、「流れが早くてついて行けない」「もう少し様子を見ておいた方が良さそう」といった日和見意見を述べており、「日本エンジニア大丈夫なのかな?」と僕は不安を覚えてしまいました。

なぜ、変化への対応がここまで遅いのか。

「なぜ、変化への対応がここまで遅いのか」という理由を考えてみて、「プログラミングが好きではない職業エンジニアが増えている」などが思い浮んだのですが、根本となる最大の理由は「英語しかドキュメントがない」ためだという結論に至りました。

この組み合わせが異常、というのはやってみると実際そんなことない。React と Redux 以外はただのツールなので、どれも半日あれば使いこなせるようになる

naoya のコメント / はてなブックマーク

id:naoya さんもこのように言っていますが、僕もReactとReduxは慣れるのに時間がかかるものの、それ以外は、単なるメソッドや、ツールしかないで、習得するまでたいして時間がかかるものではないと思います。なので、難しいという意見の大半は、おそらくまだ試していないのではないかと思います

では、実際に試すと、どの程度の期間で習得できるものなのか、ちょうど良い例があるので紹介しましょう。

英語ができれば、プログラミング初心者でも4ヶ月で React + Redux + Electron でアプリが作れる。

Urai君の写真

Urai Masato君いう若者がいます。彼はTOEIC940点の文系大学生プログラマによるブログというブログを書いており、タイトルからも分かる通り、文系大学学生で「英語はできるけど、プログラミングはまったくの素人」という学生でした。

そんな彼は、僕の友人が経営する語学学校サウスピークに去年の夏頃に留学し、TOEIC940点という素晴しいスコアマークしました。そして、日本帰国してから就職まで時間があるのでプログラミング勉強をしようと思ったとき、僕の友人に相談したのをきっかけに僕と出会いました。

僕は近年「プログラマ英語必須というけれど、プログラミングを覚えてから英語勉強するよりも、英語を覚えてからプログラミング勉強をした方が圧倒的に学習効率が良いのではないか」と考えていました。そんなとき、彼と出会った僕は、僕の考えを検証できる良い機会だと思ったので、彼に対して、次のような提案しました。

彼はこの提案に対して「ぜひ、やってみたい」と答えたので、去年の11月から英語プログラミングを学ぶと、どれくらいの早さで学習できるのか?」という実験がスタートしました。

その結果は、

という記事にまとめられていますが、主にJavaScriptを中心に学習した結果、

といった風に、本当にプログラミングをまったく書いたことのない状態から、4ヶ月でElectronを使ってはてなブログに記事を投稿できるデスクトップアプリケーションを自作するまで成長しました。

僕が言うのもなんですが、これは異常に早いと言っても良いのではないでしょうか?僕は正直、危機感を覚えたくらいです。

彼に英語記事課題を与えてみて分かったことは、

ということです。記事を読む早さは、本当にびびるくらい早く、例えば、ブラウザレンダリングの仕組みを学んでもらおうと思ってConstructing the Object Modelという記事を与えると、半日もかからず読んで理解するという感じです。そんなわけで、予想を大きく上まわるスピード学習課題を消化されたため、新しい課題を探すのがとても大変でした。

他にも、UNIX/Linuxコマンド英語学習すると、pwd は「Print Working Directory」の略なので、そのまま英語意味からコマンド名を覚えることができるなど、様々なメリットがありました。

再現性がないため、純粋比較は難しいのですが、僕がこれまで教えた経験から判断によると、やはり「英語を先に学んでからプログラミング勉強した方が、圧倒的にプログラミング学習効率が高い」という結論に至りました。

この経験自分の中で新しい確信と素晴しい価値観を生み出しました。そこで、Urai君のような若者もっと育たいと思いサウスピークに相談してみたところ快諾を得たので、今年度からまったく新しくエンジニア育成プロジェクトをやってみることにしました。

英語Webエンジニアリングを学ぶ、サウスピーク「光速Webエンジニアプラン

世の中にはITブートキャンプと呼ばれる短期間でITスキルを学ぶサービスや、IT留学プランなる英語プログラミングを同時に学ぶサービスがあります

しかし、今回企画した「光速Webエンジニアプラン」は、それらとは違い、まずはスラスラと英文が読めるまで本気で英語勉強してもらい、その後でプログラミング勉強を開始します。これは、先に述べた通り、プログラミング学習には、英語を読めることが、圧倒的なアドバンテージを生むためです。

『英語ができない人』と『光速Webエンジニアプラン』の学習曲線イメージ図

このアドバンテージイメージ図にしてみると上記のようになります。Aの場合半年間の学習アドバンテージがありますが、英語をスラスラ読めるBでは、情報量に圧倒的な差があるため、個人差はありますが、Aの3倍のスピードで成長したとします。

そうすると、半年遅れにも関わらず、Bはプログラミング学習を開始して3ヶ月後にAを抜き去ってしまます。そして、新しい技術が増え続けるIT業界では、英語による情報格差が縮まることはなく、逆に開く一方であるため、2年後、3年後には、とても比較ができないほどの差が生まれることになります

このプラン詳細は、1年で最先端Webエンジニアになれる、サウスピーク光速Webエンジニアプラン【先着10名、5月末まで】をご確認ください。

1年で最先端Webエンジニアになれる、サウスピーク光速Webエンジニアプラン【先着10名、5月末まで】

最後に、4月9日技術評論社から、僕も寄稿した仕事ですぐ役立つ Vim&Emacsエキスパート活用術という本が発売されましたので、興味のある方はぜひどうぞ。

藤澤藤澤 2016/04/10 20:57 同感です。
ただ使わない使ってる見たことがないという人はレベルにいないことを理解してないまたは認めたくないのかなと、最近は思うことにしてます。
みんながみんなそうじゃないので安心してください(੭ु´・ω・`)੭ु⁾⁾
さすがに940点の子のレベルには到底なれませんが笑なりたいですけどね

tomoyatomoya 2016/04/10 21:13 それなりの批判覚悟で書いた記事だったのですが、はてブやTwitterでは僕が思ったよりも肯定的な意見が多いようなので、日本の未来もまだまだ明いのでは? と少し思えるようになりました。

YMDYMD 2016/04/11 10:22 僕の職場では日和見な人が多い理由としては英語がわからないにプラスして
受託開発
だからってのが大きいですね。

人月どれだけ積めばいいかわからない、とか、そもそもお客さんにこの技術使っていいか
確認しなきゃだめ とか ・・・

増田治雄増田治雄 2016/04/11 19:33 Seasideを使われた事は有りますか?
Drag & Dropで画面を構築でき、Smalltalkだけで処理を記述できます。
もし使われた事がないんでしたら、あなたも技術について行けてない方と変わらないと思いますが。

Shogo WadaShogo Wada 2016/04/13 20:33 確かに、流れが早くてついていけない、という心持ちはあまり好ましくないかもしれませんね。業界全体がJavaScriptに向かっているのは確かなので、今後もフロントエンドをやりたいなら、JavaScriptは学ばなければならないのかもしれません。Rubyという選択肢もありますが。

ですが、海外でも未だにその開発環境は好ましくないという意見が多いですよ。特に批判が多いのは、この記事でも言われている通り、依存しなければならないライブラリーが多いことです。NPMだと、普通のプロジェクトでも千以上のライブラリーに依存しなければならないことが多いですからね。
依存が増えると、リスクも増えます。長期的に維持しなければならないプロジェクトの場合は、長期的に依存の管理もしなければならないので、さらにリスクが増えます。そして、ビジネスの中で生まれるプロジェクトは、ほとんどが長期的な管理が必要なものです。
特にleft-padの事件があったときには、多くの開発者がこのことについて語っていました。依存の多さに肯定的な開発者は、あまり見たことがありません。こんな皮肉も流行りました->https://twitter.com/yogthos/status/713090123894796288

無条件で慣れ親しんだ技術に固執するのはダメですが、無条件で新しい技術に固執するのもダメですよね。

結局、他に使えるものもないから使うんですけどね😊ただでさえ進化が早いプログラミング業界の中でも、今一番進化が早い分野なので、今後が楽しみです。

YumaInauraYumaInaura 2016/04/14 23:35 ive thought know how to use, how to readl English is very important factor for programers.
But other people dont think same.

If Japanese document and English document both exist, Japanese programers select to read Japanese naturaly.
I wonder.

I hope all programers write and communicate in English only!

tkstks 2016/07/20 09:34 「フロントは変化が激し過ぎる」とか「保守が大変そう」こんなの今に始まったことじゃない。技術だけ追い求めてる、恵まれたエンジニアは数少ない。大半はお客様がいて、厳しい納期の中、メンバー調整もし価値あるものをどうやって世の中に送り出せるか?を日々模索しながら仕事している。そういったエンジニアからしてみると「フロントは変化が激し過ぎる」とか「保守が大変そう」は、ごく自然な感情だと思う。結局与えられた時間を何に費やすか? 技術習得だけにつかってたら、世の中に価値あるサービスを送り出すことは難しいと思うけどなぁ・・・。

TatsuyaYamaTatsuyaYama 2017/03/15 01:38 はじめまして。「光速Webエンジニアプラン」にとても興味があるのですが、年齢制限があるのはなぜでしょうか?
現在、35歳なのですが、高校卒業以来、メインフレーム系でやってきたのですが、ご指摘の通り技術の波に乗り遅れていることを痛感しております。
Web系技術と英語を身に着けて、Webエンジニアに転職しようと思うのですが、難しいでしょうか?

トラックバック - http://d.hatena.ne.jp/tomoya/20160410/1460274822
<< 2016/04 >>
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30