会社の採用を担当させてもらうことがちょくちょくあって、そのときにいつも思うことがあります。
自分の書いたソースコードを説明できない人が多すぎる!
「こんなの作りました!」って、githubとかでポートフォリオを見せてくれるんだけど、いざソースコードの中で
「ここってなんでこういう書き方にしたんですか?」
って聞いたら、
「えっと、特に理由は無いです」
とか、
「ライブラリ使ってて……そういう書き方をしないといけないので……」
(↑なお、質問している箇所はライブラリ関係無いところ)
とか。
それってつまり、「よく分からずにコード書いてます!」ってことですよね??
特にちゃんと統計を出したわけではないけど、肌感的には未経験の人のうち、5人に4人くらいはこのタイプな気がしてます。
これを読んでる方の中にも身に覚えがある方いるんじゃないですかね?笑
たしかにちゃんと理解してコードを書くって結構難しいことだと思います。
でもだからって、じゃあ動いていれば自分で何が書いてあるか分かってなくてもOKなの?っていうと決してそんなことはない。
本来は自分でちゃんと理解してないと、コードを書くってできないはずなんですけどねぇ。
未経験採用でスキルはあまり求められてない
そもそも未経験を採用してる会社だったら、現状のスキルってぶっちゃけそこまで求めてません。
※さすがにプログラムを一切書いたことありませんっていう人は論外ですが……
実際にそういう人も過去にいましたw
もちろんあるに越したことはないんですが、いくらスクールや動画教材で勉強してたとしても、やはり実業務でしか学べないことってたくさんあるので、どっちみち会社としては多かれ少なかれ教育コストが掛かることは想定しています。
よく掲示板アプリや商品管理アプリなどを練習で作って、それをポートフォリオとして提出してくれる方がいますが、そういう掲示板とか商品管理アプリってチュートリアルがネットや本でいくらでも手に入るんですよね。
なので、コードについて質問したときに説明できないと
(あ、これはどこかのソースコードをコピペしてきただけなんだな)
って思っちゃいます。
もちろんコピペが悪いというわけでは決してないです。
ただコピペだったとしても、そのコードを理解して使うのとそうでないとではまったく別ですから。
いろんなところからよくわからないコードをコピペして作ってきた人よりも、作ったもの自体は大したものじゃなくても「ここで苦労した」とか「ここを工夫した」とかって言える人の方が伸びしろを感じるんです。
採用担当者は現状のスキルよりも ”伸びしろ” を重視してる
なんで説明できる人の方が伸びしろを感じるのかというと、そういう人の方が考えてコードを書ける人なんだと判断できるからなんです。
業務でプログラムを書くというのは、新しいものを作るということなんですよね。
つまりコピペコピペでやってきた人だと、いざ世の中にまだ存在しない革新的なものを作ろうとなったときに、真似するものが無いので行き詰まってしまいます。
もちろん1から教えればできるようになる人もいるかもしれませんが、それってかなりのギャンブルなので、そういう人に教育コストを掛けるのはかなりのリスクになります。
一方で考えてコードが書ける人だと、今はそんなにスキルが無かったとしても、基礎さえ教えれば後は自分で勝手に考えてやってくれるので、教える側もかなり楽なんですよね。
しかも説明できる人の方が少ないとなれば、もうその人を採用しない理由はありません!
コードを理解しながら書こう!
プログラミングの勉強を始めたばかりの頃って、やりたいことがたくさんあって、コピペだったとしても動くものが作れたら楽しいので、ついついあれもこれも!ってなりますよね。
それ自体はむしろ良いことだと思ってます。
モチベーションって大事なので、そういうのでモチベーション上げていくのは正しいやり方だと思ってます。
ただ、コピペで動くものができたら「よし!動いたから次!」となるのではなく、コードを一つ一つ追っていっていって、
- そのコードが何をしているのか?
- なんでその書き方なのか?
を調べながら学習してほしいなと思います。
まとめ
プログラミングって覚えることが多すぎて「あれもやらなきゃ、これもやらなきゃ!」ってなりがちですが、欲張ってちゃんと理解しないままコードを書くくらいなら、初級者向けのテキストレベルでもちゃんと理解してる人の方が伸びしろがあるように見えるし、ちゃんと考えられる人なんだなって見てもらえるよっていうお話でした。
いろんな技術に手を出しすぎてどれも中途半端になっちゃってる人は、一度立ち止まってみると幸せになれるかもしれませんよ。
コメント