こんにちは 私自身について簡単に説明すると、私は1989年からプログラミング、2005年からJava、2013年からJavaトレーナーとして働いています(今年の1月まで、Java開発者の主要な仕事と組み合わせました)。 私の卒業生のかなり多くが仕事に就きましたが、Java開発者(およびJavaだけでなく)の仕事を得る方法についての私の考えを共有したいと思います。
Javaの学習から求人の取得まで-長距離
Java開発者の欠員の候補者の要件は非常に高いです 。 ベラルーシのアウトソーシング業者の1人のジュニア向けのテスト割り当ての例を参照してください。 もちろん、要件の低い職種もありますが、それほど多くはありません。 ウクライナの統計によると (プロキシを介した二重の仕事、ロシアでは見つかりませんでした)、そのような職種の応答/空室率は20から50です。
仕事経験のある欠員については(もっと多くあります)、悪循環が得られます:経験がなければ仕事を得ることができず、仕事がなければ経験を得ることができません。 「誰が責任があるのか」という質問に対する答えは明らかです。トレーニングに時間とお金を投資したくないが、既製の専門家を獲得したい企業です。 主な問題は残っています:
どうする
大企業は基本的にインターンでジュニアポジションを閉じます。 雇用の選択肢の1つはインターンシップに行くことですが、
- 大きな競争もあります
 - インターンシップを正常に完了した全員が仕事を得るわけではありません
 -  学習環境は非常に難しく、すべての人に適しているわけではありません。  EPAM RBでのインターンシップに関するレビューから: 
すべてがとても厳しく、私はまだショック状態です。 彼らはそこに強力な選択を持っています...すべてが評価されます、dz、テスト、口頭調査、そして最終的にあなたのプロジェクトの防衛。 タスクと期限が割り当てられています。 タスクを記入する時間がありませんでした-すべて、さようなら...学校にいるような気がします...ためらうことなく知っておくべきほぼすべてのトピックに関する200-230の質問のリストがあるところまで。 要約(!)、各質問への書面による回答を実施し、これがチェックされます... Epamはプログラマーをトレーニングしています)、あなたは何も違うことを言わないでしょう...
 
他のオプションの手順は非常によく知られています(Jacob Feinによる優れたビデオ「 プロのJava開発者になる方法 」)。
- 良い履歴書
 - インタビューとインタビューのトレーニングへの招待
 - オファーを受け取る
 
優れた(人目を引く)履歴書は、HRがそれに気付き、面接への招待状を送信することを意味します。
インターネットには、これを実現する方法に関する多くの推奨事項があります。
- 履歴書のテンプレートを選択してください
 - ジュニアのパーフェクト履歴書
 -   履歴書を2倍高く売る方法 
      
 -   履歴書の書き方 
      
 - プログラマーの要約。 パート1(悪い)
 - プログラマーの要約。 パート2(良い)
 - 英語で履歴書を書く方法
 
しかし、私の意見では、主なもの:
自分をジュニアとしてではなく位置づけます。
これを行うには、以下を行う必要があります。
-  基本の十分な理解: メモリの仕組み、 JMMとは何か、サーブレットの経験、JUnit、SQL 
      
 -   Javaコアまで:Maven、Spring(MVC、セキュリティ、テスト)、JPA(Hibernate)、RESTの基本。  JavaScriptとHTML / CSSの基本も望ましい 
      
 
