何事にも向き不向きというものはあります。
プログラマーという職業ではきっとそれを顕著に感じます。
しかし向き不向きとは意識を少し変えたり、何か気付きがあるだけで変化することも少なくありません。
私自身、自分はプログラマーに向いていないなと感じていたことがありましたが今では天職だと感じています。
今回は現役エンジニアの私がプログラマーになって必要だと感じた意識をいくつかご紹介させていただきます。
原因を理解しようとする
まず初めに、原因を理解しようとすることです。
プログラムを書く上で、生涯バグと戦わないエンジニアは存在しないでしょう。
プログラマーになる上でバグとどのように向き合うかが非常に重要なポイントとなります。
例を挙げさせていただくと、計算結果を画面に表示するプログラムがあるとします。
しかし、なぜかどの計算結果も正しい値から -500 されてしまう問題に直面したとします。
-500 されてしまっているのだから +500 してあげれば良いと思ったそこのあなた、今はプログラマーに向いていないようです。
我々がまず行うべきなのは、原因を理解することです。
なぜ正しい計算式を渡しているのに -500 になってしまうのかを理解し -500 にならないように修正するのです。
+500 にする行為はバグを隠蔽しているだけで根本的な問題は解決しません。
そのプログラムに何か改修が入った際に、またそのバグに苦しむことになるでしょう。
表面的な修正はせず、原因の根本を修正するようにしていきましょう。

原因を理解せずに表面だけ解決しようとしてはいけない!
利用者と開発者2つの視点を持つ
私がエンジニアとして働く上で今でも気を付けていることが、利用者と開発者2つの視点を持つことです。
なぜならプログラマーの立場にいると、プログラム主体のアプリケーションを作りがちだからです。
プログラムの設計によって、アプリケーションのデザインや使い勝手を歪ませてしまうのです。
なのでアプリケーションを作る際は、利用者だったらアプリケーションがどうあって欲しいかという視点を持つことが重要です。
アプリケーションのあるべき姿を型としてイメージすることにより、プログラムを書く際に大きく歪むことがなくなります。
また、2つの視点から物事を見ることで視野も広がり、隠された問題に気付けるようになります。
プログラムを書く際にこの発想があることであなたのプログラムは格段に美しくなるでしょう。

常に視野を広く持って綺麗なプログラムを書こう!
他者と比較しない
プログラマーになった後に感じる悩みの一つに、他者と比較してしまうことが挙げられます。
例えば同じプロジェクトにいる上司、先輩、同僚などです。
私も頻繁に他者と自分を比較してしまい、劣等感の中プログラマーは自分には向いていないと苦悩している時期がありました。
今になって言えることは、いつだってライバルは今の自分だけということです。
比較する対象が間違っているのです。
もしあなたが同じプロジェクト内の誰かと自分に差を感じたとしても直接相手と自分を比較してはいけません。
なぜなら、あなたはその人がどのような人生を送ってきたのか、どのような発想の持ち主なのかも分からない未知そのものだからです。
比較する意味がまるでないのです。
その人にできて今の自分にはできない物事に気付けたのなら、その素晴らしい物事が出来ていない今の自分と未来の自分を比較しましょう。
どうすれば未来の自分がそれを出来るようになるのかを考えるのです。
他人は一切関係ありません。
比較の中には切磋琢磨するあなたしかいないのです。
これはプログラマーとして仕事を続けていく上で重要な考え方です。
劣等感を感じる必要はなく、いつだってあなたは素晴らしいのです。

比較すべきは他者ではない。他者の良いところに気付いたなら、いかに未来の自分に取り入れるかを考えよう!
まとめ
今回はプログラマーに転職するために持っておきたい意識についてお話ししました。
プログラマーは問題の表面だけを見ることはせず、原因を理解し根本から問題を解決しようとする意識が重要です。
また、開発において利用者と開発者2つの視点を持つことで、開発において本当に大切なことを見失わずに適切なプログラムが書けます。
そして他者と比較せず、今の自分と未来の自分を比較していくことで劣等感を感じず切磋琢磨していけるでしょう。
ある程度プログラムを書けるようになった時、これらのことを思い出してみてください。
きっと視野が狭くなっている自分に気付けるはずです。
転職してからもプログラマーを長く楽しめることを祈っています。
最後までお読みいただき、ありがとうございました。