プログラマーとして上を目指すためには、ある種の信念のような「考え」を持って行動することが大事です。ここでは具体的にどういった考え方を持ちながら仕事と向き合うべきなのかを紹介したいと思います。
職場で働いているプログラマーの方は周りを見てみてください。本棚や参考書籍はあるでしょうか?あったとしても、置いてある技術書を読むような人はほとんどいないのではないでしょうか。技術書で学ぶということは大切なことです。職場に技術書がないのなら電子書籍を利用することもできますので、それを読んで勉強するようにしてください。与えられた仕事が退屈なものなら、それをこなしていても何も進歩しません。少し仕事のペースを落としてもいいので、積極的に学習するように心がけてください。少しずつ積み重ねていけばいずれ実となる日が来ます。
世の中のごく一部の人は、自分に的確な指導や助言をしてくれるメンターと呼ばれる人を見つけているものです。そういった人がいれば、キャリアをアップさせていったり特別なプロジェクトに付ける機会を得られるかもしれません。
しかし残念なことにほとんどの人はそういった人を見つけていないため、自分で自分をケアする必要があるのです。自分の力で成長するためには、まず仕事をきちんと選ぶことが重要です。自分のキャリアや学習のためにならないような仕事はなるべく引き受けないようにして、自分を成長させてくれるような仕事を中心に選ぶようにしましょう。そして、仕事をもらう相手も選ぶようにしてみてください。良い仕事をくれる人を中心に仕事をするべきです。もしどうしても自分の成長を想像できないのであれば、転職することも考える必要があるでしょう。
上司のアイディアより自分のほうが優れていると感じるケースはあるでしょう。とくに若いプログラマーは、なんとかして自分のほうが優れていることを証明してやろうと思い、上司を言い負かそうと考えてしまうものです。若気の至りというやつです。いくら上司を言い負かそうとしたところで、良い方向には向かいません。結局会社内では上司の言うことが通ってしまうものです。逆に恥をかかせるようなことになれば、自分の昇進などに影響が出てしまいます。そういった無謀なことはしないよう心がけましょう。
プログラマーが自分でできる努力の中で一番簡単でもあり一番難しいことは「勉強」です。時々技術書などを手に取って勉強をすることは簡単です。しかしそれを継続して行うことは難しいことです。優秀なプログラマーになるためには、とにかく学んで技術を向上させることです。他の優秀なプログラマーはみんな努力を続けているのですから、自分も努力し続けなければ優秀なプログラマーになることはできません。学び続けることを心がけてください。
経営者にもプログラマーなど技術的な知識は必要です。なぜなら新しい技術を導入して開発を行う際、技術的な知識がないと判断ができないからです。技術だけでなく現場にとってどのような影響があるのかも把握できていないと全体を管理することはできません。ですから特に技術系の企業には、プログラマー出身の経営者が多いのです。技術には、その技術をどのように実現するかという面と、その技術で何ができるかという2つの面があります。ビジネスとして成功するために経営者は両者を把握しておく必要があります。
プログラマーの中にはコミュニケーションが得意ではないという方は多いかもしれません。しかしよく話を聞いてみると、不得意なのはコミュニケーションではなく社交性だったということがあります。プログラマーにとってコミュニケーション能力は大事ですが、社交性は必須ではありません。プログラムを作成するには要望を聞いて開発を進める必要があるため、相手の意見を聞け、自分の考えを仕えられる「コミュニケーション能力」は必須となります。しかし人との会話に花を咲かせるような社交性はなくても仕事をすることはできます。
「振り返り」という作業を行うと、ステップアップの効果があります。個人でやってもチームでやっても効果がありますが、チームでやるとまとまりが出てきたり、様々な問題や改善策を共有できるようになるため、ぜひ振り返りをすることをおすすめします。振り返りは、ここまでの経過を振り返って良いところと悪いところを書き出し、そこから改善策を考える作業のことです。次の振り返りまでに改善策を試してみて、そこでまた振り返りを行うといったように定期的に振り返りを行うことでステップアップしていくことができます。