はじめに
2021年オープンロジアドベントカレンダー、23日目の記事です。
2021年11月からWebエンジニアとして働いています。
学生時代からのプログラミング経験はあるものの、業務で開発を行うのは初めての新人です。
この記事では、新人としてここまでの反省や気づきなどをまとめて書いてみます。
ここまでの反省
ここまで1ヶ月で感じたことを自戒の念を込めて書きます。
反省①|同じ場所で悩みすぎた
調べればなんとかなるでしょ!と色々調べているうちに時間が過ぎ、気づいたら同じ場所で1日使っていた…ということがありました。
新人として成長することはもちろんですが、自分に課せられたタスクはチームが担っているものであり、チームのスループットを意識することは必須です。
対処法|質問ルールを決める!
組織によって対応は異なるとは思いますが、他の方々も記事にされているように、自分で質問するルールを設定しておく必要があるなと感じました。私の場合、メンターの先輩と相談し、半日以上進まなかったり、自力で解決が難しいと感じたりした時にはすぐに相談するように意識しています。
まだ相談のタイミングについては自分なりの正解を持っていない状態ですが、トライアンドエラーでちょうどいいところを見つけていこうと思っています。
反省②|何がわからないかわからないときの対処法を知らず、対応が後手になった
①と少し重複する内容です。
オープンロジではフロントエンド/バックエンドの役職による区別をせず、一人で両方やるというスタイルをとっています。
そんなわけで、Webの開発は初めてでしたが、LaravelとReactのチュートリアルを少しやった状態で業務に当たることになりました。
当然ですが、十分な前提知識がないと解決できない課題は多く、それに直面したときに何がわからないかわからず、どう質問するかを考えていたら時間が経過していたということがありました。
具体的に言うと、xxのライブラリを使った実装の仕方がわからないなど、自力で調べながらやるにしても要求される能力と乖離がある場合です。自分でわからないところを整理できるもの(e.g. エラーの対処)は質問で解決できる可能性が高いですが、このような問題の場合、「XXがわからないんですけどどうしたらいいですか?」という好ましくない質問になってしまうなと考え、どう質問しようかと悩んでしまった、という事例です。
対処法|ペアプロをお願いする!
リーダーから提案だったのですが、このような場合ペアプロで解決するのが良かったです。
ペアプロの目的を理解していなかったので、そもそも自分の不明点の解決に使うとは知りませんでした。
質問とは違い、対応者の負担が増えるのでお願いしづらいところはありますが、私自身非常にいい経験になりました。
直接指導を受けることはもちろんなのですが、経験のあるエンジニアから実際の手の動かし方を見て動かすだけでも新たな発見が数多くありました。抱えている課題の解決よりも大きな収穫があったように思います。
反省③|会話の機会を有効に使えていなかった
メンターの方から指摘していただいたことです。
毎朝15分程度の1on1を実施しているのですが、相談事項がなく報告で終わってしまうことがしばしばありました。
自分の目の前のタスクに必死になり過ぎていて、今必要な情報以外の関心が薄れてしまっていました。
対処法|気になったことはメモしておく!
自分のために使ってもらっている時間は有効活用しなければ非常にもったいないなと感じました。
これから時間が経つにつれて、いろんなことがどんどん聞きづらくなってくるだろうと思うと、自分にとっても良くありません。
新人のうちは、進捗確認などを目的に、会話をする機会が定期的に組まれることが多いと思います。
よくわからないまま放置していたことは気づいた時にメモしておき、質問できる時に聞いておくことは非常に大事だと思いました。
コミュニケーションで気をつけていること
私が社会人になる前に身につけておきたかったと感じた、人に相談するときに気をつけていることです。
前職はBiz職だったのですが、その頃から伝えたいことをうまく伝えられず困ることが多くありました。
Slackなどのテキストコミュニケーションが大幅に増えた今、できる限り受け手の負担を減らさなければ、双方のストレスになってしまいます。
前提・やりたいこと・ネクストアクションの3つに分ける
前提
聞き手は話し手の情報をほとんどor全く知らないはずなので、ここをうまく伝える必要があります。
今何をやろうとしていて、どういう状況か、などの自分が直面している状態をできる限りわかりやすく伝えると、コミュニケーションの手戻りを最小限にできます。
例) XXというタスクをやっていて、YYというところでつまづいて、ZZについて調べていた
やりたいこと
実際にどうしたいのか、困っていることなど、相手に期待する回答は何かを伝えます。
単なる報告なのか、相談して回答が欲しいことなのかなど、相手が取るべきアクションがわかるようにするとよいです。
例) AAというところがわからないので教えてほしい / BBという方法で行おうと考えているが合っているか確認したい
ネクストアクション
コミュニケーションの後、単純な結果報告を除いて、次にどんなアクションを取るかの確認が必要な場合が多いです。
前職の話ですが、相談した後に「あれ?結局何やればいいんだっけ??」となり、また相談し直すということがありました。
話の論点が正しく伝わっていないと、結論がブレることがよくあります。
いくら綺麗に自分で前提とやりたいことが整理できていても、相手に正しく伝わるかは別問題です。
これは仕方のないことなので、そのキャリブレーションの手段として、「次にXXをやろうと思いますが大丈夫ですか?」などと確認を取ると双方に高い安心感が生まれます。
最後に
日々勉強!それが楽しい!!
勉強の量で言うと、論文に追われていた学生の頃とほぼ変わらず、業務と自学の区別がほとんど付かなくなっています。
しかし、日々何かしらの新知識を得て、業務にフィードバックし、ひいては事業の成長に…と考えるとワクワクします。
技術力のないうちはコミュニケーションでカバーするしかないと思っています。
ひいてはそれが自分の成長になることは間違いないと思います。
そう信じて頑張るのみです!
ネット上にはエンジニアになるまでの情報は多い一方で、なってからの情報は少ない気がしたので、このような内容にしてみました。
同じ悩みを抱えていたり、これからエンジニアになったりする方にとって少しでもためになればと思います!
少し宣伝ですが、私のYOUTRUSTでは、隔週〜月一くらいのペースで業務日誌をつけているので、よかったら覗いてみてください!