![](https://habrastorage.org/files/a33/9e6/70c/a339e670cc784561b6465e984c8a8b60.png)
開発者は、多くの場合、自分の専門的なスキルが企業にとって最も価値があるものだと思います。 たとえば、転職したとき、または突然彼らが会社で働いていて、世界中がずっと先に進んでいる可能性が高いことに突然気づいたときです。
この出版物から、ロシアおよび海外のIT市場のさまざまな専門分野に必要なスキルと必要なスキルの分析に関する一連の分析記事を開始します。
内容
この研究はどのように生まれましたか?
初心者と経験豊富な開発者の両方の選択に参加して、私は徐々に多くの応募者が基本的な必要なスキルを持っていないことに気づき始めました。 そして、それは特定の分野の詳細ではなく、.NETプラットフォームでのアプリケーション開発の基本的な知識です。 このようなインタビューは通常、インタビューの最も切迫した瞬間にお茶を飲みながら同僚と議論することで終わります。 しかし、十分な実務経験があるにもかかわらず、開発者が特定のスキルを学ばない理由を理解することはさらに興味深いことです。
どの方向に開発するか:どのようなスキルとどのように身につけるか?
だから、最初の開発者Vasyaの代わりに自分を想像してください。 プログラマーとしての2年間の仕事により、Vasilyは.NET Frameworkの基本を学び、SQL Serverの操作方法を学び、ガベージコレクターデバイスについても読むことができました。 .NETアプリケーションを適切に作成するための基本的な知識とスキル-.NET開発者ではありませんか? しかし、定期的にVasilyは次の段階に進むべきだと考えており、常にジュニア開発者であるとは限りません。 さらに成長する方法は? オプションは何ですか?
![](https://habrastorage.org/files/9cb/743/f9e/9cb743f9ec244b8aad7c67c124e6095b.png)
彼の先輩の経歴をヴァシリーは見て、最も簡単な選択肢が頭に浮かぶ:私は約5年間仕事の場に座り、プロジェクトに積極的に参加します-そして、おそらく、彼らは私をシニア開発者、または神の禁じられた建築家にします。 しかし、Vasyaの内なる声は休息を与えません。一流の開発者とアーキテクトが他の開発者と区別する特別なスキルを持っているため、それほど単純ではないかもしれません-これらのスキルが何であり、何をする必要があるかを理解する必要があるかもしれません自分で開発するには?
Vasyaにはどのようなオプションがありますか?
現在ITに関連しているスキルと、特定のインターネットリソースでそれらを活用する方法に関する情報を探すことは非常に論理的です。 すぐに思い浮かぶのは 、 Habrahabr 、 RSDN 、 SQL.ruですか? しかし、いや、これらのリソースは、現在どのスキルが要求されているかについての情報を提供するよりも、視野を広げる可能性が高くなります。 スキルトレーニング専用のリソースは他にもあります。たとえば、 PluralsightとCoursera -Vasyaが彼が学びたいことを正確に知っていれば、これらのリソースは彼を助けます。 そして、もちろん、専門的な会議を忘れないでください。 また、視野を広げ、特定のスキルを伸ばすのにも役立ちますが、ヴァシリーの質問に答えることはできません。 合計すると、特定のスキルを引き出すことができる多くのリソースがありますが、残念ながら、どの方向に開発するのか、どのスキルを開発するのか、という質問には答えません。 これらの質問にどのように答えたか覚えていますか?直感的に?
![](https://habrastorage.org/files/a9a/d6a/7b5/a9ad6a7b586b4f1faf19eabe95958276.png)
そして、私たちは皆、開発の方向の難しい選択に直面しています。 私たちの中には、経験を積んだリーダーや、同僚のノッチを上げたり、開発の方向性を提案したりすることを助けてくれる幸運な人がいます。 しかし、ほとんどがこの問題を抱えています。
![](https://habrastorage.org/files/06a/46b/ae4/06a46bae46dc4e34a32253a36d4b277c.jpg)
雇用者の求人に必要なスキル
人々が開発の方向を選ぶという問題は、長い間休息を与えませんでした。 だから、かつて、友人とモスクワのパブの1つに座っていたとき、私はドーピングを酔わせる要素を持つ集合的な心を使うことにしました。 そして、次のエールマグカップの後、アイデアが得られました。開発する必要のあるスキルは労働市場で要求されている必要があるため、求められている開発者または建築家の肖像画は雇用主の空室にある程度反映する必要があります。
現在、雇用主が求人を掲載する公的リソースが膨大にあり、応募者の要件を示しています。必要な知識とスキルの具体的なリストです。 では、何が起きたのでしょうか? このベースを分析するだけで、その結果、理論的には質問に対する答えが得られます。 HeadHunterは、IT企業の求人を掲載するための最も人気のあるリソースとして、求人に関する情報源としてすぐに選ばれました。 クエリ.net開発者を検索ボックスに入力すると、数百の結果が表示されました。 この瞬間、率直に言って、私たちの熱意は薄れてきました。肉体労働の量が私たちの熱意の程度を超えました。
![](https://habrastorage.org/files/f6c/bb1/3dc/f6cbb13dcf614bec94f899d72d35be38.png)
もちろん、雇用主に必要なスキルに関する既成のレビューと分析を見つけようとしましたが、残念ながら、給与の地理的分布と特定のプログラミング言語の需要に関するさまざまな分析を除いて、有用なものは見つかりませんでした。
しかし、熱意は衰えませんでした。そのため、熱心な開発者として、HeadHunterの欠員に関する情報の収集を自動化し、必要な統計を取得できる小さなプログラムを作成しました。
スキルデマンドレーティング
分析用のサンプルは300の現在の空席に達しました。 必要なスキルのリストが各欠員の説明から抽出され、取得した各スキルについて以下の統計が収集されました。
- 分析された空席におけるスキルの言及の数、したがって、空席におけるスキルの言及の数の割合およびレビューされた空席の総数。 実際、この指標はスキルの需要または人気のレベルと見なされます。
- このスキルに言及したすべての空席の平均給与。
習得したスキルはすべて、ハードスキル、ソフトスキル、テクノロジーの3つのカテゴリに分類されます。これらのカテゴリ間でスキルを比較しないように、この比較は奇妙で役に立たないように見えます。
最終ランキングには、3つのカテゴリのそれぞれに10の人気スキルが含まれていました。
技術評価
![](https://habrastorage.org/files/fbb/7a2/b33/fbb7a2b338bf487481377654a27303ca.png)
ASP.NET MVCは、テクノロジーで大きな差をつけて勝ち取っています。このテクノロジーの所有権に対する要求は、4つの空席のうち3つで満たされました。 元デスクトップ開発者として、すべてのデスクトップUIテクノロジーがASP.NET MVCを6倍失い、WPFとWindows Formsが合計で2.5倍失われるという事実を知りました。 統計によると、デスクトップインターフェイスの開発の運命はかなりあいまいに見えます。
もう1つの興味深い事実に注目しました。WPFとWindowsフォームの需要レベルは同じで、約15%です。 最初は、これは古いWindows FormsテクノロジーからWPFへのアプリケーションの移行によるものだと思っていましたが、これらのスキルは2%のケースで同じ欠員に必要であることがわかりました。他の企業は、アプリケーションの開発時にすでにWPFを使用しています。
2番目は、SQL Serverで作業し、2番目のジョブごとにTransact-SQLを使用する「必須」スキルです。 ジョブの3分の1は、WCF、XML、およびXSLTの知識を必要とします。 4つおきに-LINQ。 さて、リストを完成させます-EF。 EFがリストの一番下にあり、SQL Serverが一番上にある理由について私は仮説を立てています:ORM市場はまだかなり断片化されています-多くはまだ独自のORMを書き続けており、NHibernateのような良い歴史を持つ代替プラットフォームも人気があります。
賃金レベルの統計を見ると、最も高額の空席は、HTML、CSS、AJAX、jQuery、およびJavaScriptに言及している空席です(他のJavaScriptプラットフォームは空席に言及されていましたが、めったにないため、トップリストに入れませんでした)。
スキル評価
![](https://habrastorage.org/files/be7/03c/656/be703c656bc34a5e8a40b295aae572c1.png)
オブジェクト指向プログラミングで最も要求されるスキルがまだあります。 OOPの所有権は、4人ごとに必要です。
OOPスキルの直後に要件分析のスキルが来ることに少し驚いた。 雇用主は要件を書くことを意味するのではなく、おそらく、開発者は何らかの形で要件を分析するプロセスに積極的に参加する必要があります。 ただし、開発者にはコードを書くだけでなく、より多くのものが必要になる傾向があります。
次に、バージョン管理システム、アーキテクチャ設計、および設計パターンを扱う非常に普通のスキルがあります。これらのスキルは、4番目のジョブごとに必要です。
また、「負荷の高いシステムのアーキテクチャ」のスキルが上位10のスキルに分かれていることは注目に値します。これは、間違いなく既存の業界全体の傾向と関連しています。 同時に、このスキルに言及している求人の平均給与額は最高で、130,000ルーブルです。
一般的な能力評価
![](https://habrastorage.org/files/3da/552/c4e/3da552c4ecf642f99afb102437b97409.png)
ソフトスキルの中で最も人気のあるスキルは、技術文書を読むレベルの英語の知識であることを啓示することはまずありません。 このスキルは3番目のジョブごとに必要です。
2番目に人気のあるスキルはチームワークです。これは4番目のジョブごとに必要です。 もちろん、トップ10には、独立、責任、コミュニケーションスキルなどのスキルが含まれていました。 そして、リストを完成させるのは「自分の考えを表現する能力」です。統計によると、25人の開発者のうち、自分の考えを正しく表現する方法を知っているのは1人で十分です。
非常に期待される最高の有給スキルは、英語で話され、書かれています。 それが言及されている空室の支払いの平均レベルは135千ルーブルです。
求められている.NET開発者
それで、彼が誰であるか、私たちが従うべき、人気があり高給の.NET開発者ですか?
![](https://habrastorage.org/files/a33/9e6/70c/a339e670cc784561b6465e984c8a8b60.png)
統計から判断すると、このような開発者の肖像は次のとおりです。
SQL ServerおよびTransact-SQLを使用するASP.NET MVC開発者は、Webテクノロジー(HTML、CSS、JavaScript、AJAX、およびjQuery)のスタックを所有しており、WCFサービスの作成および使用方法を知っています。 XML形式のデータを変換します。
一方で、彼はオブジェクト指向プログラミングの第一人者であると同時に、要求の分析に少し夢中になり、もちろん、理想的には高負荷のアプリケーションのアーキテクチャを設計する必要があります。
英語を読み、書き、話し、独立した責任あるチームプレーヤーになる。 さて、同僚とのコミュニケーションを軽disしないでください。
継続するには...
次の記事では、外国の雇用市場について同様の分析を実施します。「丘を越えて」.NET開発者に求められるスキルは何ですか?
そのような分析を見ることがどの専門分野に興味があるかについてのあなたの意見を聞きたいと思います、そしてこれらの統計は私たちが質問に対する答えを見つけるのに本当に役立ちますか、どのスキルを開発する必要がありますか、またはトピックはまだ閉じていませんか?