インターネットには、Javaフレームワークとテクノロジーに関する多くの資料があります。 しかし、それらを習得し、読んだり見たり忘れたりしたくない場合は、それらに自分のペットプロジェクトを書く必要があります 。 これは、家の図書館や簿記のプロジェクト、猫の餌付けなどです。まあ、本当に必要な場合は、その運用中に徐々に最適な解決策を見つけます。
Spring Pet clinicのリファレンス実装など、人気のあるスタック上の小さなプロジェクトに基づいて行うのが最適です。 初めてコードを美しく正確にするために、私は署名者を台無しにさえしませんでした。 このプロジェクトは、リファクタリングを通じてコードの美しさに慣れる喜びを生き、所有者にもたらさなければなりません。 そして、テクノロジーを理解し、美意識を養うことに加えて、独自のプロジェクトに取り組むことで、 特定のタスクの美しく実用的なソリューションを見つけ、プログラマーの日常業務を構成する特定の問題を解決するスキルを身につけます。 これを行うには、次のものが必要です。
- フレームワークの仕組み、それらが何に基づいているのか、どのパターンが使用されているのかを理解する
 - 地平線、そのような問題を解決するスキル
 - ツールの操作:Git、IDEA、Maven、Tomcat、DBクライアント、テストRESTサービス
 - インターネット上で適切なソリューションを見つける能力(70〜80%はStackoverflowにあるものから選択する能力です)
 
このタスクは簡単ではありません。十分な知識、経験、時間がない場合は、このスタックで何らかのJava Enterpriseトレーニングを受けることをお勧めします。出口で渡されたテクノロジーに基づいてプロジェクトを作成してください。 私のトレーニング基準:
- 署名者またはアーキテクトとしてのJava開発の経験を持つ教師を率いる
 -  最大のカバレッジ:1つのコースでJava開発者、API、フレームワーク、ツールにとって最も重要で必要なトピック。 
      
 - トレーニング中に、完成したエンタープライズプロジェクトが開発されます。 トピックは、遠く離れた例では(空中で)個別ではありませんが、単一の作業アプリケーションを作成するための追加として、順番にまとめられています。
 - 複雑さの連続的な増加:ゼロから完成したアプリケーションをクラウドにデプロイする
 - 練習! 参加者は、コース全体でプロジェクトコードを使用する必要があります。 必須の宿題。 彼らが理論(すべてのほんの一部)だけを与えるなら、私の意見ではこれは捨てられたお金と時間です。 練習がなければ、トレーニング(Java、英語、サイクリング)に費用はかかりません。
 - グループと教師のサポート:質問をしたり、適切な回答を得ることができます。
 - 可用性と構造化された資料
 - コードのレビュー。
 -  履歴書の作成と就職のお手伝い。 あなたが最後に100%の職業紹介が保証されている場合、それを信じないでください。  開発者の仕事についての記事でよく言った: 
      
プログラマーの仕事は、ライフスタイルというよりは職業です。 大学で学ぶこと、独学、趣味、そして重要なことに、情熱はこの分野で成功するための重要な要素です。
 
独自のJava Enterpriseプロジェクトで経験を積んだ後、
新しい履歴書を作成します。
典型的なJavaジュニアレジュメは次のように始まります。
将来有望な企業でジュニアJava開発者としてキャリアを開始し、3年後に専門家になるようにします...
私たちはよく訓練します...
実務経験:なし
合格したコース...
必要性:
- 「キャリアをスタート」、「ジュニア」、「学習準備完了」という言葉を削除する
 - 資格にあなたが研究したすべての技術を挿入します
 - 経験上、簡単な説明とともにプロジェクトへの参加について書く
 
たとえば、経験:
Maven / Spring MVC / Security / REST(Jackson)/ Java 8 Stream APIスタックでの承認とロールベースのアクセス許可を使用したSpring / JPA Enterpriseアプリケーションの開発への参加:
- Spring JBDC、JPA(Hibernate)およびSpring-Data-JPAに基づくPostgresおよびHSQLDBデータベースへの保存の実装
 - RESTおよびAJAXコントローラーの実装とテスト
 - Bootstrap(css / js)、データテーブル、jQuery +プラグインでのクライアント実装。
 
このような履歴書を使用すると、1〜2年の経験が必要な求人に応募することを恐れることはできません。おそらく、次のレベルに進みます。
ご清聴ありがとうございました。ITでの素晴らしいキャリアをお祈りします。