この機会の海で迷子にならず、主なものを選択し、間違いを犯さないようにするにはどうすればよいですか? 明らかに、常に最新の状態を保ち、労働市場を監視する必要があります。 これを自分の自転車でどのように行うことができるかについて-カットの下で。
私たちの自転車はどうあるべきですか?
まず 、私たちのツールは、専門家の給与と、テクノロジー、プログラミング言語、または特定のライブラリの人気をその名前で比較できる必要があります。 検索で「c ++」と書き、結果を楽しみたいだけです。
第二に 、作成したいツールは正確でなければなりません。そうでなければ、時間を無駄にします。
第三に 、ソースデータのフィルタリングを許可する必要があります。 たとえば、執筆時点でのJavaプログラマの平均給与は104763ルーブルです。 これは何かを教えてくれますか? -いや! 仕事の経験を示すことなく、都市または少なくとも地域なし-これは病院の平均気温です。
第4に、ツールは結果を明確に表示する必要があります。さまざまな専門家の給与の比較を1つの美しいグラフで表示する必要があります。
他に自転車はありますか?
もちろん。 しかし、これらは他の乗り物です。
時々、さまざまな真剣な企業の市場調査の結果がネットワークに表示されます。 これらの研究は、高品質で実施されます。 多くの場合、大都市やさまざまなプログラミング言語の詳細が含まれています。 しかし、PL-SQLプログラマとT-SQLプログラマの給与を3年以上の経験と比較できるようなものは見たことがありません。
非常に頻繁に更新されるプログラミング言語のさまざまな評価があります。 しかし、それらから実用的な利点を引き出すことは非常に困難です。 たとえば、2015年3月と比較した2016年3月のpython評価は1.64%増加しました...では、次は何ですか?
ハンドル、ホイール、その他の詳細...
データソース
明らかに、重要な詳細はデータソースです-開発の成功は、データソースに大きく依存します。 このソースはすぐに見つかりました-これはHeadHunter APIプロジェクトです。 APIを使用すると、HeadHunterポータルにjson形式で投稿されたジョブにアクセスできます。 同時に、膨大な数のパラメーターによるキーワード検索とフィルタリングをサポートしています。 フィルタリングの問題について、給与レベルに影響を与える主要な要因として、仕事の経験と場所という2つの主要な基準を特定しました。
もちろん落とし穴があります:
- APIはページングを使用し、技術的な制限があります:リクエストごとに500個以下の空室を選択し、 検索の深さは2000個の空室を超えることはできません
- 空席の給与が表示される通貨は異なる場合があります
- 給与は、最小または最大のみの範囲として示される場合があり、まったく示されない場合があります。
- 最後に、探している技術の名前そのものをさまざまな方法で示すことができます。 例: node js 、 node.jsまたはNodeJS
問題解決
クエリごとに返される結果の数の制限は、複数のクエリの並列実行と結果の組み合わせによって解決されます。 したがって、各キーワードに対して、4つのクエリが実行されます。 各リクエストの結果は集約され、残りと結合されます。
HeadHunter自体は、APIで最新の通貨ガイドを提供することにより、異なる通貨の問題を解決するのに役立ちます。 集約中に、すべてのデータがルーブルに変換されます。
給与を示すことのないジョブは、原則として、私たちには興味がないため、API自体のフィルターを使用した選択から除外されます。 給与の範囲を指定する場合、平均値が使用されます。 最低または最高給与を指定する場合、この値はそのまま使用されます。
空席のキーワードの異なるスペルの問題は、空席を検索するときに同義語を考慮して 、HeadHunter自体によって大部分解決されます 。 要求が非常に具体的であるため、HeadHunterがそれを認識していない場合は、同義語の辞書をいつでも保持できます。 API は特定のクエリ言語をサポートしているため、すべての代替スペルはOR演算子を使用してリストできます。
仕事の一般的なスキーム
技術的な実装
MEANスタックの知識を深めながら、プロトタイプをWebアプリケーションとして実装することにしました。 highcharts.jsの素晴らしいグラフが結果を視覚化するために選択されましたが、多くの選択肢があると確信しています。
乗車をお楽しみください
最終的にツールを使用して何を得ることができますか? はい、何でも!
たとえば、フロントエンドに興味がある場合は、人気のあるSPAフレームワーク(角度、エンバー、反応)を比較してみましょう。
モスクワ、Angular、Ember、Reactの比較
Reactは、Angularにわずかに差をつけて給与の面でリードしています。 Emberはかなり控えめに振る舞い、すでにReactに比べて著しく劣っています。
ただし、次のグラフは、Angular開発者の空席数がReactスペシャリストの空席数のほぼ2倍であることを示しています。 エンバーは再び遅れています。
どのような結論を出すことができますか?
Emberが主なツールである場合、それについて考える必要があります。
フロントエンドを使いたいが経験がほとんどない場合-おそらくAngularを見てみると、仕事を見つけやすくなります。
Reactが手の甲に似ていることを知っているなら、良い知らせがあります。
Reactは、Angularにわずかに差をつけて給与の面でリードしています。 Emberはかなり控えめに振る舞い、すでにReactに比べて著しく劣っています。
ただし、次のグラフは、Angular開発者の空席数がReactスペシャリストの空席数のほぼ2倍であることを示しています。 エンバーは再び遅れています。
どのような結論を出すことができますか?
Emberが主なツールである場合、それについて考える必要があります。
フロントエンドを使いたいが経験がほとんどない場合-おそらくAngularを見てみると、仕事を見つけやすくなります。
Reactが手の甲に似ていることを知っているなら、良い知らせがあります。
ロシアは非常に大きな国です。同じクエリを使用して他の主要都市で何が起こるか見てみましょう。 たとえば、ロシアで3番目に大きい都市であるノボシビルスクを例にとります。
ノボシビルスク、Angular、Ember、Reactの比較
状況は定量的に変化したようですが、質的には変化していないようです。 給与は一般的にモスクワよりも低くなりますが、比率は変わりません。Reactスペシャリストが最も多く受け取ります。 繰り返しになりますが、Angular開発者の求人の数は競合他社よりもはるかに多くなっています。
状況は定量的に変化したようですが、質的には変化していないようです。 給与は一般的にモスクワよりも低くなりますが、比率は変わりません。Reactスペシャリストが最も多く受け取ります。 繰り返しになりますが、Angular開発者の求人の数は競合他社よりもはるかに多くなっています。
さて、フロントエンドは整理されています。 データベースについてはどうですか? サンクトペテルブルクで人気のある3つのデータベース管理システムの専門家の需要と給与を比較してください。
サンクトペテルブルク、MySQL、SQL Server、PostgreSQLの比較
驚くべきことに、給与のレベルは3つのDBMSすべてでほぼ同じです。 ただし、欠員の数には深刻な違いがあります。MySQLの場合、SQL ServerまたはPostgreSQLの2倍のオファーがあります。
驚くべきことに、給与のレベルは3つのDBMSすべてでほぼ同じです。 ただし、欠員の数には深刻な違いがあります。MySQLの場合、SQL ServerまたはPostgreSQLの2倍のオファーがあります。
それでは、ベラルーシの隣人に何が起こるか見てみましょう。 同時に、経験に基づいたフィルターで遊んでみましょう。 今回は、広く使用されている3つのプログラミング言語を取り上げます。
ベラルーシ、比較Java、C ++、C#
1年から3年の経験を積む:
それでは、3〜6年の経験豊富なプログラマを見てみましょう。
3年の経験の後、Javaプログラマーの給与の急激な上昇に注意してください。 1〜3年の経験のカテゴリでは、C ++は給与の面でJavaとC#に先んじてリーダーです。 ただし、次のカテゴリである3〜6年の経験では、JavaはC ++とC#の両方をはるかに上回っています。 また、C#プログラマーの給与は、当初はずっと劣っていましたが、C ++スペシャリストの給与レベルと一致しています。
それでは、3〜6年の経験豊富なプログラマを見てみましょう。
3年の経験の後、Javaプログラマーの給与の急激な上昇に注意してください。 1〜3年の経験のカテゴリでは、C ++は給与の面でJavaとC#に先んじてリーダーです。 ただし、次のカテゴリである3〜6年の経験では、JavaはC ++とC#の両方をはるかに上回っています。 また、C#プログラマーの給与は、当初はずっと劣っていましたが、C ++スペシャリストの給与レベルと一致しています。
自転車をリムジンに変える方法は?
雇用主は異なります。新興企業、「ソフトウェア」企業-大規模ではなく、最終的には、ビジネスがITに関連していないが、それでも社内のニーズに合わせて何かを開発している企業です。 スタートアップは通常、最先端の技術を使用しています。レガシーコードの負荷を運ぶ必要はありません。 大企業は、新しいテクノロジーの導入にリソースを費やす必要があり、その余裕があります。 残りはあまりうまくいっていません。 その結果、労働市場にはある程度の慣性があります。新しい技術はすぐには需要がありません。 したがって、先を見越して予測する必要がある場合があります。
全体として、分析を改善するための主なポイントを強調できます。
- Google検索結果の結果の数からGitHubのプロジェクトの数まで、さまざまなソースに基づいて技術評価を計算します
- 市場の変化のダイナミクスを考慮してください。この月のこの技術の空席数はどのように変化しましたか?
- 追加のソースを使用します。 それは簡単です-より多くのデータ、より良い結果
おわりに
誰もあなたのために分析することはできません-それはあなたの個人的な好みと興味です。 実際、多くのITプロフェッショナルにとって、仕事は収入源であるだけでなく、趣味でもあります。 好きなことを行いますが、素材について忘れないでください。
ここでは、GitHubのプロジェクトへのリンクを控えめに提供します 。
建設的な批判と提案を歓迎します!
UPD 1:おかげでikashnitskyは 、情報量が多いため、「サンクトペテルブルク、MySQL、SQL Server、PostgreSQL比較」の円グラフを棒グラフに置き換えました。