Aiki x Developer

leaning

プログラミング学習でわからないことを、わからないと言えるのはスキル

April 23rd, 2021

sorry

どうもー、ドイツでフリーランスのフルスタックエンジニアと、オーダーメイド感覚プログラミング学習サービス「Lilac(ライレック)」の開発、講師、運営をしています、Arisaです。

今日は、プログラミングを学習中の方に伝えたいことをお話しします。

皆さんは、プログラミングを学習する時、わからないことを質問する際に、どう質問されてますか?

Stackoverflowで聞いてますか?

それとも、terateil?

はたまた、メンターに聞いてますか?

いろんな方法があるとは思いますが、その中で、今日は1つだけ、とても大切なことを伝えます。

質問の仕方はたくさん情報があるので、それをみていただくとして、今回の内容はこちら。

わからないことは、はっきりすぐにわからないと言いましょう

誰でも完璧ではないので、経験年数に関係なく、わからないことははっきりとわからないと言うに越したことは無いです。

イメージして欲しいのが、チーム開発現場です。

チーム開発経験がなくても、これはそこまで難しくないですから、なんとなくでいいので、これから書いてあることをイメージしてください。

先輩エンジニアが、あなたに新しいプロジェクトのタスクを渡しました。

しかし、あなたはそのタスクをこなすために必要な技術に詳しくない状態です。

先輩エンジニアは、そのことに気がつかずタスクの詳細について話を進めます。

ここでわからないと言わずにいるとどうなるでしょうか?

A: 先輩エンジニアが気がついて教えてくれる

B: 先輩エンジニアは説明を終え、された話や技術に関するタスクが理解できなかったことを、後になって伝えなくてはいけなくなる

答えはBです。

仕事をする上で、皆さんが先輩エンジニアの立場であれば、どちらの方が良いかといえば、なるべく早くにわからないと言って欲しい人が多いと思います。

理由は、早い時点でわからないことを伝えてくれたので、他の適任者にそのタスクを回すか、いなければ習得に便利なソースを渡すかすれば良いからです。

実質、企業面接でも聞かれることもあります。

「わからないことに直面した時に、良いタイミングで他のエンジニアに聞けますか?」

これ、私が実際に企業面接で聞かれたことがある質問です。

チームワークスキルと、プロジェクトの進め方を意識しているかを問われています。

なので、学習中の時はもっとわからないことは多い状態ですね。

特にメンターをしているエンジニアに関しては、そのことはわかって答えています。(Stackoverflowなどは別です。彼らはボランティアが多いです)

早めにはっきり何がわからないのかを言うことで、お互いが状況把握が早くにでき、特にチーム開発現場では、後になって蓋を開けてみてびっくりということが防げるんです。

ただ、意外とこの「わからないことを、はっきりわからないと言う」ことが難しい、遠慮してしまうという人は多いのも事実です。

正直にいうと、私もプログラミングに関すること以外は、わからないことを曖昧にして濁してしまうことが多かったです。

今はわからないこと、知らないことをはっきり言わないと、とんでもなく会話と信頼が崩れて大変なことになってしまうドイツ文化で過ごしているので、割と改善はされましたが 笑

話を戻すと、わからないと言いにくい気持ちは、私もとってもよく分かりますよということです。

特に、誰かが解説をしてくれて、その解説がわからなかったという場合はなおさらだと思います。

それでも言って欲しいんです。

あとでお互いが困らないために言ってくれていると思うと、教えるエンジニアも自分の解説の仕方のフィードバックとして改善をしようとするはずです。(しないのであれば、それは別問題ですが...)

なので、わからないことをわからないと素直にすぐに言えることは、勉強中に積極的に鍛えて欲しい立派なスキルだということをお伝えしたいです。

質問内容のレベルに関わらず、謝らないこと

質問する時に謝る人、実はすごく多いんです。

ほとんどの人と言っても良いです。

でも、これはある意味私たちの育った日本社会の文化も影響しているのだと私は思っているので、仕方のないことだとも理解しています。

なぜかというと、日本では、すみません、ごめんなさいを非常によく聞くからです。

誰かに何かをちょっとお願い事を頼む時に「すみません、よろしくお願いします。」

