エンジニアの能力で最も大切だと思っているもの
どんなエンジニアが優秀だと思うか?
とか
どんなエンジニアと一緒に働きたいか?
みたいな質問って面接の定番かな?って思います。
その中で、僕が考える最も大切なものとその理由をお伝えできればと思います。
最も大切なのはコミュニケーション能力
実はこのコミュニケーション能力に尽きるのではないかと思っています。
技術力とかAWSの資格とかOSSのコミットも重要ですが、最もとして唯一を選ぶならこれじゃないかと。。
コミュニケーション能力とは?
コトバンク によると以下のように書いてあります
つまり、相手と自分との双方向の矢印があります。
もうちょっと分かりやすく言うと、
相手に分かりやすく伝える能力
相手からの情報を正確に受け取る能力
の2つが必要だという事になると思います。
ここで、更にポイントがあります。
コトバンクに戻ると、
> 言語、文字、身ぶりなど
と書いてあります。
これは、
コミュニケーション能力が高いことは、会話能力が高いことではない
いと僕は捉えてます。
どのような方法でやり取りをしてもよくて、双方向でのメッセージのやり取りが出来る人がコミュニケーションが高い事だと思います。
エンジニアで重要なコミュニケーション能力とは?
では、エンジニアにとって重要なコミュニケーション能力はなんでしょう?
と勿体ぶってみましたが、本質的には、以下の2つに変わりはありません。
相手に分かりやすく伝える能力
相手からの情報を正確に受け取る能力
相手に分かりやすく伝える能力
これは、どういう事かというと、実際の業務に当てはめるといかのようになります。
なぜこのように設計をしたのか?
このアーキテクチャを選んだ理由はなぜか?
このプルリクエストで達成したいことはなにか?
などなど。。。
実装意図を相手に伝えるという事になります。
手段はいろいろあって、
コミットログに書いたり、プルリクエストに書いたり、設計書を書いたり、DesignDocを書いたり、RFP書いたり。。。
これが出来ない人は、いかに技術力があったとしても、その内容が誰にも理解されなくなってしまいます。
自分が行ったことを正しく伝えるためにも相手に分かりやすく伝える能力は磨いていきましょう。
OSSなどにコミットするときも同様です!
なんで、これをやったのかを正しく伝えないと、折角いいものを作ってもMergeされないという悲しい事態になってしまいます!
ただ、自分自身が完璧なアウトプットを出したと思っても、相手が未熟で読み取ってくれないケースもあります。
これは、コミュニケーション能力としては不足していて、相手のスキル・能力を考えながらアウトプットするとより良くなると思います。
相手からの情報を正確に受け取る能力
こちらも実際の業務に当てはめていきましょう。
設計書から設計意図を読み解き理解する
プルリクコメントから変更意図を読み解き理解する
などなど。。。
ほとんどのエンジニアは一人で仕事をしてる訳ではありません。
多くの人が、複数人で作業をしてるでしょう。
そして多くの場合がレビューをしながら作業を進めていると思います。
レビュワーとして、相手の伝えたい思いを正確に理解しないとレビューが出来ません。
ただ、相手が未熟である場合も大いにあります。
その場合は、レビュワーとして、情報を読み取るためにはなんの情報が不足しているか?などを相手に伝えていきましょう。
相互に保管し合う関係性を作る
という訳で、コミュニケーション能力が大切という話をしました。
一朝一夕で身につくものではありません。
僕もまだまだ未熟です。
日々の業務の中で、色々とコミュニケーションをする機会が多いと思います。
定期的に相手にコミュニケーションとしての情報の過不足を聞いてみるといいでしょう。
また、自分自信も相手に情報の過不足を伝えるといいでしょう。
そういう風に相互に保管し会える関係を作る事が出来る。
こういう組織はとても素晴らしいですね!
この記事が気に入ったらサポートをしてみませんか?