私の親友は1か月前にインターンシップを始めたばかりです。問題は彼が落胆していることです。彼は学校ではA +の優秀な生徒で、何も知らないように感じています。彼が取り組んでいる問題は、彼が快適に感じる言語についてのものであるにもかかわらず、彼にとっては非常に異質であると彼は言った。コードベースをまったく知らないように、彼は本当に落胆しています。時間がかかるだけでなく、多くの質問が予想されることを伝え続けようとしています。私は彼に何を言うべきですか?
彼にそれを伝え続けなさい。彼は一ヶ月前に始めたばかりです。言語を知っているからといって、学校のどのプロジェクトよりもはるかに複雑なプロジェクトが自動的に理解されるわけではありません。私たちのプロであっても、既存のプロジェクトのコードに慣れるにはしばらく時間がかかります。彼はリラックスする必要があります。質問がある場合は、入手したプロジェクトドキュメントを参照するか、メンターまたは上級開発者に依頼する必要があります。
これは正常です!!誰もがそれを通過します。パニックをやめれば大丈夫だ。
学校から職場に行くのが一番大変だったのは、すぐにフィードバックが届かないことでした。私が何かを終えた後、誰も私に成績をつけませんでした、実際、彼らはほとんど「うなずき」をくれませんでした。そして、提出物に関するメモの最終的な評価の代わりに、同僚/監督者から不規則なタイミングで不規則な質問の無限のストリームを受け取りました。
正気を保つために気をつけなければならないのは、
インターンが基本的な概念以上のものを知ることを誰も期待しないでください。圧倒されていると感じることは完全に正常ですが、彼は質問をしないことで自分自身を害悪にしています。
もし私のチームで働いているインターンが圧倒されていると感じたら、彼が助けを求めて私を訪ねてくれることを期待しています。時々彼らはしませんが。それは、自我やプライドが膨らんだり、単に印象づけようとしているだけの問題である可能性があります。
編集:もう1つの重要な注記、私はインターンが他の開発者から教えられることが重要だと感じています。
「あなたはあなたが読んだものの10%、あなたが聞いたものの20%、あなたがしたことの50%、そしてあなたが教えることの90%を保持している」という言葉を聞いたことがありますか。
他の人に教えることは、複雑なデザインや概念を教師の心に浸透させるのに役立ちます。
汚い小さな秘密はなしは、コードベースが完全に理解できることです(商用製品にとって通常の複雑さの場合)。カレッジでは、すべての割り当てが完全に自己完結型のオリジナルプロジェクトであるため、準備が不十分です。タスクを完了するために理解する必要があるコードの可能な限り小さい部分を理解する方法を学び、コードの残りの部分が要求どおりに動作していることを信頼する必要があります。大学はchrome=拡張機能などを作成するなどのプロジェクトを割り当てることでこれをよりよく行うことができますが、実際には、この種のことを学ぶことがインターンシップの目的です。
学校の問題は、ほとんどの場合、実際のコードベースで処理しなければならない面倒な問題を回避するため、彼が落胆していなかったとしたら、それは驚くべきことです。実際のコードベースは一般にはるかに複雑であり、完璧とは言えません。彼に挑戦し続けるように言ってください。私の経験では、通常、新しい複雑なコードベースに慣れるのに良い年がかかります。
あなたは圧倒されるはずです。新しい仕事に踏み込んだことがないので、学習曲線に圧倒されるようなことはありませんでした。資格を超えた仕事であっても、調整の期間があります。数日続くこともあれば、数ヶ月続くこともあります。私の現在の仕事は常に流動的で、何年も続いたほどです。
それを処理し、与えられたタスクをマスターします。助けを求めることを恐れないでください。
私が大学で学んだことは、「現実の世界」のソフトウェア開発の準備ができていなかったと言えるでしょう。与えられた理論は便利ですが、実際には、おそらく効果がないと見なされます。とにかく、ただ流れに沿って、できるだけ多くのことを学んでください。
たぶんこの本は、物事を理解するのに役立つでしょう:
彼が圧倒されないと感じたなら、学ぶことは何もないだろう、彼は個人として成長せず、1年未満で仕事を辞めるだろうと彼に言ってください。
職業や職業での正式な教育は、あなたが準備する以外に何もしませんbegin実際に仕事をする方法を学ぶ。
彼はすでに作業方法を知っているはずであるという考えを放棄するとパニックを克服し、この時点で実際に作業がどのように行われるかを学ぶことになっていることに気づきます(「現実世界」で)。
あなたの友人がすぐにチームのスタープログラマーだったとしたら、彼はそれにお金を払わなかった馬鹿者になるでしょう。
インターンとして採用されることは、あなたがまだ生産的ではないという事実を暗黙のうちに認識しています。もしそうなら、あなたはリアルマネーで採用されるか、会社があなたを騙し取っています。他の皆と同じように、リラックスして、この経験を使って学びたいと思います。この仕事に必要なものを学ぶだけでなく、バックグラウンドが不足していることがわかった場合(たとえば、数学やUnixのスキルなど)、それを書き留めておいて、退社後もバックフィルを続けますこの特定の仕事。
それに慣れる。業界で7年が経過した後も、私はまだ初心者であり、言語とアプリケーションの両方について新しい(そしてしばしば意外な)ことを何も学んでいないのは、まれな日です。質問に関しては、優れたリファレンス、いくつかの優れたチュートリアル、および 質問の方法スマートな方法 は非常に便利です。
私は彼に問題を回避しようとするためにいくつかの質問をするように誘惑されます:
彼は何を期待しましたか?
彼はコードベースを知っていますか?
最初の質問は彼がどんな期待を持っていたかについてです。彼はそれが学校にどれほど似ていると思っていましたか?問題は本当にどれほど異質なのですか?
第二は、彼が始めたときに彼が持っていなかった彼が今持っているものの問題です。これは、彼が知っている何かがあるかもしれない場所であり、彼がいくつかを改善し、何が起こっているかを知っていることを得るはずです。