向いている人
プログラマに向いている人とは
プログラマに向いている人に見られる特徴というものがあります。現場や採用担当の方からの話しから浮かびあがったものを紹介したいと思います。
まず、端的に言えば「要点を絞れること」にあります。これはコーディングから通常の文章に至るまで表れてきます。プログラムという作業は人とコンピュータの翻訳者でもありますから、いかにその翻訳を簡潔にできるかというのが重要になるわけです。例えば、特性のある人のプログラムは短く簡潔なものになりますし、何かを説明するときにも要点を押さえたシンプルなものになります。通常の文章でも誤字や脱字が少なく、改行や句読点が適切に打たれた読みやすいものである傾向が強いです。これはプログラマとして、ただ単に動くものを作れば良いというものではなく、プロジェクト全体として連携の取れるプログラマであるかということに関連します。読みにくいコード、わかりにくいドキュメントを書くプログラマ、説明の下手なプログラマという例を想像してもらえればわかりやすいと思います。
物事を構造的に考えられるか
前述の「要点を絞る」ということにも関連しますが、物事を構造的に考えられるというのも特性のひとつです。すなわち整理のされていない問題やニーズに対して、それを分析し、あらゆるパターンを推測するということです。プログラムでいえば例外処理やエラーの対処に繋がりますし、どういう事象が起こり得るかという想像力が適切なプログラムを生み出すことになるのです。「こういうことがしたい」という要求から、何が必要なのか、何が問題になりそうなのか、どういう方法があるのか、細かなことまで想像できることも特性のひとつです。
日頃から漫然と行動するのではなく、計画を立て、起こりうるリスクを回避するようにすればこれは鍛えられるでしょう。
習得したことを自分のものにできるか
最後に、習得したことをきちんと自分のものにしていけるかということをあげます。プログラマを仕事にしていると、自ら率先して学んだり、もしくは必要に迫られてスキルを身につけることがたくさんあります。ただその場で覚えるだけでなく、実際に身になるスキルや経験としなくてはすぐに失われていきます。
例えば新しい言語で少しプログラムを組んでみたとして、入門書をなぞるだけでは身になった経験とはいえません。より実務に即したものを作ってみたり、新しい仕事に取り入れてみたり、他人に教えてみたりといったアウトプットがないと復習が行われずに勉強した時間が無駄になってしまいます。コツコツと自分の血肉となるスキルを積み上げていくことが求められるのです。