プログラミング開発が主な仕事となるプログラマー(PG)には、あまりコミュニケーションの得意ではない、寡黙な人に適した職業というイメージが少なからずあるようです。
しかしながらこの業界で長年働く私は、プログラマーにおけるコミュニケーション能力は、業務知識やプログラミング以上に大事なスキルであると考えています。
そこで今回は、開発現場におけるこの職種の役割や立ち位置をご紹介しながら、「なぜプログラマーにコミュニケーション能力が求められるのか?」という皆さんの抱える疑問を解決していきたいと思います。
この記事の目次
プログラマーにコミュニケーション能力は求められるのか?【実体験】
結論からいうとプログラマーにコミュニケーション能力は必須です。
ただし状況や環境によって異なるコミュニケーション能力が求められます。
たくさん人が関わるプログラマーの作業現場
大規模システム開発の現場では、基本的に数十人~数百人のチームで作業を進めるのが一般的です。
例えば、私の携わっていた総合行政システムの場合、次のようにひとつのプロジェクト内にたくさんのメンバーが働いていました。
- 住民基本台帳システム(3人)
- 国保資格システム(2人)
- 国保税賦課システム(3人)
- 税収納システム(4人)
- 選挙システム(2人)
- 社会保障関連システム(5人)など
プログラマーのコミュニケーションは自分のチーム内だけ?
プログラマー(PG)が関わる相手は、その人のできる仕事や立場、プロジェクト内容によって大きく変わってきます。
前述の例で国保資格システム担当だった私は当初、直属の上司であるシステムエンジニア(SE)の先輩と1対1のコミュニケーションが主でした。
しかしながらプログラマー経験が増え、PGとSEの中間的な仕事ができるようになると、国保資格と連携している税収納や国保賦課システムの担当者から、データの受け渡しなどに関する問い合わせを受ける状況が生まれ始めたのです。
また、SEの先輩が出張や打ち合わせで不在の場合は、プログラマーの私自身が同僚からの簡単な質問や依頼に答えることもありました。
したがって、私のようにさまざまなサブシステムが枝分かれする大きなプロジェクトに携わっていた場合、上司と部下という横の繋がりだけでなく、他チームの方々との横のコミュニケーションも必要となってくるのです。
小さなプロジェクトならコミュニケーションは要らない?
一方で、規模の小さなソフトウェア開発の現場では、PGからSEといった幅広い業務を技術者ひとりで担当する場合もあります。
このケースでは当然のことながら、先輩と後輩、上司と部下といった縦のコミュニケーションはありません。
しかしながら、このソフトウェアが自社販売しているパッケージだった場合、機能詳細や修正依頼などの部分で、担当営業やお客様より直接相談されるケースも少なくない実情があるのです。
そのため、小さなシステムやソフトウェアをたった1人で開発する場合、大きなプロジェクト以上の知識とコミュニケーション能力が求められると言えそうです。
プログラマーのバグ修正で求められるコミュニケーション能力
会社に入ったばかりの新人プログラマーの場合、初めて携わるプログラミングに悪戦苦闘し、バグがなかなか潰せないという状況に陥ることも非常に多いです。
こうしたときにコミュニケーション能力の高いプログラマーは、同じチームの先輩や手の空いている仲間に対して、
といった声掛けをおこなえます。
プログラミング業界では他人に頼って良いの?
スキルを高めるためには、自分の与えられた仕事を途中で投げ出さずにしっかり向き合い、責任をもって完了させるのが理想です。
しかしながら納期に向かってみんなで作業を進める開発現場では、新人の抱えたプログラムが動かないことにより、他のサブシステムのテストもできないといった問題が起こりやすい実態もあります。
そのため、ある程度の時間を使って修正やテストをおこなっても全く正常動作しないプログラムを抱えているときは、プロジェクト全体の進捗に支障をきたさないためにも、先輩に相談するのが理想となるのです。
またシステム開発では、他人の作ったプログラムから渡ってきたデータに問題のあるケースも少なからず見受けられます。
コミュニケーション能力の低いプログラマー・システムエンジニアの悲惨な末路
最後にコミュニケーション能力が低い技術者に生じた、トラブル事例をご紹介しておきます。
ホウレンソウ(報告・連絡・相談)のできない人は、
- プロジェクト進捗の遅れ
- 自分だけでは修正できないバグ
といった問題をたったひとりで抱えやすい傾向があります。
こうした技術者によって生じやすいのが、プロジェクトの大炎上トラブルです。
例えば、7月31日に40本納品予定のプログラムが、28日の段階でたったの15本しか完成していなければ、当然のことながらお客様に納期遅れの連絡や謝罪をする必要が出てきます。
また火消し担当とも言えるサポート要員は、当然のことながら連日徹夜で作業を続ける必要に迫られるのです。
そのため、コミュニケーション能力の低いプログラマーやシステムエンジニアの抱えた問題は、お客様や営業、上司、同じ部署の仲間といった非常にたくさんの人を巻き込み、現場で働くエンジニアの健康状態を悪化させる原因にもなり得ます。
コミュニケーション不足で奪われた信用
プログラミングスキルや経験不足が原因で生じたミスは、「まだ新人プログラマーだから」と大目に見てもらえることが多いです。
一方で、ホウレンソウができないことで生じた大炎上トラブルは、「本人の性格やコミュニケーション能力に大きな問題がある」という判断により、技術者として働き続ける上で欠かせない信用を奪ってしまいます。
こうした原因によるトラブルが度重なる場合、技術職が不向きという上層部の判断により、人事総務部などのスタッフ部門に異動になるケースもあるようです。
まとめ
お客様の要望を叶えるために開発をおこなうプログラマーには、プログラミング言語の知識や技術以上に、同じプロジェクトに関わる人々との高いコミュニケーション能力が求められます。
またホウレンソウなどのコミュニケーションは、仲間との関係や自分自身の立場を守る上でも、必要不可欠なスキルとなりそうです。
こうしたシステム開発の業界でキャリアアップを目指す場合は、職人のように技術をコツコツと磨くだけでなく、どんなことでもホウレンソウのできる風通しの良い人間関係を築く心掛けを持つようにしてください。