質問:
単なる初心者レベルのプログラマーが、メンターのいない唯一のプログラマーとして会社で働く中級または上級レベルのプログラマーになることはできますか?
背景:
私は、社内を除いてプログラミングをしていない中堅企業のエントリーレベルプログラマーとして雇われました。社内の天才とはいえ、給料はまあまあですが、2年後、実際のソフトウェア会社に転職したいと思いました。面接のプロセスは、企業内のエンタープライズアプリケーションを作成したにもかかわらず、実際に私がほとんど知らないことに気づいたため、非常に意気消沈しました。
メンターは過大評価されていますソフトウェア開発において。
確かに、彼らが何をしているかを本当に理解していて、プログラミングスキルを向上させるのに役立つ時間がある人を見つけることができれば、彼らの助けを利用しないのは愚かなことでしょう。組織によっては、このような種類の関係を構築して、生産性の向上と生産物の監視に努めています。
ただし、次のようなさまざまなソースから学習する方がはるかに一般的です。
teammates:メンターは1人だけではなく、協力している全員
コードレビュー:グループ(または他の人のコード)がグループに選ばれて、組織内で良いと思われるものと悪いと考えられるものの感覚を研ぎ澄ますようなものはありません
既存のコード:他の人のコードの保守に費やす時間が長いほど、独自のコードを作成する方法(および作成しない方法)を学ぶことができます。
books:読書が基本
internet: Programmers.SEやStack Overflowなどのブログやサイトを読むと、物事を行う「正しい」方法について多くの意見が公開され、独自の意見を練り始めることができます。
経験:最も重要。実際に試してみないと、特定のアイデアのメリットやデメリットを実際に理解することはできません。たくさんのコードを書く
friends:プログラマーでもある友人がいることは、彼らがあなたの「メンター」ではなく、チャットする人々である場合でも、非常に役立ちます。
これらのソースの一部またはすべてから学ぶことができる場合、メンターがいることは役立ちますが、スキルを向上させるために必須ではありません。
企業のはしごをより速く登りたい場合は、上司に、何を改善する必要があるかを話します。あなたが改善のために一生懸命働いていることを明確にし、改善を助けることは価値があることを彼らに示してください。クラスを受講したり、会議に参加したり、社内の他の開発者と連絡を取ったりできる場合があります。
中級レベル、はい。ただし、何が一般的であるかを知るには、業界の重要な調査時間が必要です。このようなものは通常、会社内のすべてのエンジニアによって少しずつ取り上げられ、それらの間で共有されます。業界標準を知り、それを満たすために、これらすべてのエンジニアの調査と研究を自分で行う必要があります。
ただし、シニアレベルには、メンタリング、リーダーシップ、チームワークなくしては習得できない組織スキルが含まれます。
可能ではありますが、その可能性が高いとは思いません。次のキラーアプリケーションを作成した場合、多額のお金を稼ぐ可能性がありますが、そのように離脱するものを作る可能性はかなり小さいことを考慮してください。
あなたの職場にはメンターがいませんが、他のプログラマーとネットワークを組んで、そのようにメンターを見つけることができませんか?ギャップがあることに気付いた場合にスキルを向上させるには、コミュニティ内の他のユーザーに連絡することをお勧めします。他のプログラマが頻繁にアクセスするグループを見つけることは価値があるかもしれません。
時々、唯一の選択はあなた自身を教えることです
幸いなことに、最近ではインターネットがそれを非常に簡単にしています
あなたが学びたい分野を選び、チュートリアルのためにグーグルして、そして行く
より深いダイビングには、ACMおよびIEEEの出版物のために近くの大学図書館を探索します