コミュニケーション能力って本当に必要なの?
結論から言いますとコミュニケーション能力は必要です。
ITエンジニア(特にプログラマー)は、もくもくとプログラムを作っているイメージをもっていませんか?
半分あっていますが、半分違います。
まずプログラムを作る前に
- なにを
- どのように
- いつまでに
を顧客なり、チーム内で話し合って決めていかなければなりません。
一人で企画して、プログラムを作って、ネットで公開して生活している人もいますが、
それはもうスペシャリストか一部の天才なので、住んでる世界の違う人です。
普通の人は、会社に所属して、営業さんが顧客を見つけてきて、企画者が企画をして、
システムを開発していくのが一般的です。
ここで開発するシステムが決定してしまえば、もくもくとプログラムを作る作業になります。
しかし、プログラムもチームで分担して開発していくので、
リーダーには、「予定よりも早くプログラムが完成しそうです」といった、
進捗(しんちょく)を伝えなければなりません。
このようにITエンジニアでも、周囲の人たちとのコミュニケーションが必要になります。
ここではITエンジニアに向けて、コミュニケーションについて解説していきます。
チームメンバーとのコミュニケーション
会社によって違いがありますが、プログラムを作成するといっても、大きく分けて
- 設計しながらプログラム開発をするシステムエンジニア
- 設計はシステムエンジニア、プログラムはプログラマーと完全に分担
のパターンがあります。
1.設計しながらプログラムを開発するパターン
ここではシステムの機能を分けて担当する場合があります。例えば「ログイン、ログアウト機能」、「ユーザー登録機能」と機能を分けて担当しますが、それぞれ自分のイメージで作っていくと、全く違う画面が出来てしまいます。
例えば、ログインの背景が白なのに、ユーザー登録画面が、グレーだったり。。。
このために、エクセルなどの文書作成ソフトを使用して、画面レイアウト(デザイン、入力項目は、中央揃えなのか、左寄せなのか等)時には、デザイナーさんを交えてまずは、文書で画面イメージを決めて、プログラムを作ってから、作った人によって全く違く画面にならないために、入念に打ち合わせをします。
この段階で、システムの画面イメージと機能(ログイン、登録、退会など)も洗い出します。
ここまで完成すれば、プログラム作成の段階になりますが、ログインは、日本語なのか?あるは別途なのかと、決め忘れた部分が必ず出てきます。
その辺を各機能担当者に連絡しないと、プログラム完成後、テスト(動作確認)の時に、全く動かなくで、大変なことになります。
顧客に、「こちらの内部の問題で、納期に送れます」とリーダーが伝えに行っても、許してもらえないでしょう。
このような流れでプログラムを作成していても、細かい部分で「確認作業が」必要になります。
2.設計はシステムエンジニア、プログラムはプログラマーの場合
先ほどのパターンと同じ状況で、設計がシステムエンジニア、プログラム作成がシステムエンジニアと分かれている場合は、システムエンジニアから指示をもらうので、この時にコミュニケーションが必要になります。わからないことや、指示が間違っている場合は、予定のスケージュールより、遅れたり、早く終わった場合はプログラマーから伝える場合もあります。
単に報告・連絡・相談といった感じですが、
どちらの場合でも、顧客の依頼の意図を理解し、そのために画面や機能を設計し、疑問があれば、質問をして明確にする必要があります。
コミュニケーション能力といっても、ここまで読み取り、考える必要があります。
このときにSEがまとめた仕様を理解する必要があります。わからない部分があれば質問して開発する内容を明確にしておく必要があります。わからない部分をそのままにしておくと、できあがったシステムがデタラメな動作をしてしまうことにもなりかねませんし、他と連携するような機能を持つ部分であれば、正しく連携できない可能性も出てきてしまいます。
コツとしては、「自分としてはこんなのを作る」といった考えを作業に取り組むと、うまくいきます。
常に意識することで、能力は上がっていきますので、覚えておいてください。
連絡する能力
チーム開発が基本なので、相談した結果内容が変更になったり、同僚などに連絡する必要が、あります。口頭で連絡すると、忘れてしまう人がいつので、基本は、メール、社内チャットで連絡をしてから、「変更管理表」(ほぼエクセル)という文書があるので、忘れたら読み返して確認できるようにしておきます。
これもコミュニケーションになります。
自分の意見を伝える力
プログラムを作成していくと色々確認事項が出てきます。
たとえば、ユーザー登録画面で、「姓」「名」の入力欄を決まっていた場合でも、外国人が登録する場合は、ミドルネームはどうなるのか?
と疑問が生まれたとします。
プログラマーの方が実際に作成するので、疑問に思ったら確認していきましょう。
注意点として、プログラムを作成していくたびに伝えてたとして、一日に何回も質問すると、
相手の作業も止まってしまうので、ある程度まとめて質問して、回答期限まで確認したい方が良いです。
顧客に相談して決めてもらう場面もあるので、結構重要であり、うまく進めるコツになります。
覚えておいてください。
ただこの質問もプログラム完成予定日の前日とかに質問をしてしまうと、修正で予定より遅れてしまう場合もあるので、早めに連絡しないといけません。
特に大手企業が顧客だと、〇月〇日にサービス開始と予定している場合、間に合わないと事件になるので、スケジュールが遅れてしまうと、深夜作業祭りが発生してしまいます。
気を付けましょう。
この部分は、理系・文系関係ないですし、意外と相談・連絡をしたがらない人が多いです、ここは、未経験でもできることなので、ここでアドバンテージを取っておきたいところです。
顧客やユーザーの要望を理解する力と伝える力
小規模プロジェクトであったり、ベンチャーだと、先輩についていって顧客のとのミーティングから、設計のお手伝い、そしてプログラム開発を担当する場合もあります。
顧客によりますが、〇〇システムを作ってほしい、対象は、外国人も対象なので、ユーザー登録画面は、「姓」「名」「ミドルネーム」まで必要です。といったようなような依頼はほとんどないです。ここで、ITコンサルタントや、ベテランシステムエンジニアの出番になります。
もし、このような会社に就職した場合は、ぜひ先輩の仕事を観察してください。
先ほどもいいましたが、「自分ならこう作る!」というイメージを持っていくと、足りない部分が見えてきたりするので、成長が2倍速になります。
未経験で入社するのですから、早く一人前になりたいですよね。
あとは、顧客から「このシステムを2か月後に納品」と納期も決めるので、「ログイン機能」なら〇日で作成するなど、スケジュール感も是非養ってください。
最後に
ITエンジニアもコミュニケーション能力が必要であることが、わかりましたか?
コミュニケーションといっても、「会話」と「文字ーメール、チャット、文書」の2つがあります。
ここで紹介した作業が、一通りできるようになれば、フリーランスとしてもやっていけます。
追加すると、「契約料」といったお金の交渉が増えるくらいでしょうか。
フリーランスになりたいなら、
1年目 会社のやり方になれる、先輩にアドバイスをもらいながら仕事を覚える。
(メモする)
2年目 メモを見ながら一人で作業できるようになる。
3年目 ある程度、自分で判断して後輩に指示しながら仕事ができるようになる。
プログラムを一通りできるようになっている必要はありますが、コミュニケーションもとれるようになっていると思うので、ここまでできればフリーランスとしてやっていけるでしょう。
コミュニケーションといっても、仕事を進めるうえでのコミュニケーションなので、
仕事帰りに「部長、これから一杯のみに行きませんか?」といったコミュニケーションはいらないので、飲みニケーションは苦手なら、苦手のままで良いです。