本記事ではプログラマやシステムエンジニアにとって必要な能力とは何かについて、IT企業に3年勤務して分かったことを紹介します。
ぺんた
ぴよた
コミュニケーション能力
まずはコミュニケーション能力があげられます。
プログラマやSEというと、どうしても一日中パソコンと向き合ってプログラミングをしたり、システム設計をしたりというイメージがありますが、そんなことはありません。
実際に、プログラマとして複数のプロジェクトに携わった経験を踏まえると、プログラミングをする時間はもちろん一定の時間を割きますが、それと同じくらい人と関わる時間も多く、コミュニケーション能力が必要でした。
具体的にどんなケースがあるかというと、
システムを作りあげるときに必要になってくる仕様書や設計書というものがあります。これをもとにプログラマはプログラミングをしていくのですが、ほとんどの場合、途中で辻褄が合わない箇所や、設計にミスのある個所が含まれていることがあります。また、もっと効率的に実装できることに気づくこともあります。
こういった場合に、設計書の作成者(主にSE)や他のプログラマとの連携をとる必要が出てきます。
明らかなミスや改善点であればいいのですが、大抵は複雑な処理部分でのミスが多いので、それを的確に説明して相手に納得させる力が必要になってきます。
設計書の作成者からしても、丁寧に作成した設計書のミスを指摘されるのは気持ちの良いものではないので、そこを上手く説得する力もプログラマにとって重要な能力になってきます。
また、SEの場合は、主にシステムを設計する役割なので、とくにコミュニケーション能力が求められます。
プログラマからの指摘や質問に回答し、常に連携をとるのはもちろんのこと、
システムの発注者(お客さん)の要望を的確に把握し、こちらの提供できるモノを的確に伝える力が重要になってきます。
ここで互いの認識に違いがでると、システムの納品間際でトラブルになるケースもあります。(実際にそのようなプロジェクトに携わったこともありましたがとても大変でした…)
調べる力
調べる(ググる)力もとても大事になってきます。
ITの世界は日々進化していくため、プログラマやSEは自分の経験したことのない新しい技術に携わることが多いです。
また、特段新しい技術に携わることがなくとも世の中に存在するシステムの種類は膨大です。プログラム言語だけでも、たくさんの種類があります。
さまざまなプロジェクトに関わるときに、必ずしも自分が今まで経験した技術を使うとは限りません。
実際に僕が就職してから最初に関わったプロジェクトでは、僕が今までに一度も使ったことのないプログラミング言語での開発が必要でした。ですが、なんとか乗り越えられた理由は、
とにかく調べる。とにかくググる。
ということを行ったからでした。
ITの世界では、ネット上で知識を共有する文化が根付いているため、自分が分からないことを調べると、大抵誰かが既につまずいていた内容で、それの解説をしてくれています。
業務レベルの内容でも、正確に調べればネット上にあることがほとんどなので、ググる力はとても重要になります。
また、仕事になると時間効率が重要になるため、単に調べる力だけでなく、
素早く正確に、知りたい情報にアクセスする力が必要になってきます。
普段から分からないことがあったらググる習慣をつけ、ググる力を養っていくと良いと思います。
挑戦心
挑戦心も重要になってきます。
ITの世界では、すでに膨大な技術があるうえに常に新しい技術が登場するため、それらを習得する挑戦心がないとITの世界に置いていかれてしまいます。
また、それだけでなく日頃のプロジェクトでも、もっとこうしたら効率の良いプログラムになる。という発見をしていくことが重要になってきます。そうすることでシステムがより良いものになりますし、自分も成長することができます。
世の中により良いシステムを送り出し、ユーザに利便性を与えることができるのは、常に挑戦心をもって取り組む姿勢から生まれると思います。
まとめ
プログラマやSEにとってプログラミングやシステム設計の力はもちろん重要です。ですが、それと同様に、コミュニケーション能力や、調べる力、挑戦心も必要であると、IT企業で働く中で実感しました。
実際に、中堅IT企業の新卒採用では、学部を問わずに学生を募集する企業が多く見られます。
これこそが、単にプログラミング知識があればいいという訳ではないことを証明していると言えます。
これからプログラマやSEを目指す方は、本記事で紹介した能力の向上を目指すことで、良いプログラマやSEになれるはずです。
ぺんた
ぴよた