マナブさんのツイートが若干燃えたので記事にしました。
結論として、マナブさんは半分合ってる、半分間違えたというだけです。
この記事ではNode.jsは誰がやるの!?という問題について迫りたいと思います。
初めに言っておくとこの記事は、マナブさん自身を否定することも反対意見を言ってる人を否定することもしません。
あくまでアンケートや実数値を元に自分の経験も踏まえてNode.jsは誰がやっているのか?を今回の騒動に沿って自分の意見として解説したいと思います。
大論争になったきっかけ
きっかけは下記投稿でした。
たまにエンジニア案件を眺めているのですが(市場ニーズの調査のため)、最近だと「Node.js」や「Firebase」がイケてる感じ😌
やはり、これからの時代は「バックエンドは無視して、JSでゴリゴリとサービス開発」という感じですかね。リモートワークで月収100万の案件もありますね pic.twitter.com/alqnrTChdH— マナブ@バンコク (@manabubannai) August 18, 2019
たまにエンジニア案件を眺めているのですが(市場ニーズの調査のため)、最近だと「Node.js」や「Firebase」がイケてる感じ😌
やはり、これからの時代は「バックエンドは無視して、JSでゴリゴリとサービス開発」という感じですかね。リモートワークで月収100万の案件もありますね
それに対して批判があったようです。
Nodejsはバックエンドですが?
何言ってるんです?バックエンドでvueやreactをビルドして表示できるようにしてるの分からないんです?
現にサーバーサイドやフルスタックnodejsフレームワーク増えてますよ?
Express sails adonis nest koa hapi…ちゃんとJavaScript勉強してから出直してこい
それに対してマナブさんは謝罪しました。
申し訳ないです🙇♂️
こちらのツイートで色々と間違いがあったようで、、Node.jsをフロントエンドのJSと勘違いしていました。ちょっとJS系は複雑で、しっかり理解していないので、今後は気をつけます🙇♂️ https://t.co/EawyH7vXXC— マナブ@バンコク (@manabubannai) August 19, 2019
申し訳ないです🙇♂️
こちらのツイートで色々と間違いがあったようで、、Node.jsをフロントエンドのJSと勘違いしていました。ちょっとJS系は複雑で、しっかり理解していないので、今後は気をつけます🙇♂️
この謝罪のツイートに対して結構批判があったようです。
詳細はツイートに飛んでいただければと思います。
普通のフロントエンジニアならnodejsがフロントなんて絶対に間違えませんし、毎日積み上げてるというのもブログと動画ばっかりでとてもコーティングしてるように見えないし、現役エンジニアから見て、マナブさんはエンジニアというプログラミングレベルの域だとは到底思えません。
— 湊@機械学習エンジニア (@python_mllover) August 19, 2019
一つ目、Node.jsをイケてると紹介しています。知らないものをイケてると紹介したのであれば知ったかのペテン師です。
二つ目、エンジニア名乗っているのが恥ずかしいレベルです。使えるかどうかは別にして、概要すら把握していないのはJSを扱うエンジニアとして論外です。
— ルグ (@lug120542) August 19, 2019
問題点の整理
ここで今回の問題点を二つ挙げます。
1つ目は、Node.jsをバックエンドのJSだと認識してなかった点。
2つ目は、Node.jsをバックエンドエンジニアしかやらないと思ってしまった点です。
1.「バックエンドを無視して」
1つ目の問題点として、マナブさんのツイートは下記が問題だったように思います。
最近だと「Node.js」や「Firebase」がイケてる感じ😌
やはり、これからの時代は「バックエンドは無視して、JSでゴリゴリとサービス開発」という感じですかね。
自分はこの時マナブさんの意図としてバックエンド=バックエンドエンジニアという認識だったのでさほど違和感は感じず、マナブさんのバックエンドエンジニア不要論の一貫した主張だなと思って流していました。
しかし下記指摘されたことについて
Nodejsはバックエンドですが?
下記のような謝罪をしてしまいました。
Node.jsをフロントエンドのJSと勘違いしていました。
つまりマナブさんが言うバックエンドというのはバックエンドエンジニアではなくバックエンド技術のことだったということになります。
Node.jsはサーバーサイドJavaScriptなのでこれは間違いになります。
バックエンドは無視して、JSでゴリゴリとサービス開発というのは、Node.js(バックエンド)を使うことができないので確かに下記の方が言う通り論理破綻と言えます。
イケてるからの結論が「バックエンド無視してJSで〜」なので、バックエンドのjs実行環境のnode.jsを引き合いに出している時点で論理破綻しています。
で、フロントエンドのエンジニアだからnode.js知らなくても良いって、フロントエンドのフレームワークで開発する時もnode.js使いますよ。
— ルグ (@lug120542) August 20, 2019
2.Node.jsをバックエンドエンジニアしかやらないと思ってしまった点
実はこの件、マナブさん謝る必要なかったのです!!
本人が間違えを認めてるので別にいいのですが。。
マナブさんがどこまで理解してるかは知る由もないですが、もし下記のように解説していたら話は通ったはずです。
やはり、これからの時代は「バックエンドエンジニアは無視して、フロントエンドエンジニアがJSでゴリゴリとサービス開発」という感じですかね。
(これもバックエンドをかなり煽ったツイートになりますが笑自分はこうは思ってませんよ)
Node.jsは誰のもの?緊急アンケート
先述した
Nodejsはバックエンド技術ですがフロントエンドエンジニアが書くことも多いんですよ
社内にNode.jsやってる人がいる方にお伺いします。
その人の職種は— hoshi@フロントエンドフリーランス (@funclur_01) August 19, 2019
結果、現時点でフロントエンドエンジニアがNode.jsをやってるケースが一番多いとなっています。
母数が少ないですが、多くなっても何となく比率はこのくらいなんじゃないかなと思っています。
つまり言いたいのは、Node.jsはバックエンドエンジニアだけの技術じゃありませんよ。という話です。
Node.jsの求人はどちらが多いの?
Node.jsどちらがやるの問題は実際に求人を見れば、確定的な答えが得られるかと思います。
レバテックフリーランスで調べてみました。
「Node.js フロントエンドエンジニア」で検索
案件数は26件でした。
「Node.js バックエンドエンジニア」で検索
案件数は1件でした。
なぜフロントエンドエンジニアがバックエンドやってるの?
この辺は、確かにマナブさんの言うように複雑でいつの間にかフロントエンドがバックエンドを担うようになってしまいました。
理由としてNode.jsは言語としてはJavaScriptなのでバックエンドよりもフロントエンドの方が知見があり入りやすい、バックエンドエンジニアの方が学習コストが高いとかそういう理由かと思います。
あとはフロントエンドの人は、新しいものや流行に飛びつける人が多いからかNode.js以外にも様々な技術が浸透しているようにも思います。
ここまでの結論
ここまでの結論を一旦まとめると以下です。
- バックエンド技術がいらないということはない
- フロントエンドエンジニアもバックエンドエンジニアもNode.jsやるよ
この2点は、紛れもない事実ですので覚えてもらって大丈夫かと思います。
間違えてもいいのか!?
もう一つ今回の件には問題点が隠れていて発信者が間違えてもいいのか?問題です。
もちろん間違えはありますし、それ自体は問題ないです。今回もマナブさんは(謝る必要はなかったですが、)否を認め謝っています。
ただ、いくつかの意見でありましたが、ふわっとした知識で語ってしまうのはとても危険であるということを示してくれたようにも思います。
この辺については自分もブログやTwitterで発信してる身としては、かなり気を遣ってるところです。例えばtwitterではなくTwitterですし、js、javascriptではなくJavaScriptなんですよね。
過去記事はもしかしたら表記ミスあるかもですが、、ここ数か月は特に気を付けるようになりました。
つまり発信者はなるべく正しい情報を発信するというのは義務に違いのかなと思います。
1つそう思った例があります。
あるTwitterでの発信者の方で駆け出しエンジニアでブログも書き始めたという方の技術ブログを拝見したら次のようなことが書いてありました。
classを使い過ぎてると感じたらidを使うのもあり♪
一言一句正確ではないのですが、雰囲気はこんな感じでした。自分よりもフォロワーがいていいねも多かったのでその時はう~んどうしようと考え結果何もしなかったのですが
これを見た時に自分は、正しい情報を伝えなければいけない、不明確なことは不明確と事前に伝えようと思いました。
完璧にできているかは分かりませんが、心がけという感じですかね。
まとめ
また、マナブさんについて書いてしまいました。。
結論、何はともあれマナブさんはすごいってことです。
下記のツイートは真意です。
大半のエンジニアは「スキルを伸ばせば、収入が伸びる」と考えていますが、これは勘違い。収入を伸ばす方法は「高単価の案件を受注すること」です。
スキルが高くても、それにお金を払う人がなかったら、収入は伸びません。稼ぎたいエンジニアの最適解は「必要とされるスキルを学ぶこと」だと思う😌— マナブ@バンコク (@manabubannai) August 18, 2019
大半のエンジニアは「スキルを伸ばせば、収入が伸びる」と考えていますが、これは勘違い。収入を伸ばす方法は「高単価の案件を受注すること」です。
スキルが高くても、それにお金を払う人がなかったら、収入は伸びません。稼ぎたいエンジニアの最適解は「必要とされるスキルを学ぶこと」だと思う😌
コメント