プログラミングは自分には不向きだ決めつける前に

プログラミングは自分には不向きだ決めつける前に

おはようございます。

エンジニア初心者として現場入りした方であれば、直面する問題の一つかと思いますが、「何を質問すればよいのか分からない」状況に陥った時にスムーズに解決していける人完全に思考停止状態に陥る人の2パターンが存在します。

僕はあまり要領を得ないタイプなので紛れもなく後者が当てはまる人間でした

今回はそんな状況に陥った時に僕がどのようにして切り抜けてきたかについてお話ししたいと思います。

「分からないことがあればググれカス!」っていうやつにカスっていいたい

エンジニア業界に限らず、よく出てくるワードですね。

「人に聞かないと分からないこと以外は自分で調べてから質問しろ」と。

ごもっともだと思います。

質問するということは質問される側の時間を奪うわけなので、質問される側の人間の負担を極力減らすために聞かないと分からないことだけに焦点を絞って質問することが大事と。

この考え方はその通りで、それがプロジェクトを円滑に進めるうえで大切なことだと思います。

ただ、目の前に解決しなきゃいけない問題があって、そのために確認しなきゃいけない要素が何かわからない人はそもそも何を聞けばいいのかわからないという状態になります。

僕は、

「ググって解決できるなら自分でもそうしたいわ」

という気持ちを抑えながらひたすら我慢して質問していました。

最初の現場は「出来ない奴レッテル」をはられてもいいから質問したいだけするほうが良い

もし、所属している会社ではなく、現場に出て作業しているのであれば気の済むまで質問するべきだと思います。

なぜなら、その現場で一生勤め上げるわけでもないので

そこにいる人間の「周りの評価」はあまり気にする意味がないです。(どうせできないのはバレているのですから)

更に当時の僕が気にしていたのは配属さている現場を通して営業に自分の評価が渡り、できなやつレッテルが貼られていると後々不利になるんじゃないかと思っていました。

しかしこの点に関しても所属している会社的には、ほぼほぼ、「エンジニアが現場を継続できそうか否か」の観点でしかみられておらず、後々の現場極めに支障をきたすこともありませんでした。

一緒に仕事をするチームのメンバーは入って来た新人ができるやつかどうかを見極めようとしますが、ここでいうできるやつかどうかの基準は、

「自分で手を動かして目の前の問題を解決する」

または

「的を得た質問を上の人間に投げて回答を得る」

この辺の立ち振る舞いができる人を上の人間は評価するかと思いますが、これができない人にはできないものです。

僕自身がその典型で、結局解決方法がわからない問題で半日コードとにらめっこしたりという状況が続く時期がありました。

そんな状況下で質問することをためらっていると余計に成長が遅れ、結果的にできる側の人間に回るまでの遠回りをしてしまうことになります。

であればどのみち「できない奴レッテル」を貼られることは確定しているので、どうせなら現場に入った分の元を取ってやろうぐらいの感覚で自分の成長のために聞きたいことをガツガツ質問してやればいいと思います。

こういう悩みを持っている人はそもそも「何を質問したらいいかわからない」という状態に陥っているはずです。

その状態が長いことが一番無意味なので、質問した上司に

「そんなこともわからないの?」

「そのレベルの質問?」

という反応が返ってくるのは承知の上で自分の知識の地盤を固めていきましょう。

例えばチーム開発の現場に入ると個人では触らなかった

「バージョン管理システム」

というものに触れるようになる可能性が高いですが、個人で勉強している期間はこんなものに触れる機会がないことは当然なので、少しでも疑問に思ったことは質問していくことをお勧めします。

とりあえず質問してみたら「ググらないといけないこと」がみえてきたりする

質問をためらっているうちは八方塞がりかもしれませんが、試しに一つ質問してみると、

「これについてググってみよう」

というきっかけになる答えを頂けることがあります。

どうせ手を動かせていないのなら自分が引っかかる点でどんな些細なことでもいいから質問してみましょう。

自分が理解していることころまでの筋道を話して Yes or No で相手に回答を求める

結局現場での質問の最終目標はこれになります。

問題に直面したら、

「こうすれば解決できるかもしれない」

または

「解決するためにはこの方法を取らないといけないが、そのためにはこれをつかうべきかどうか?」

というところまで、根拠のある仮説が立てられるようになれば、返答する側は「はい」か「いいえ」のどちらかを返すだけで済むようになります。

そして、そのどちらかをもらった後にその人がそう回答した理由を答えとしていただくことができます。

ここまでできるようになれば円滑に作業を進めることができるようになるし、質問される側をイラっとさせることもなくなるかと思います。

まとめ

Web系エンジニア初心者は最初わからないことだらけで質問がうまくできずにつまづくこともあるかと思いますが、その辺は仕方がないことと割り切ってどんどん質問することをお勧めします。

要領が良い人なら上手に立ち振る舞えば良いかと思いますが、完全に思考停止に陥った人は「質問できないこと」に悩むだけ時間の無駄です。

今のご時世Web系エンジニアの働き先はいくらでもあります。(あまり地方の実情は分かっていませんが)

現場でどうしようもなく行き詰まったら現場を変える。

所属会社に「できないやつレッテルを貼られたら」会社を変える。

などして、自分の有利になるように解決できていないことを一つづつ潰していくことが一番成長するための近道ではないかと思います。

補足:ある程度経験年数を重ねたエンジニアがググれば解決することをチームのメンバーに質問しているのは痛いです。

初心者の方の参考になればと思います。