現在、私は23歳で、ソフトウェアサービスプロバイダーでジュニアプログラマーとして働いています。私は自分の仕事と同僚に本当に満足していますが、私のコード(アーキテクチャなど)の何が悪いのか、なぜそれが悪いのか、そしてそれをより良くするために何ができるのかを教えてくれる人がほしいと思うことがあります。 。
もはやJavaプログラマーがいないため(私はJavaをプログラミングできる最後のプログラマーです)、より優れたプログラマーになるためのアドバイスを受けたいと思います。
免責事項:自分のコードが「良い」か「悪い」かをJava以外のプログラマーの同僚にも尋ねますが、そうでないと判断できないと感じていますJavaプログラマー。 (彼らはほとんど何もプログラムしません)
ジュニア開発者を指導することに満足しているコミュニティはありますか?たくさんの本を読んだら助けになりますか?既存のスキルを向上させ、自分がやっていることが悪いか良いかを知るにはどうすればいいですか?
エピローグ:
私がこの質問をしたとき、私は雇用主を5月に戻すことさえ考えていませんでしたが、みなさんの言うことは頭に残り、4月に切り替えることにしました。私は今、新しい雇用者を見つけ、新会社のジュニアJava開発者としての地位を得ました。私の職業上の成長が、私の新しい雇用主と共に将来的に良くなることを願っています。
アドバイスをありがとうございました。
かつて私はあなたの役職に就いていたのですが、私が大学を卒業していた頃、雇用主の小さなプログラミングチームは私にすぐに解散しました。私の推薦は、あなたの専門的な成長のために、今すぐ新しい雇用者を探し始めるです。
1人のチームに所属することは、キャリアの後半で大規模なチームで作業するときに破るのが難しい悪い習慣を助長します。コンサルティングに時間を費やす若い開発者のファンになりました(時間給の契約型ショップではなく、給与コンサルティングショップ)、小さな店で従業員として働いています。
いくつかの異なる組織で、会社やクライアントからのいくつかの異なるリード/アーキテクトの下で働くことができます。さまざまなアーキテクチャスタイルとプログラミングスタイルを直接見ながら、それらの長所と短所を確認します。
医学部の学生が過去2年間に行ったローテーションのように考えてみてください。2か月間、いくつかの病院のさまざまな部門で過ごしました。これにより、さまざまな分野や状況の束を見ることができ、専門にしたいことよりもさらに豊富な経験をすることができます。
ソフトウェア開発者も同じことをする必要があります。それは、ほとんどの場合、正しいことを行う方法が1つしかないためです。 [大規模な企業で働く場合は、コンサルティングを代用して、人々が比較的自由に役割やチームを自由に変更できるようにすることができます。これにより、一連の経験をほとんど同じように得ることができます。]
現場にいる人間にはアクセスできないため、thinkと思われるコードのサンプルを次のようなサイトに投稿できます- https://codereview.stackexchange.com/questions 、投稿する理由を説明し(「たぶん私はこれをもっとうまくできるだろうか?」、...)、人々の考えを確認します(必ずスクラブしてそれから最初に会社の機密情報)。
本が好きなら、チェックできる「ベストプラクティス」の本がいくつかあります。 Blochによる "Effective Java"( http://Java.Sun.com/docs/books/effective/ )はとても良いです。カバートゥカバーの本というよりは参考書ですが、それでも非常に便利です。
あなたがあなたの組織を離れることができず、そこにあなたができるメンタリングスキームがないと仮定すると(SO and Javaranch などのオンラインフォーラムに加えて)ローカルに参加する- Java User Group 。私が実行を支援するものは、特に大学院の開発者サブグループを実行し、コーディング道場とワークショップを主催します。また、地元のソフトウェア職人コミュニティに参加すれば、彼らも同様に参加します!
HTH
OemerA、
あなたの会社の人々が今あなたが物事を成し遂げるためにあなたに依存しているように聞こえるので、あなたがあなたが一緒に働く人々が好きで、おそらくあなたは帰属意識を得るのは素晴らしいことです。
あなたに哲学的ではなく、ジャパニーズは「すでにチャート化された道を歩く方が簡単です」と言っています。確実に改善する方法は、あなたよりも優れたプログラマーである人々とたむろすることです。あなたはエンジニアリングチームに入る新しい仕事を探し回ることができます。オープンソースのようなサイドプロジェクトを行うこともできます。あなたの作品は他の梨によってレビューされますが、他の作品にもさらされます。
理想的な世界では、職場環境に挑戦して改善し、仕事の外でリラックスしたいと考えています。
プログラミングを改善する最良の方法は、他の人々のコードを読むことです。あなたがその立場にない場合は、何かが変化しなければならないことを示しているはずです。
上級プログラマーがいない場合は、 Code Review などのコミュニティやその他のコミュニティで常に提案を求めることができます。
コーディング規約 に従ってください。
リソースリークがないかコードを確認することを忘れないでください。
そして最後に stackoverflow のようなコミュニティに参加することで、他の問題を研究したり、それらを手伝ったりして、スキルを向上させることができます。
メンターがいない場合、改善を続けるための主なことは、自分がやっていることに情熱を傾けているかどうかです。あなたがそうでなければ、誰もあなたをプッシュするつもりはないからです。あなたはそこにいるすべての平凡なプログラマーのように停滞するでしょう。
あなた自身をプッシュする必要があります。常に学び、新しいことに挑戦し、本、ブログ、SOなどを読む。
好きなオープンソースプロジェクトを見つけて参加してください。これは、コードを記述して、より多くの経験豊富な目を見るのに最適な方法です。
コードは、組織の受け入れ慣行と一致する場合、またはJava標準の受け入れ慣行と言う場合に適しています。たとえば、MicrosoftがC#標準を公開したときの形式と、C#プログラマが使用することを提案する形式。
使用しようとしているWordは、実際には同僚です。
ジュニア開発者とシニア開発者の唯一の違いは、それぞれが学んだ間違いの量だと思います。