エンジニアとしてチームで働くときに必要なこと
エンジニアとして働く上では、技術的なスキルや能力が必要なのはもちろんだが、一緒に働く人との人間関係も重要だと思っている。
たった1人で仕事をしていくならチームワークは関係ないかもしれないが、企業に属してチームとして仕事をする上ではチームワークは欠かせない。
あるときはチームに助けられ、あるときは自分がチームに貢献するように、エンジニアは個人としてではなく共に働く仲間と一緒に、それこそワンチームで仕事を進めていく必要がある。
プロジェクトを円滑に進めるためにはそれこそワンチームで協力しながら仕事を進めていかなければならない。
コミュニケーションをとる
他者と共に働く上で最も重要なのは、コミュニケーションをとることであると考えている。
エンジニアは1人で黙々とコードを書いているイメージがあるが、そんなことはない。
仕様決定や設計の検討など要所要所でコミュニケーションをとりながら仕事を進めていく必要がある。
上手にコミュニケーションが取れていないと、各自が担うタスクに齟齬が生じたり、誤った方向に進むなどしてプロジェクトが円滑に進まなくなってしまう恐れがある。
プロジェクトを円滑に進めるためにも、チーム内で定期的に打ち合わせを設定したり、こまめにコミュニケーションをとる必要がある。
コミュニケーション不足が原因で生じること
コミュニケーションが不足すると、前述の通りプロジェクトが円滑に進まない。
自分と相手の考えに齟齬が生じ、その結果誤った判断や行動に繋がったり、実行するタスクの重複や無駄が発生することもある。
自分が実装を担当する箇所を他の人が先に手をつけていて、重複したコードを書いてしまうなんてことも頻繁にコミュニケーションをとっていれば防げる。
他の人が作ったコードが流用できることもよくあることだが、そうったことも密にコミュニケーションをとっていれば実装にかかるコストを削減でき、結果としてチームの生産性が向上する。
「今から〇〇のような処理を実装しようと思ってます。」とかチャットで投げると、「ああ、それならこの前作ったコードが流用できるよ」という具合で実装のコストを減らすことができる。
リモートワークでコミュニケーションは減るのか?
自分の会社では、週の半分以上は在宅勤務で、出社するのは週に1回のみである。
リモートワークになり、チーム内でコミュニケーションが不足したかと言われるとその答えは間違いなくイエスである。
週5日フルで出社していた時は、チーム全員が同じ部屋で仕事をしていたので、ちょっとしたことで雑談するなどして業務に関係ないことでも頻繁にコミュニケーションをとっていた。
それが在宅になると仕事部屋には自分1人、コミュニケーションをとる時はチャットでするようになり雑談をする機会も以前に比べてかなり減った。
対面であれば、質問する時も「ああ、それはこういうことだよ」というように即座に相手の回答を得られるし、その回答に対して理解できないときは「〇〇とはどういうことですか?」とすぐに追加の質問をすることができる。
それがリモートだと相手の回答を得られるまでに時間がかかるし、チャットでコミュニケーションをとるときは、いちいち文章に起こさないといけない。さらには正確な文章で伝えないと情報に齟齬が生まれる恐れもある。
もちろん、必要に応じてビデオチャットを使って口頭でコミュニケーションをとることもあるが、チーム内で円滑にコミュニケーションをとる上ではやはりFace To Faceで直接会話をするのが一番だと思う。
積極的にコミュニケーションをとるにはどうすれば良いか
チーム内の上下関係に関係なく、誰でも気軽に発言しやすい環境というのは、チーム内でコミュニケーションをとる上で重要であると思う。
何か意見があったり、誰かに質問したい状況であっても、チーム内で気軽に聞きにくい雰囲気であってはコミュニケーションが円滑であるとは言えない。
誰でも気軽に発言できる雰囲気があるだけで、チームが活気付いて仕事に対する取り組み方やモチベーションも変わってくる。
積極的にコミュニケーションをとるためには、チャットやビデオ会議などで気軽に発言するのを躊躇わない。それと同時に、気軽に発言できる雰囲気を作ることだと思う。
気軽に発言できる雰囲気を作るためには、チーム内で日頃からそのような雰囲気づくりに努めることが重要だ。
例えば、仕事に関係ない雑談をして雰囲気を和ませたり、発言が少ない人を気遣って話しかけたりするのもいい。
「こんなガジェット買いました!」とかチャットで投げると、「それ実は〇〇の技術が使われてるんだよ」とか技術的な話をしてくれる人もいるし、「自分もそれ欲しいと思ってるけど使い勝手どんな感じ??」と雑談が盛り上がったりする。
一見仕事に関係ない発言をしているように見えても、チームが和んだりコミュニケーションが活発になったりして結果的に仕事の満足度や生産性が向上する。
こんなふうに日頃から話しやすい雰囲気づくりをすることでチーム内のコミュニケーションが活発になりやすい。
チームで協力する
仕事は個人プレーではなくチームプレーで進めていくことが重要だと思っている。
それゆえ、プロジェクトを成功させるためにはチームで協力することが不可欠だ。
周囲に助けを求める
プロジェクトを進めていく途中、困難な課題に直面することがしばしばある。自分が担当している業務でも、時には自分1人で解決できない問題もある。
自分にとっては困難な状況でも、他の人にとっては簡単に解決できる課題だってある。
ググったり、時間をかけたりしてすぐに解決できそうな問題は自分1人で抱え込んで時間をかけるよりも、迷わずチームの誰かに助けを求めた方が断然仕事の進みが早くなる。
チーム内にその分野に関してのエキスパートがいれば、その人に直接聞くでもいいし、詳しい人がいなくてもチーム内のチャットで助けを求めれば誰かしらが反応してアドバイスをくれたりする。
「ちょっとこの部分わからないんだけど、、誰かわかる人いる?」というようなことをチャットで投げると「ああそれはね....」と誰かしらが反応してくれる。
たまに反応がない時もあるけれど、そういう時は少し時間を置いてから再度「これ、わかる人いるかな??」とチャットで投げると、マネージャークラスの人やベテランの人が「これを試してみたら?」と答えではなくとも解決するためのヒントをくれることもある。
いずれにせよ自分が担当しているタスクは自分1人で解決しようとするのではなく、必要に応じてチームに助けを求めながら進めよう。
もちろん、誰かが困っているときは自分も助けてあげよう。
組織をアップデートする
数年でトレンドの言語は変化するし、新しいフレームワークやら技術やらが次から次へと登場する。
自分が今持っている知識やスキルはどんどん時代遅れになっていくので常に情報収集しながら自身をアップデートしなければならない。
「エンジニアという職業は安泰だ!」という人がいるけれど、数年勉強を怠るとあっという間に取り残されてしまうのでビクビクしている。
習得し知識をチーム内で共有する
新しいものを作る時、新しいプロジェクトを始める時は新たな知識を習得しながら同時進行で開発を進める必要がある。
とくにクラウド開発などは絶えず技術が入れ替わるので、そのときそのときでトレンドの技術を把握しながら作っていかなければならない。
そうした中で、習得した知識やスキルなどは自分の中だけでなく、一緒に仕事をしているチーム内で共有することでチーム自体をアップデートさせていく必要がある。
仕事をする上では自分1人ではなくチームで行うものなので、自身はもちろん、チーム全体の能力が向上するのが好ましい。
新しいことを試しながら実行していくときは、得られた知見や知識などをチーム内で共有しながら進めていくことで、チーム全体の生産性も向上する。
チームで使っているチャット内に得られた情報をどんどん書いていくのもいいし、社内に掲示板のような仕組みがあればそこにまとめていくのもいい。
「最近はこういう言語、フレームワークがトレンドらしい。うちでも使ってみない?」とかチャットで投げると、「トライしてみようか!」という反応もあれば、「それだと〇〇のようなデメリットがあるからこっちを使った方がよさそう」などと議論が活発になり、みんなで試行錯誤しながら新しい技術を試したり情報収集をしたりとチームとしてもポジティブな方向に働く。
【宣伝】
サブスクリプション管理アプリ『SubscList(サブスクリスト)』を配信しています。
(現在はiOSアプリのみ配信中ですがAndroid版も開発中です)
サブスクの管理・分析を「楽しく」、「賢く」できるアプリケーションです。
ダウンロードおよびすべての機能を無料で利用できます!
サブスクの管理にお困りの方はぜひご活用ください!!
https://apps.apple.com/us/app/subsclist/id1575362763?itsct=apps_box_link&itscg=30200
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?