コンピューターやガジェットが好きな人が「プログラマーに向いている!」と思われるのはよくありがちな話ではないでしょうか。しかし現実はそう単純ではありません。コンピューター好きが必ずしもプログラマーに向いているわけではないのです。この記事では、その理由や、逆に「こんな人がプログラマーに向いているのでは?」という仮説を掘り下げてみます。
「コンピューターが好きだからプログラマーになる」というのは、音楽好きが必ずしもプロのミュージシャンになるとは限らないのと似ています。理由をいくつか挙げてみましょう。
プログラミングの仕事は、エラー解決やロジック設計といった地道な作業の積み重ねです。たとえ最新のガジェットを眺めたり活用するのが好きでも、コードのバグに数日間向き合える忍耐力がなければ苦痛に感じるかもしれません。
例えるなら、コンピューター好きは「車のデザインが好き」、プログラマーは「エンジンを分解して修理するのが得意」という違いがあるのです。
何かを「好き」なことと「得意」なことは必ずしも一致しません。コンピューターが好きな人でも、論理的な思考や抽象化能力が苦手であれば、プログラミングの壁にぶつかることがあります。一方で、コンピューターには特に興味がないけど数学やパズルが得意な人が、プログラマーとして成功するケースも少なくありません。もちろん「好き」と「得意」が両立している方もいるでしょう。
では、プログラマーに向いているのはどんな人でしょうか?ここではいくつかの仮説を挙げてみます。
プログラミングは「ある条件下で、どうすれば目的を達成できるか」を考える作業です。図形の証明問題のように、複雑な関連性を直感的に把握して整理できる人は、そのスキルをプログラミングに活かせるでしょう。
直感的に気づかなければ、永遠にわかるわけがない!というバグも沢山あります。
バグを見つけ出す能力は、細部への気配りと忍耐力に直結します。間違い探しやパズルが得意な人は、コードのエラーを素早く発見できる可能性があります。
プログラミングでは「この具体的な問題を、どう抽象化して他のケースにも適用できるか」を考える場面が多いです。例えば、日々の生活でも「こうすれば効率よく家事ができる」と、自然に工夫を思いつくタイプの人は、プログラミングにも向いているでしょう。
意外かもしれませんが、プログラマーにはチームで作業することが多いです。他のエンジニアやクライアントと意思疎通を図る力も、プログラミングを仕事にする上で重要です。
「プログラミングが面白そう」と感じる人の多くが抱えるのは、「興味」と「実務」のギャップです。趣味でプログラムを書くのは楽しいけれど、実務では以下のような点が苦労につながることがあります。
コンピューターやガジェットが好きなだけでは、プログラマーとして成功する保証はありません。ただし、「向き・不向き」を決めつけず、一歩踏み出してみることも大事です。実際にコードを書き、問題を解決する楽しさを知れば、自分がプログラミングに向いているかどうかが見えてくるでしょう。
仕事として、様々なストレスの中でも冷静さを保ちながら、バグがなく読みやすくてメンテナンスもしやすいプログラムを作る作業を極めれば、きっと大きな達成感を味わうことができるでしょう。
SHARE info のような Webサービスを自社で開発/提供している弊社のような会社では、たとえプログラムが上手作れても、お客様に提供するためには、企画・設計、作ったプログラムのテスト、マーケティング、サポートや事務処理といった色々な仕事も必要になるので、プログラミングさえできればよし!とならないのも現実です。