先日のブログでも少し書いたのですが、現在プログラマーを求人中で、何人かの方と面談を行ったりしましたが、
プログラマーに限らずIT業界の仕事は向き不向きがかなりはっきりとあり、なかなか難しいと感じています。
(中略)
私の勤務先でも様々なタイプの人がいますが、プログラミングで活躍する人は、
・プログラミングに限らず、誘いをかけるとやってみたいと動く人
嫌いな分野には手を出さないタイプもいますが・・・
・言われなくても余計なことまであれこれやりまくる人
・分かった振りをせず、食らいついてくる人
・自分で勝手にあれこれ作ってみている人
・自分でやったことを見てもらうことができる人・むしろ見せたい人?
こんなタイプが多い気がします。もちろん例外もたくさんありますが。
プログラミングはパソコン1台あれば簡単にできる時代です。電子工作に比べても道具は断然必要ありません。
誰でもやりたいと思えばすぐにできる技術です。英会話を本気で身につけるよりも環境面では簡単でしょう。
海外に行く必要も、英会話学校に行く必要もなく、パソコン1台あれば良いだけですので。
そんな状態で、目の前に取り組むべき課題があり、やってみるための環境があるのにワクワクしない人はおそらく向いていない人だと思います。
言われたことだけ坦々とこなす仕事ではありませんので。
ただし、あまりにもプログラミングだけに没頭してしまうタイプも危険です。体を壊したり、精神的に病んでしまったりすることもありますし、
仕事ではどうしてもメンバー・パートナーさん・お客さんとのコミュニケーションも多少は必要ですので、あまりにもプログラミングだけというのもなかなか上手くいきません。
とはいえ、多くの人はIT業界やプログラミングに多少なりとも興味があったから扉を叩いてみたのだと思います。受け入れる側も最初に書いたように、
技術面での高望みはしていません。知ったかぶりをしても詳しい人から見ればすぐに分かりますから、
知らないことは知らないと言えば良いのですし、興味があることはどんどん質問してみたり、やらせてもらったりすれば良いのです。
なかなかそれができずに、雰囲気に飲まれて動けなくなってしまう人が多いのが残念です。受け入れる側が一番困るのは、状況が分からないことです。
「分かっているのか分からないのか」「進んでいるのか止まっているのか」など、素直にどんどん報告・相談してくれるだけでどれだけ安心できることでしょう。
5分悩んで解決できないことは、自分で考えてもまず分かりません。とっとと相談すれば良いのです。
それがなかなかできないのは、受け入れ側の雰囲気もあるのでしょうけれど、なかなか難しいところですね。
プログラマーの仕事は、できる人とそうでない人で大きな開きがあります。私なら5分で解決できるネットワークプログラミングの課題でも、
初心者なら1週間かかってもできないというのはごく普通にあります。
でも、その差は基本的に「知っているか知らないか」「やったことがあるかないか」なのです。
知らないことは調べれば良いですし、詳しい人がいれば聞けば良いのです。多くのプログラムは簡単に動かせることが多いので、
作って動かしてみれば良いのです。そうすれば同じような課題はすぐにできるようになります。それをどれだけ経験したかどうかだけであり、
別に「頭が良いか悪いか」はあまり関係ないのです。ところが最初は周りがスーパーマンに見えてしまい、「自分の能力が低すぎるのだ」と自分を責めてしまうので
苦しくなってしまうのです。もったいないことです。
なお、長年プログラマーを続け、社長としても仕事をしてきた経験から言うと、本当に頭や心を使うのはプログラミングよりもさまざまな
決断や人間関係の調整でしょう。むしろプログラミングは素直で自分が書いたとおりにしか動きません。
本当に能力の差が出るのはプログラミングよりも他の仕事だと思います。プログラミングは経験がほぼ全てですから。
まあ、余程難しいアルゴリズムを思いつくことなどは能力も必要ですが、そういう仕事はそれほど多くもありませんし、初心者に求めません。
「能力ではなく経験」「自分の頭を責めるのではなく、やってみること」がプログラマーとしてはまず大事な考えだと思います。