プログラマーを評価する際に「あいつはセンスがいいな」と言ったりすることはよくあります。ですが一体どんな観点からセンスがいいと言っているのでしょうか。こうしたことは経験を積まないことにはなかなか理解できないかもしれません。
ということで、プログラマーとしてのセンスの正体について、ご説明していきたいと思います
プログラマーにとってのセンスとは
基本構文を習って応用ができる
プログラミングとは、基本構文を覚えて、あとは基本構文を利用してどれだけ応用できるのか、ということに尽きます。基本構文もそんなに多くはありませんので、記憶力ではなく応用力が試される作業です。
例えばループ処理やIF文といった基本構文があれば、IF文で処理を分岐させてループ処理を組み込んだり、ループ処理の中に更なるループ処理を入れたりするなど、基本構文を組み合わせながら応用していくのです。
普通のプログラマーであれば、基本構文を学習し、多くのプログラムを見たり作ったりしていくことで、応用力が鍛えられていきます。しかしセンスがあると言われる人は、基本構文を学習して、すぐにそれを応用しながらプログラムを書ける能力を持っています。「一を聞いて十を知る」という感覚に近いかもしれません。
逆にセンスがないと言われてしまうのは、どれだけプログラムを組んでも応用ができない人のことを指します。
エラー処理まで考慮されたプログラムが書ける
新人エンジニアに限る話ですが、メイン処理については誰しも意識してプログラムを書いていきますが、エラー処理まで考慮されたプログラムが書けることも、プログラマーとしてのセンスを感じ取れる要素です。
エラー処理なんてものは、ある程度経験を積めば当たり前の処理ではありますが、新人の頃はそこまで考慮することができないものです。新人のころから誰に教えられるでもなくエラー処理にまで気を使えるということは、システムの使い勝手や全体像を見据えながら、プログラミングできる能力があるということ。
こうした考え方ができる人は、プログラムだけでなく、設計工程においても能力を発揮してくれることでしょう。将来有望なエンジニアの卵です。
無駄なくスマートなソースが書ける
「新人PGに告ぐ!プログラムに正解なんてない。最適解を探せ! 」でもご説明していることですが、プログラムに正解などありません。100人プログラマーがいれば、100通りのソースコードが生まれるものです。
その中でもセンスがいいと言われるのは、無駄なロジックを省き、処理を実行するのに最適化されたソースコードを書けるプログラマーです。例えば不用意にDBにアクセスを繰り返すこともしないし、しっかりとサブルーチンを使うことで、スマートなソースコードを書き上げることができます。
そのため実行速度という点でも優れているでしょう。
センスは悪くても鍛えることができる
ここまでプログラマーにとってのセンスについてご説明してきましたが、そのセンスは経験によって鍛えることができます。
もちろん新入社員の頃からセンスに恵まれているプログラマーと比較してしまえば、成長スピードは異なりますが、プログラミングが苦手でも決して悩むことはありません。
先にも説明したとおり、プログラミングの基本構文はそんなに多いものではありません。あとはその使い方です。これは場数を踏むことで、だんだんとプログラミングの要点のようなものが分かってくるはずです。たとえプログラムが苦手だとしても、向上心を持って仕事をしていれば、3年もすれば上手にプログラムが書けるようになっているでしょう。
プログラムのコツについては下記をご覧ください。
おわりに
以上がプログラマーにとっての”センス”と呼ばれるものの正体です(人によってその定義は異なるかもしれませんが)。
プログラマーとしてやっていくには、センスがあるに越したことはありませんが、プログラミングに限って言えば、センスはどんどん磨いていけるのでご安心ください。
それに国内の業務系システム開発においては、そこまで高度なプログラミングスキルは求められていません。要はそんなに難しいことはしていないのです。逆にセンスのあるプログラマーは、東京やアメリカなどで開発が行われる先端技術を利用するような開発現場で活躍できることでしょう。
【X(旧twitter)でも情報発信中】
Xを最近始めたので、フォローしてもらえると嬉しいです(エンジニア界隈の方はフォローバックさせていただきます)! システム開発に関することや、最新テクノロジーのことなど、世のエンジニアにとって有用な情報を発信してます!