を読んだ。刺激的な内容だが、もやもやしてたのが言語化された感じで「はっ」とした。
と、同時に現状コピペプログラマが生まれるのは仕方ないことだとも思ってしまった。
1つは、根底の意識。もう一つは日本という環境が原因だと思っている。
私は縁あって外国人が多い会社で働いている。そこでWebエンジニアをしている。
一緒に働いている外国人エンジニアが、まぁ優秀なのだ。最近大学を出たばかりの人もいるが、優秀になるレールを歩んでいる。
一緒に働いてると日本人(俺)ってヤベーな。と思うことが多々ある。プログラムに関する意識が出発点から違うのだ。
彼らは以下の共通認識があるように思える。
3. 英語ができるのは当たり前
海外ではソフトウェアエンジニアは、医者に次ぐ人気職であるそうだ。今は帰国したが、一緒に働いてたインド人エンジニアは、大学受験をした際、医者とエンジニアで迷った。と言っていた。
彼ほどではないが、同世代の中でも優秀な若者が、明確なエンジニア希望をもって専門の過程を経てエンジニアとなる。
Linuxやネットワークなどの底レイヤーから、自分の興味ある分野(バックエンドやフロント、アプリ開発)まで、ある程度できる人がインターンを経て入社する。
私の経歴はというと、かなりお粗末なものだ。お世辞にも良いと言えない大学の文系卒で、大きいプロジェクト動かすマネジメントカッケーって思ってSIerを就職口の一つとして選んで入った。大学卒業時にはJavaとJavaScriptの区別がつかなかった。
そんな私でも独学と、勘と、経験によりある程度のことはできるようになったとは思っている(思いたい)のだが、優秀な彼らを見ると、コンピュータサイエンスを学ばずしてエンジニアを名乗ってる自分が恥ずかしくなる時が周期的に訪れる。
つまり、0ではないと思うが、文系卒、更には未経験が就職でプログラマを選ぶという選択肢は日本に比べると圧倒的に少ない。
そのため、外れプログラマは少なく、腐ったリンゴが少ない彼らは腐る確立が低いのだと思う。
私自身もその口だったし、今も抜け出したとは言えない。
しかし、彼らは違うように思える。その根底にあるのは、コンピュータサイエンスを学んできたが故、プログラムは難しいという意識と、造詣の深さだと思う。
もちろん、彼らとてExampleなく出発することはできないが、コピペで済ますことは極力しない。
ちゃんと手を動かして、表面だけでなく、どうやって動いてるかを理解しようとしている。1つの機能実装する時は、3つほどルートを探したり、必要なパラメータ、オプション以外もちゃんと調べてコーディングしている。
そのため、簡単にできます。とはあまり言わない。例えば、form一つ作る時も背景を理解して実装を行う。様々なセキュリティリスクを考慮して、フレームワークを選択している。
自分なんて、必要な部分しか見なかったし、そもそも調べる意識がなかった。ある時、私は仕事が早くなったと息巻いてたが、今思うとなんてことはない。単にググるのが上手くなっただけだったのだ。
3. 英語ができるのは当たり前
少し変わった環境で、いろんな国籍の人が働いている。スペイン、イタリア、聞いたことのない国の人もいる。しかしながら、彼らは一貫として英語がしゃべれるし、書ける。「え、公用語でしょ?」と言わんばかりだ。
だからなのか情報のキャッチアップが早い。わからないところはissueを漁るし、質問する。まず当たるのは公式だ。英語を英語のまま取り入れる。
総意の認識であると思うが、プログラムの1次ソースは英語だ。私たちの目に触れる多くは優秀な日本人エンジニアが翻訳した情報である。そもそも張っているアンテナが違う。
あと、上手くは言語化できないのだが、そもそも降りてくる情報自体が綺麗に整ったもの、絞られたものが多いのだ。そのため、泥水をすすることが少ないと思う。だからなのか、過程をすっ飛ばして答えを求めるサイトが多いような気がする。
では、この意識の違いはどこから来るかというと、日本という環境が大きいのかもしれない。
まず日本は、他国に比べて内需で食っていけるような環境である。
企業の発展にはエンジニアは必要不可欠。そのため専門知識を学んでなくとも、大量募集 - 大量採用が行われたのだと思う。
その後、海外の優秀なエンジニアが入ってテコ入れするかと言うとそうではない、日本語という既得権で守られているからだ。
なので私たちは気づきにくい。世界のトレンドとか、プログラムの書き方とか、考え方とか。そのためコピペエンジニアは自分をコピペエンジニアと知らないまま成長し、なまじ仕事ができて自信を覚え、次のコピペエンジニアを育てる仕組みが出来上がっていると推測する。
ここ数年でエンジニアを主体とする会社が増え、そのような意識が変わってきていると思うが、浸透するにはまだまだかかるはずだ。
根本的な解決となると、日本のあり方、教育を変えていく必要が出てくる。一例あげると、新卒一括で学部関係なくなんでもなれることはそもそも間違いなのだ。(自分はその経緯でエンジニアにならせてもらったことは棚にあげる)
自分なんて、必要な部分しか見なかったし、そもそも調べる意識がなかった。 ある時、私は仕事が早くなったと息巻いてたが、今思うとなんてことはない。 単にググるのが上手くな...
さすが日本三大誤字