仕事/IT系

Webエンジニアにもコミュニケーション能力が求められる理由

仕事/IT系

みなさん、こんばんは!

Webエンジニア一年生のすぎぴー(@FreeSugichanです!

皆さんはエンジニアと聞くとどのようなイメージを思い浮かべますか?

一般的にはエンジニアはこう思われいるそうです…。

  • パソコンに強く、頭の回転が速そう。眼鏡をかけていて理屈っぽいイメージです。
  • パソコンと向き合い、人とコミュニケートできない人種。
  • 草食系男子のイメージです。大人しく、人と話すのが苦手な人が多いイメージです。

総じて言うとエンジニアは,機械には凄く強いけど話すのはあまり得意ではない人というイメージが先行しがち。

駆け出し<br>エンジニア
駆け出し
エンジニア

Webエンジニアって一日中パソコンと
向き合ってコードを書いてばかりなの?

9割近くそんな質問もされますが,結論から言わせていただきます。

んなわけねーーーーだろーーー!!!

と声を大にして全力で否定させていただきます。(コミュニケーション能力が要らんかったら会社も要らんで。)

さて本記事では,Webエンジニアにはプログラミングの能力だけでなくコミュニケーション能力も必要である理由を解説していきます。

スポンサーリンク



エンジニアにもコミュニケーション能力が必要な理由

理由①:エンジニアの仕事はコミュニケーションをしないと始まらない

エンジニアの仕事はコミュニケーションをしないと始まらない

エンジニアの仕事って、コミュニケーションをしないと始まらないんですよ。まだ世の中にないものを作るのです。どこからか持って来て作るのならサービスを買っているだけですが、自力で作る必要があるんですよ。自社の独自のものとか、今回の問題を解決するために作るとしたら何をすればいいのかを、その当事者と話さないといけないんですよね。当事者と話すということは認識を揃える必要があります

DIVEINTOCODEより引用

Webアプリやサイトを作る前に,

「こんなアプリを作りたい!」
「こんな機能を実装して欲しい」

等のお客さんの要望をヒアリングする必要があります。

アプリの仕様書を書く前に,①お客さんの要望がどこまで実現できるかを把握し,エンジニアとお客さんの意見が一致するまで膨大な数の打ち合わせをこなします。

この工程を「要件定義」と言い,お客さんの要望に最大限に答えるためにも,お客さんの言っていることとエンジニアの解釈のズレを生じさせないためにも必要な工程です。

理由②:チームで開発をする以上,お互いの進捗確認は必須

チームで開発をする以上,お互いの進捗確認は必須

エンジニアは「個人プレーで作業をする」というイメージが先行しがち。

しかしエンジニアが一人で一つのアプリを作るということは珍しく,5~7人の人が協力しながら作業をするケースがほとんどなのです。

複数人で作業をしている以上, チームメイトの予定を把握するために,自分の担当箇所や状況を事細かに報告する必要があります。

また2020年からリモートワークが盛んに導入されたため,チームメイトと交流する難易度も一気に上がりました。

そんな時にエンジニア同士のコミュニケーションの障壁を減らしてくれるのがSlack。

Slackではメールのように決まった定型文というものが必要なく,気軽にチームメイトとのコミュニケーションが取れるといった特徴があります。

しかし文字だけのコミュニケーションだと,画面の向こう側で相手がどう思っているかの判断が難しくなってしまします。

そういった心理的な不安を和らげるためにも,誰が読んでもわかりやすい文章を書いたり,相手のメッセージに適宜スタンプを付けたり等の工夫が大切になってきます。

理由③:認識のズレが大きなトラブルに発展する恐れがあるから

認識のズレが大きなトラブルに発展する恐れがあるから

チームには色々な価値観を持つ人が集まります。

そのため,解釈の違いが人によって異なることは当然起こり得えます。

そんな多種多様な考えを持つメンバーと一つの物を作りあげるには,相手と自分の認識にズレが生じていないかの認識のすり合わせを行う必要があります。

また,エンジニア歴が浅い人が,設計者の意図を汲み取れなかったり,コードを読んでいて理解できない状況に直面するのは至極当たり前の話。

しかし,わからないことを明らかにせぬまま,自分の思い込みだけで進めてしまうと,設計者が意図していない動作をしてしまったり等の大きなトラブルに発展してしまいます。

そんな最悪の状況を避けるためにも,わからないことを明確にするには自分の置かれている状況を適切に伝える力が大切になってきます!

teratailと同じように,①自分のわからないこと,②理解するために試したこと,③完成系の枠組みで状況を整理すると,頭もスッキリする上に先輩達から手を差し伸べてもらいやすくなります!

是非試してみてください!

理由④:作業を引き継ぐ時にコードを分かりやすく説明する義務があるから

チーム開発していると,同じ機能を担っていても人によってコードの書き方が違っていたりすることがあります。

同じアプリを7人~10人で開発するとなれば,書き方の違いでコードリーディングに行き詰ってしまうのはよくある話。

そういったことを想定し,誰が読んでもわかる変数名・クラス名をつけたり,インデントを揃えるのはエンジニアのお作法と言っても過言ではありません。

『コードの乱れは心の乱れ』やで!!

また,人間は思ったよりも忘れやすい生き物。

自分が書いたコードであるにもかかわらず,途中で混乱してしまうケースもよくある話です。

そのため,「過去の自分も他人である」という意識を持ちながら,誰が読んでも理解しやすいコード書く能力も身に着けておく必要があります。

エンジニアが共同開発をする上で,業務の効率化をするためにはコードを書く上でのマナーを知っておくことも大切。

あなたのコードの見栄えを整え,先輩からの印象を上げたいのであれば,『リーダブルコード』を読んでおくと良いです!

コメント

Comment

コメントなし