プログラマーを目指そうかと考えているけど、
- 人と話をするのが苦手に感じている。
- 緊張してうまく話せない。
- 会話が続かない、キャッチボールができない。
など、コミュニケーション力に不安を感じている方に向けて
プログラマーに必要なコミュ力について解説します。
※3分ほどで読めますので、最後までご覧くださいm(__)m
- プログラマーに必要なコミュ力
- SEから信頼されるプログラマー
- 結局モノを言うのはロジック
- コミュニケーション能力を上げかた
プログラマーに必要なコミュ力は?
ある程度の規模の大きいシステムを開発する場合、通常はチームで開発を行います。
- 現場を管理するプロジェクトリーダ
- システムの要件定義や設計を行うSE
- 設計書をもとにプログラムを作成するプログラマー
組織上、チーム内で役割分担が決められます。
プロジェクトリーダは、チーム内のメンバーの状況を管理したり、チーム内の会議を開催したり、プロジェクトを推進するマネジメント能力が必要となります。
結論
プログラマーに求められるコミュ力とは・・・
プログラマーにもっとも求められるのは、自分が担当するプロダクト(プログラム)対する説明力・質問力、これが最も大事なコミュ力のひとつです。
プログラマーはエンドユーザーとの接点を持つことはほぼなく、仕事上、基本的にSEとの交わりが大半です。
もちろん、チーム内のプログラマーともコミュニケーションをとりながら進めていくことも必要です。
自分のミッションを遂行する上で、最も大切なのはSEとのコミュニケーションなのです。
そのうえで、次の2つのスキルが絶対に欠かすことのできないスキルです。
①SEへの説明力
プログラマーは、ソースコードを実装した後、SEとソースコードレビューを実施します。
その際、自分が作ったプログラムや、改修した箇所について適切に説明をする必要があります。
なぜ、どのように・・・修正ポイントをわかりやすく説明するかたとても重要です。
この説明がきちんとできないとSEからの信頼を得ることができません。
②SEへの質問力
SEが設計した設計書をもとにプログラムを作成します。
設計書には必要最低限の内容しか記載されていないことがあります。
プログラマは設計者の意図などを読み取って実装していかなければいけません。
そのため、設計書に記載されている点で不明点・疑問があれば、何がどうわからないのかを適切に質問する必要があります。
プロジェクトリーダ、SEからみて頼れるプログラマーとは
プロジェクトリーダやSEにとって、頼りになるのは、顧客要求仕様に沿ったプログラムを確実に仕上げてくれるプログラマーです。
SEが設計した設計書をもとに、プログラマーが要求仕様を正しく理解してコーデイングし、SEにわかりやすく言語化して説明してくれることで、プログラムの品質が担保されていることが正しく把握できます。
プログラマーの説明力が高いと、ソースコードレビューでバグが適切に検出する確率も高くなるのです。
(逆に的を得ない説明によりバグを検出できないこともあったりします。)
プログラマーが論理的でわかりやすく説明できるか否かで、ソースコードレビューの質が決まるといっても過言ではありません。
ズバリ現場でモノを言うのはロジック
プログラマーに大事な論理的思考力
SEへの説明がいくら上手であっても肝心の中身(ソースコード)が伴っていなければ信用は得られません。
つまり、最も肝心なのは、プログラムのロジック(=ロジカルシンキング)です。
目は口程に物を言いいますが、同じくプログラムロジックも口ほどにモノをいうのです。
加えて、プログラマーがほんの少し、表現をうまく伝えて説明することで、あなたの信頼度は確実に増します。
- 人と話をするのが苦手に感じている。
- 緊張してうまく話せない。
- 会話が続かない、キャッチボールができない。
上記のように感じているプログラマーでも、現場で人と話すのが苦手でも問題なし。
何故ならもっともプログラマーが大事なコミュ力とは、自分の作品に対する説明力であるからです。
大勢の人の前でプレゼンしたり、客先でエンドユーザーに話をしたりすることも基本的にはありません。(それはSEの仕事だから)
実は、この説明力こそが、多くのプログラマーが苦手とする能力なのです。
SEへの説明時に・・・
いきなりソースコードを読み上げて説明を始める。
説明も冗長で、なぜ、この処理をこのように記述したのか、まったく説明がないまま、ソースコードを読み上げてしまう・・・
次の2ステップで説明しましょう。
SEはあなたが担当したプログラムの設計部分だけを見ているわけではありません。忙しいSEだとかなりのボリュームの作業をこなしています。
そんなSEのためにもいきなり説明に入るのではなく、まずは自分が担当する処理の概要を簡単に説明しましょう。
STEP1を実施してから、ソースコードの説明をしましょう。
STEP1がない場合、SEがソースコードの説明について来れず、結果的に見つかるバグも見つからなかったということにもなりかねません。
最も重要なステップ1を必ず実施しましょう。
逆にステップ1の説明をきちんとできるプログラマーはあまりいませんし、これをきちんと説明してくれることでSEはとても安心します。
たった1つのプロセスがあるか、ないかで、できるプログラマーだと思ってもらえます。
コミュ力を身に着けるメリット
もしプログラマーとして経験を積んで、普段の現場作業で、コミュ力を身に着けていけば、SEへのキャリアアップも見えてきます。
SEが担当する仕事は要件分析・定義、基本設計、詳細設計、テスト、稼働後のフォローまで幅広く行います。
SEとして、大切なのは、仕事をするうえでエンドユーザやメンバーから意見を聞き、潜在的な課題、現場で発生し直面した課題などを問題解決して、システムに組み入れることができる業務遂行能力です。
さらに作業は1人で行うのではなく、エンドユーザーを含め、社内の関係者と調整を行いながら、作業を進めていきます。
プログラマーがSEにプログラムの説明を行うのと同じく、SEはエンドユーザーにシステムの仕様を説明することが必要になります。
そこで必要になってくるのは、エンドユーザーの視点になってわかりやすく言語化して説明する能力なのです。
コミュニケーション能力を上げるにはどうする?
「まわりは、自分のことをさほど気にしていない」と冷静に受け止めましょう。
「自分はどんな風に思われているんだろう」「何を話せばいいんだろう」と自分に意識を向けるのではなく、相手に意識を向け、「普通に接して、嫌われたらしょうがない」と考えると、気楽さが生まれます。
自分自身を過度に意識せず、まずは相手に注目・集中するんです。
単純で当たり前のことだと思いますが、これだけを実践することで、人間関係はうまくいくものです。
相手に意識を向けて、感謝の気持ちを伝え、にこやかに挨拶する。
ちょっとした工夫で、素の自分で接することが心地よい雰囲気を醸し出し、会話が深まり、基本的なコミュニケーションが取れるようになります。
重宝される人材になろう
プログラミングなど現場で開発する作業が好きな人はプログラマに向いていると言えるでしょう。
他の人には出来ない専門分野や特定のジャンルでの実績を持てば、収入も上がっていきます。
自分の個性に合わせて、SEへステップアップすることを目指すのも良いですし、経験を積んだ後にフリーランスとして独立することも可能です。
そこで、プラスアルファとして意識してほしいのがこの記事で説明した「説明力・質問力」です。
プログラマーとして経験を積みつつ、「説明力・質問力」をつけ、SEの立場に立って考えて行動していきましょう。
それだけで、あなたのプログラマーとしての価値は上がり、重宝される存在になります。
この記事が少しでもお役に立たら幸いです。
今の仕事をずっと続けてていいのか不安に思っている。実は、IT業界に興味があるんだけど・・・。
でも何の知識もないから、まずはプログラミングスクールで勉強したい。