初めに
春にも程がありますね。みなさんお元気でしょうか。
入社後半年間、職場の上司にこれでもかというほど質問してきたのですが、今回はその中で
「これは質問する時気をつけるべきだな、、、、」
と思ったこと選手権を開催します。というか、しましたので金賞を受賞した3匹を表彰したいと思います。パチパチパチ。
計画の方向性や自分の理解が合っているかを質問する
「よし、この機能を追加するぞ!!!」となった時、おそらく皆さんはある程度計画を立てるかと思います。
「DBから●●のデータを取ってくるロジックを▲▲のファイルで組んで、そのデータを■■に渡して、、、」 のように。
この時点で質問してください。
そうです、ここです。ここで、「こんな感じで取り掛かろうと思っているんですが問題なさそうですか?」みたいに確認するのです。
このタイミングで質問をしておくことで、以下のメリットを享受できます。
-
膨大な手戻りをある程度防ぐことができる
本当にこれです。もし方向性がそもそも間違った状態で取り掛かり、結構進めた時点で間違いが判明した時、最初からリスタートせんといけんという事態に陥るかもしれません。それはもう地獄です。これが防げるだけでも、超大事な手立てであると言えますね。 -
質問する側、される側の共通認識を形成することができる
これは、その後の質問が格段にしやすくなるという意味で、かなり有効です。お互いの前提がすれ違っていては、質問対応そのものが時間の無駄になってしまいますからね。
まず調べる、デバッグを試みる
質問する前に調べる。当たり前のように思えますが、これは意外とできないことが多いです。特に、調べ方がわからん!!なんてことが僕はよくありました。そこで、手立てを3つ提案します。
-
ChatGPTを用いる
そんな中、ChatGPTが彗星の如く現れましたね。こいつも活用してみてください。ググる時には、
「Ruby 配列 push」のようにワードを絞って検索する必要がありましたが、こやつを使えば、
「Rubyで配列に要素をpushしたい!」
のように文章ベースで聞くことができます。100%信頼できるわけではないですが、ググるよりも圧倒的に調べやすいのでぜひ試してみてください。 -
公式ドキュメントを読む
英語だったり難しい用語だらけだったりとたじろいでしまいますが、何よりも信頼できる情報がそこにはあります。共に立ち向かいましょう。 -
デバッグを試みる
Ruby on Railsではpp、JavaScriptではconsole.log()などを使うことが主に挙げられます。
こいつらを駆使することで、「ありゃ。エラー出てるわ」となった時、
どこまでは自分の期待する動きをしているかを確かめることができます。つまり、エラーの原因箇所を絞りやすくなります。
何がわからないのか整理する
これがぶっちゃけ一番大事かなあと思いますし、一番難しいです。
これができていない状態って、自分の頭の中が整理できていない状態なんです。これでは質問される側も困っちゃいますね。
僕もこれまで、質問をしている最中に、「結局何がわからないんだっけ??」となり、上司を困らせてしまったことがあります。そこで最近あることを試し、「お、これ中々いいかも」となったことがあるので紹介します。それは、、
テンプレートを使い、文章化してみる
ということです。僕は以下のような項目に分け、つまづいた時は自分の思考を整理しています。
1.やりたいこと
2.起きている問題
3.問題解決するために試みたこと
4.原因の予想
5.上記を踏まえた聞きたいこと
特に、4の原因の予想を立てること、それを文章化することは個人的にめちゃくちゃ大事だなと思っています。特に新人のうちは、自分の思考とどのくらい距離感があるのか知ることができるという意味でこの方法は有意義です。ぜひやってみてください。
終わりに
最後まで読んでくださり、ありがとうございました。
新人にとって、上司に質問することはごく当たり前です。全員やってます。しかし、その内容にこだわることで成長スピードは格段に違ってくると思います。
僕も再度肝に銘じようと思います。共に頑張りましょう!!