友達と会う約束をしていて、時間をずらせないか聞く時に「急に時間変更してごめんね。」

私も意識しないでいるとよく言っていました。

そのことを良くない、と言うわけではないので、知っておいて欲しいのですが、プログラミング学習をするときや、新しいスキル習得をする時には、このごめんなさい、すみません頻発を省略して欲しいんです。

理由は簡単。

わからないことが悪いとは思っていないからです。

そして、学習中の期間はわからないことだらけです。

わからないことばかりの期間に、わからないことがあるたびに、すみません、ごめんなさいを連発することになると思うと、少し疲れませんか?

そして、教えるエンジニアは、重複することは避けるように日頃の業務を行っているはずなので、少なくとも何人かは私のように「わからないことを聞くことは悪くないし、重複しているので謝らなくても良い」と伝えたくなっていると思うんです。

少なくとも、私はそう思いますし、教える側はそのことを理解した上で教えていますし、教わる側もわからないから学んでいるので、お互い認識があることに関しては、問題がないことだと思います。

なので、わからないことを聞く時に悪いなとか、全く思わなくて大丈夫です。

わからないことをむしろ「それは基本的すぎる」とだけ言って突き放す人がいるのであれば、そのエンジニアは将来のエンジニアを育てることに貢献しないという選択肢をしたということです。

テクノロジーの進化はとてつもなく早く、エンジニア人口は需要とは裏腹に、いまだに足りていません。

ただでさえ、参入するまでの興味を持ってもらうところからがハードルが高い分野なのに、新しく参入してくる将来のエンジニアの卵の育成を怠ると、良いことは無いように私は思います。

エンジニアの育成は、将来のことを考えると非常に重要な分野だと思いますし、誰かがしていかなければテクノロジーを引き継ぐ人につながりません。

なので、「それはxxの基本なので、公式ドキュメントのここのソースを読むとxxの理解に良いですよ」と、せめて基本的な内容を聞いたとしても、このように言ってくれる人を選んで学ぶのが良いと私は思います。

なので、質問レベルの内容に関わらず、質問するときは謝らないでください。

間違いをすることですらも、勉強中は今後の非常に良い知識の財産になるので、Lilac(ライレック)の受講生の皆さんには、コース受講中になるべくたくさん失敗して、そこから学んでくださいと伝えています。

失敗を恐れたり、わからないことを聞けない環境では、伸びないからです。

失敗を恐れず、わからないことを遠慮せずに聞くことができる環境を、メンターやジュニアエンジニアを教える役割の人が整えて行かなければと思うので、その一環として、質問する時に謝るのは今日からやめましょう。

若干余談ですが、私がエンジニアとしてコードを書く時に意識していることは、3つ。(他のエンジニアにも聞いてみてください、この3つには納得してくれると思います)

  1. 重複を避ける

  2. 再利用性を高くする

  3. 可読性を上げる

質問のたびに謝る方がいると、私のエンジニアとしてコードを書く時に意識しているこの三箇条に引っかかるので、その意味でも重複を避けると、むしろエンジニアであれば謝りの文を読む重複作業が軽減されて、逆にありがたいと思います。

もっというと、質問の文面の可読性も上がります。

なので本題に集中しやすいので、嫌な気持ちにならないのです。

ここまで読んだ方であれば、もう今日から質問をする時に謝り文で終える必要がなくなるので、その分気持ちも楽ですし、その30秒が1日1回、1ヶ月あれば14分の短縮になり、それだけ有意義に活用できます。

まとめ

初めは少し勇気がいるかもしれませんが、わからないことをわからないということは悪くないと、エンジニア育成に携わる人が自ら言うことで、勉強中の方は安心するのではないかと思います。

まずは一度わからないことを、正直にわからないと言うことから始めてみてください。

それから質問する時に謝る文章は削除しましょう。

その代わりに「よろしくお願いします」に置き換えると、すみませんを言わないとムズムズする人でも、一言書いているので落ち着くと思います。

(私はこれもなくてもいいと思ってるくらいですが、すみませんと言わない練習で必要な人もいるかもしれません)

より多くの勉強中の方に、この記事が届くと嬉しいです。

では、ちゅーす👋