(57)【特許請求の範囲】
【請求項１】
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、
前記プログラムは、前記プロセッサに、
ユーザが使用経験のあるプログラミング言語、ユーザが使用経験のあるソフトウェアフレームワークのいずれかまたは両方ごとに、ユーザのエンジニアとしてのスキルを評価する第１のパラメータを取得するステップと、
当該ユーザの前記第１のパラメータに基づき、ユーザの収入を予測する収入予測モデルを用いて、当該ユーザについて想定される収入を特定するステップと、を実行させる、プログラム。
【請求項２】
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、
前記プログラムは、前記プロセッサに、
ユーザのエンジニアとしてのスキルを評価する第１のパラメータを取得するステップと、
ユーザのエンジニアとしてのキャリアに関するキャリア情報を受け付けるステップと、
当該ユーザの前記第１のパラメータと、当該ユーザの前記キャリア情報とに基づき、ユーザの収入を予測する収入予測モデルを用いて、当該ユーザについて想定される収入を特定するステップと、を実行させる、プログラム。
【請求項３】
前記キャリア情報として、当該ユーザの職種と、当該ユーザの職種ごとの経験期間の情報を受け付ける、請求項２に記載のプログラム。
【請求項４】
複数の当該ユーザの職種を受け付けた場合、経験期間が長い当該ユーザの職種を優先して当該ユーザについて想定される収入を特定する、請求項３に記載のプログラム。
【請求項５】
複数の当該ユーザの職種を受け付けた場合、複数の当該ユーザの職種を総合して当該ユーザについて想定される収入を特定する、請求項３に記載のプログラム。
【請求項６】
前記キャリア情報として、当該ユーザが保有するスキルの情報を受け付ける、請求項２に記載のプログラム。
【請求項７】
前記キャリア情報として、ネットワーク上に記録されている当該ユーザに関するオープンソースの情報を受け付ける、請求項２に記載のプログラム。
【請求項８】
前記キャリア情報として、当該ユーザにおける、エンジニアの上位スキルに関するキャリア情報に基づき、当該ユーザについて想定される収入を特定する、請求項２に記載のプログラム。
【請求項９】
前記プログラムは、さらに、
前記特定された収入を当該ユーザへ提示するステップを実行させる、請求項１から請求項８のいずれか１項に記載のプログラム。
【請求項１０】
前記プログラムは、さらに、
当該ユーザについて、前記特定される収入とは異なる収入となるために必要な前記第１のパラメータ、または必要な経験職種の情報を特定して当該ユーザへ提示するステップを実行させる、請求項１から請求項９のいずれか１項に記載のプログラム。
【請求項１１】
前記特定される収入とは異なる収入に到達する、前記第１のパラメータを上げるために必要な行動を特定し、ユーザに提示する、請求項１０に記載のプログラム。
【請求項１２】
当該ユーザについてネットワーク上に記録されている情報の解析結果に基づき、当該ユーザに必要な行動を特定し、ユーザに提示する、請求項１１に記載のプログラム。
【請求項１３】
前記プログラムは、さらに、
当該ユーザについてネットワーク上に記録されている、当該ユーザのエンジニアとしての成果を示す第２のパラメータに基づいて解析を行い、前記解析結果を出力するステップを実行させる、請求項１２に記載のプログラム。
【請求項１４】
当該ユーザに必要な行動として、当該ユーザがエンジニアとして所定のプロジェクトに貢献すること、当該ユーザが他者から評価されること、当該ユーザが所定のオープンソースソフトウェアに貢献すること、のいずれか１つまたは複数を特定し、ユーザに提示する、請求項１１に記載のプログラム。
【請求項１５】
前記記憶部には、企業の求人情報が記憶されており、
前記プログラムは、さらに、
ユーザが経験を希望する職種の指定を受け付けるステップと、
前記記憶部に記憶される情報に基づき、当該ユーザが指定した経験を希望する職種の求人情報を当該ユーザへ提示するステップと、を実行させる、請求項１から請求項１４のいずれか１項に記載のプログラム。
【請求項１６】
前記特定された収入を当該ユーザへ提示する画面において、ユーザが経験を希望する職種の指定を受け付け、
想定年収を算出する指示操作をユーザから受け付けることに応答して、当該ユーザが指定した経験を希望する職種を含めた想定収入を提示し、
当該ユーザが指定した経験を希望する職種の求人情報を検索する操作指示を受け付ける、請求項１５に記載のプログラム。
【請求項１７】
前記特定された収入を当該ユーザへ提示する画面において、
ユーザが経験を希望する職種として、エンジニアとしての職種、またはエンジニアの上位スキルに関する職種の指定を同一画面で受け付け、
想定年収を算出する指示操作をユーザから受け付けることに応答して、エンジニアとしての職種、およびエンジニアの上位スキルに関する職種を含めた想定収入を提示し、
エンジニアとしての職種、エンジニアの上位スキルに関する職種のいずれかまたは両方の求人情報を検索する操作指示を受け付ける、請求項１５に記載のプログラム。
【請求項１８】
前記特定された収入を当該ユーザへ提示する画面において、
求人情報を検索する操作指示をユーザから受け付けることに応答して、エンジニアとしての職種、エンジニアの上位スキルに関する職種のいずれかまたは両方の求人情報を、同一画面にて当該ユーザへ提示する、請求項１７に記載のプログラム。
【請求項１９】
前記プログラムは、さらに、
当該ユーザから、提示した求人情報への応募を受け付けるステップと、
前記応募の情報を、提示した求人情報の採用側へ通知するステップと、を実行させる、請求項１５から請求項１８のいずれか１項に記載のプログラム。
【請求項２０】
前記特定された収入を当該ユーザへ提示する画面には、ＳＮＳへの投稿手段が含まれ、
前記プログラムは、さらに、
前記投稿手段の操作指示に基づき、当該ユーザの前記特定された収入と、当該ユーザが経験を希望する職種の指定を受け付ける画面へのリンク情報と、を投稿するステップを実行させる、請求項１から請求項１９のいずれか１項に記載のプログラム。
【請求項２１】
前記プログラムは、さらに、
当該ユーザの情報を企業側へ提示するステップを実行させる、請求項１から請求項２０のいずれか１項に記載のプログラム。
【請求項２２】
制御部と、記憶部とを備える情報処理装置であって、
前記制御部は、
ユーザが使用経験のあるプログラミング言語、ユーザが使用経験のあるソフトウェアフレームワークのいずれかまたは両方ごとに、ユーザのエンジニアとしてのスキルを評価する第１のパラメータを取得するステップと、
当該ユーザの前記第１のパラメータに基づき、ユーザの収入を予測する収入予測モデルを用いて、当該ユーザについて想定される収入を特定するステップと、を実行する、情報処理装置。
【請求項２３】
制御部と、記憶部とを備える情報処理装置であって、
前記制御部は、
ユーザのエンジニアとしてのスキルを評価する第１のパラメータを取得するステップと、
ユーザのエンジニアとしての経験に関するキャリア情報を受け付けるステップと、
当該ユーザの前記第１のパラメータと、当該ユーザの前記キャリア情報とに基づき、ユーザの収入を予測する収入予測モデルを用いて、当該ユーザについて想定される収入を特定するステップと、を実行する、情報処理装置。
【請求項２４】
プロセッサと、記憶部とを備えるコンピュータに実行されるための方法であって、
前記方法は、前記プロセッサが、
ユーザが使用経験のあるプログラミング言語、ユーザが使用経験のあるソフトウェアフレームワークのいずれかまたは両方ごとに、ユーザのエンジニアとしてのスキルを評価する第１のパラメータを取得するステップと、
当該ユーザの前記第１のパラメータに基づき、ユーザの収入を予測する収入予測モデルを用いて、当該ユーザについて想定される収入を特定するステップと、を実行する、方法。
【請求項２５】
プロセッサと、記憶部とを備えるコンピュータに実行されるための方法であって、
前記方法は、前記プロセッサが、
ユーザのエンジニアとしてのスキルを評価する第１のパラメータを取得するステップと、
ユーザのエンジニアとしての経験に関するキャリア情報を受け付けるステップと、
当該ユーザの前記第１のパラメータと、当該ユーザの前記キャリア情報とに基づき、ユーザの収入を予測する収入予測モデルを用いて、当該ユーザについて想定される収入を特定するステップと、を実行する、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、プログラム、情報処理装置および方法に関する。
【背景技術】
【０００２】
近年、スキルアップや収入の増加を目指した転職が一般的になりつつある。特に、エンジニアは自己のスキルを向上させるため、自己のスキルを活かした就職先を求めて転職することが活発に行われている。転職活動をするに際して、転職先の企業を見つけるため、または応募した転職希望先の企業にアピールするため、自己のスキルを適切に評価して把握する必要がある。そのため、様々なスキル評価方法が提供されている。
【０００３】
非特許文献１には、フリーランスエンジニアに向けたサービスとして、時間単価を診断するサービスが開示されている。このサービスでは、各ユーザのスキルに基づいて算出されたスキル偏差値と呼ばれるスコアに基づき、想定される時間単価を算出してユーザに提供している。
【０００４】
また、特許文献１には、ブログ、ホームページおよびＳＮＳ（Social  Network  Service）等の、個人がネットワーク上に公開したインターネットサイトから、ユーザを特定する情報（ハンドルネーム、識別番号、メールアドレス、氏名等の情報）とともに、文書、写真およびプログラミング言語に関する情報を収集する事が記載されている。特許文献１には、これら収集された情報について、形態素解析を行って、収集した情報において各単語が出現する出現頻度を取得することと、単語の出現頻度に応じてユーザに属性を付与することと、単語の出現頻度等のルールに基づいて属性に関する数値（スコア）を付与することが記載されている。特許文献１では、ユーザに付与している属性のスコアの例として、技術力に関する属性のスコア、ビジネスに関する属性のスコア等が挙げられている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０２０−０９１５３９号公報
【非特許文献】
【０００６】
【非特許文献１】"エンジニア時間単価を自動算出！GitHubからあなたの市場価値がわかるようになりました！"ファインディブログ、［令和２年１１月１０日検索］、インターネット＜ＵＲＬ：https://findy-code.io/engineer-lab/new-release-hourly-wage＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
事業会社においては、プロダクトの開発を進めるにあたり、必要なスキルを保有している人材に対しては相応の報酬を支払い、活躍の場を提供する必要がある。そのため、スキルを保有している人材の収入の相場を把握しておく必要がある。
【０００８】
一方、エンジニアとしては、どのように自身の技術スキル、自身のキャリアを成長させると、より活躍の機会があり、収入が上がっていくのかが予見しづらい、という課題がある。
【０００９】
そこで、本開示では、エンジニアの想定収入を予測し、客観的かつ精度よくエンジニアに示すことにより、エンジニアのキャリアアップや成長をよりいっそう支援する技術について説明する。
【課題を解決するための手段】
【００１０】
本開示の一実施形態によると、プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムが提供される。プログラムは、プロセッサに、ユーザが使用経験のあるプログラミング言語、ユーザが使用経験のあるソフトウェアフレームワークのいずれかまたは両方ごとに、ユーザのエンジニアとしてのスキルを評価する第１のパラメータを取得するステップと、当該ユーザの第１のパラメータに基づき、ユーザの収入を予測する収入予測モデルを用いて、当該ユーザについて想定される収入を特定するステップと、を実行させる。
【００１１】
本開示の一実施形態によると、プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムが提供される。プログラムは、プロセッサに、ユーザのエンジニアとしてのスキルを評価する第１のパラメータを取得するステップと、ユーザのエンジニアとしての経験に関するキャリア情報を受け付けるステップと、当該ユーザの第１のパラメータと、当該ユーザのキャリア情報とに基づき、ユーザの収入を予測する収入予測モデルを用いて、当該ユーザについて想定される収入を特定するステップと、を実行させる。
【発明の効果】
【００１２】
本開示によれば、各ユーザのエンジニアとしてのスキルを評価した第１のパラメータに基づき、ユーザの収入を予測する収入予測モデルを用いて、当該ユーザについて想定される収入を特定する。そのため、エンジニアに対して想定される収入を客観的かつ精度よく提示することが可能になる。
【図面の簡単な説明】
【００１３】
【図１】想定年収提示システム１の全体の構成を示す図である。
【図２】実施の形態１の想定年収提示システム１を構成する端末装置１０の機能的な構成を示すブロック図である。
【図３】実施の形態１の想定年収提示システム１を構成するサーバ２０の機能的な構成を示す図である。
【図４】サーバ２０が記憶するリポジトリデータベース２０２１、企業求人データベース２０２２のデータ構造を示す図である。
【図５】サーバ２０が記憶するユーザスキルデータベース２０２３、収入予測モデルデータベース２０２４のデータ構造を示す図である。
【図６】実施の形態１の想定年収提示システム１によるスコアリング処理を行う流れの一例を示すフローチャートである。
【図７】実施の形態１の想定年収提示システム１による年収情報の取得処理を行う流れの一例を示すフローチャートである。
【図８】実施の形態１の想定年収提示システム１による想定年収の提示処理を行う流れの一例を示すフローチャートである。
【図９】端末装置１０に表示するサインイン画面の例を示す図である。
【図１０】端末装置１０に表示するスキルパラメータおよび想定年収の画面例を示す図である。
【図１１】実施の形態２の想定年収提示システム１を構成するサーバ２０の機能的な構成を示す図である。
【図１２】端末装置１０に表示するスキルパラメータ、想定年収および希望職種入力欄の画面例を示す図である。
【図１３】端末装置１０に表示するスキルパラメータ、想定年収および希望職種入力後の結果の画面例を示す図である。
【図１４】端末装置１０に表示するスキルパラメータ、想定年収および希望職種入力後の結果の他の画面例を示す図である。
【図１５】端末装置１０に表示するスキルパラメータ、想定年収および解析結果の画面例を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照しつつ、本開示の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。従って、それらについての詳細な説明は繰り返さない。
【００１５】
＜概要＞
以下、本開示に係る想定年収提示システムについて説明する。この想定年収提示システムは、エンジニアのスキル、経験に応じた想定年収を提示するためのシステムである。ここで、年収とは、本開示における収入の一形態である。収入とは、エンジニアとしてユーザが受ける対価のことであり、例えば当該ユーザが企業等に雇用されている会社員である場合、給与および賞与の金額であり、個人事業主、いわゆるフリーランスのエンジニアである場合、支払いを受ける報酬であるが、１年間の給与および賞与お総額、または報酬の総額である年収とは限られず、時間単価、日額、週単位の金額、月額を含む概念である。以下、本開示では、収入の例として年収を用いて説明する。また、本開示において、特定する収入は、特定の具体的な金額だけでなく、一定の金額幅を持った収入も含む。例えば、ユーザの収入として、年収７００万と特定するだけでなく、年収７００万〜８００万と特定することも含まれる。
【００１６】
本開示に係る想定年収提示システムは、エンジニアとしてのユーザの情報として、当該ユーザが活動した結果に応じて算出されたスキルパラメータ（第１のパラメータ）と、当該ユーザが指定したキャリア情報とを受け付ける。また、想定年収提示システムは、他の（過去の）各ユーザのキャリア情報、企業の求人情報に示される当該求人の年収または各ユーザから入力を受け付けた年収の情報をデータベースとして蓄積している。想定年収システムは、これら情報に基づき、キャリア情報の指定を受け付けた当該ユーザの想定年収を特定する。
【００１７】
本開示に係る想定年収提示システムは、スキルパラメータを算出するため、例として、ソフトウェア開発のプラットフォームであるＧｉｔＨｕｂ（登録商標）にアクセスし、ユーザのエンジニアとしての成果を示す各種パラメータ（第２のパラメータ）を取得する。ＧｉｔＨｕｂは、ソースコードホスティングサービスであり、ソースコードのバージョン管理を行うためのソースコードリポジトリを有し、ある時点におけるソースコードの一覧を管理している。また、ＧｉｔＨｕｂは、エンジニアのローカル環境（ローカルリポジトリ）で作成、修正を行ったソースコードをリモート環境（リモートリポジトリ）へアップロードするプッシュ、プッシュがされたことを通知してレビュー依頼するプルリクエスト、レビューの際にコメント、レビュー結果を確定させるマージ等の機能を備えている。なお、ここで、ソースコードとは、Ｐｙｔｈｏｎのようなプログラミング言語、ＪａｖａＳｃｒｉｐｔ（登録商標）のようなプログラミング言語の一種であるスクリプト言語を含む概念である。
【００１８】
ユーザのエンジニアとしての成果を示す各種パラメータとして、ＧｉｔＨｕｂで管理している、ＧｉｔＨｕｂにおけるソースコードの行数、プッシュ数、プルリクエスト数、レビュー数、コメント数等の値を取得し、これらの値を解析することにより、エンジニアとしての成果、スキルを推定することが可能であると考えられる。例えば、作成ソースコードの行数やプッシュ数、プルリクエスト数が多いエンジニアは、実際にソースコードを作成、修正をする作業者として活動することが多いエンジニアであり、レビュー数（他のエンジニアからの依頼によりレビューを行う件数）、コメント数が多いエンジニアは、開発プロジェクトのマネジメントを行う管理者として活動することが多いエンジニアであると推定される。そして、これらの数の多少により、それぞれの役割としてのスキルを推定できると考えられる。
【００１９】
そのため、本開示に係る想定年収提示システムでは、ＧｉｔＨｕｂにおける各種パラメータの値を取得し、これらの値を解析することによりユーザのエンジニアとしてのスキルを評価したスキルパラメータを算出する。このスキルパラメータと、当該ユーザの職種から、他の各ユーザのキャリア情報、企業の求人情報や各ユーザから受け付けた年収の情報に基づき、当該ユーザの想定年収を特定している。このような構成により、より客観的な想定年収をユーザに提示することが可能になる。
【００２０】
さらに、他の各ユーザのキャリア情報、企業の求人情報から、ユーザが自己の想定年収を上げるためには、どのような経験を積んでスキルアップを図るのが望ましいかを把握することが可能になる。そのため、必要な行動を提示し、そのような職種を提示し、さらに具体的な求人情報を提示すること、ＳＮＳ（Social Networking Service）へ投稿することも可能にしている。
【００２１】
＜第１の実施の形態＞
以下、想定年収提示システム１について説明する。以下の説明では、例えば、端末装置１０がサーバ２０へアクセスすることにより、サーバ２０が、端末装置１０で画面を生成するための情報を応答する。端末装置１０は、サーバ２０から受信した情報に基づいて画面を生成し表示する。
【００２２】
＜１  想定年収提示システム１の全体構成＞
図１は、想定年収提示システム１の全体の構成を示す図である。図１に示すように、想定年収提示システム１は、複数の端末装置（図１では、端末装置１０Ａおよび端末装置１０Ｂを示している。以下、総称して「端末装置１０」ということもある）と、サーバ２０と、リポジトリサーバ３０とを含む。端末装置１０と、サーバ２０と、リポジトリサーバ３０とは、ネットワーク８０を介して相互に通信可能に接続されている。ネットワーク８０は、有線または無線ネットワークにより構成される。
【００２３】
端末装置１０は、各ユーザが操作する装置である。ここで、ユーザとは、端末装置１０を使用して想定年収提示システム１による想定年収の提示を受ける者であるが、上記のようにＧｉｔＨｕｂの各種パラメータからユーザのスキルパラメータを算出する構成であるため、ＧｉｔＨｕｂによりソースコードの開発を行っている者である。端末装置１０は、据え置き型のＰＣ（Personal Computer）、ラップトップＰＣ等により実現される。この他、端末装置１０は、例えば移動体通信システムに対応したタブレットや、スマートフォン等の携帯端末であるとしてもよい。
【００２４】
端末装置１０は、ネットワーク８０を介してサーバ２０およびリポジトリサーバ３０と通信可能に接続される。端末装置１０は、４Ｇ、５Ｇ、ＬＴＥ（Long Term Evolution）等の通信規格に対応した無線基地局８１、ＩＥＥＥ（Institute of Electrical and Electronics Engineers）８０２．１１等の無線ＬＡＮ（Local Area Network）規格に対応した無線ＬＡＮルータ８２等の通信機器と通信することにより、ネットワーク８０に接続される。図１に端末装置１０Ｂとして示すように、端末装置１０は、通信ＩＦ（Interface）１２と、入力装置１３と、出力装置１４と、メモリ１５と、記憶部１６と、プロセッサ１９とを備える。
【００２５】
通信ＩＦ１２は、端末装置１０が外部の装置と通信するため、信号を入出力するためのインタフェースである。入力装置１３は、ユーザからの入力操作を受け付けるための入力装置（例えば、キーボードや、タッチパネル、タッチパッド、マウス等のポインティングデバイス等）である。出力装置１４は、ユーザに対し情報を提示するための出力装置（ディスプレイ、スピーカ等）である。メモリ１５は、プログラム、および、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばＤＲＡＭ（Dynamic Random Access Memory）等の揮発性のメモリである。記憶部１６は、データを保存するための記憶装置であり、例えばフラッシュメモリ、ＨＤＤ（Hard Disc Drive）である。プロセッサ１９は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路等により構成される。
【００２６】
サーバ２０は、ＧｉｔＨｕｂにおける各種パラメータ、各ユーザのスキルパラメータ、一般ユーザから受け付けた職種および年収の情報、ならびに企業の求人情報を管理する装置である。サーバ２０は、ユーザからキャリア情報を受け付け、当該ユーザについて想定される年収を特定し、当該ユーザへ提示する。
【００２７】
サーバ２０は、ネットワーク８０に接続されたコンピュータである。サーバ２０は、通信ＩＦ２２と、入出力ＩＦ２３と、メモリ２５と、ストレージ２６と、プロセッサ２９とを備える。
【００２８】
通信ＩＦ２２は、サーバ２０が外部の装置と通信するため、信号を入出力するためのインタフェースである。入出力ＩＦ２３は、ユーザからの入力操作を受け付けるための入力装置、および、ユーザに対し情報を提示するための出力装置とのインタフェースとして機能する。メモリ２５は、プログラム、および、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばＤＲＡＭ（Dynamic Random Access Memory）等の揮発性のメモリである。ストレージ２６は、データを保存するための記憶装置であり、例えばフラッシュメモリ、ＨＤＤ（Hard Disc Drive）である。プロセッサ２９は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路等により構成される。
【００２９】
リポジトリサーバ３０は、ＧｉｔＨｕｂにおけるリモートリポジトリを管理する装置である。リポジトリサーバ３０は、ユーザがプッシュしたソースコードを受け付けて格納および管理を行い、プルリクエスト、コメント、マージ等を受け付ける。
【００３０】
＜１．１  端末装置１０の構成＞
図２は、実施の形態１の想定年収提示システム１を構成する端末装置１０の機能的な構成を示すブロック図である。図２に示すように、端末装置１０は、複数のアンテナ（アンテナ１１１、アンテナ１１２）と、各アンテナに対応する無線通信部（第１無線通信部１２１、第２無線通信部１２２）と、操作受付部１３０（キーボード１３１およびディスプレイ１３２を含む）と、音声処理部１４０と、マイク１４１と、スピーカ１４２と、カメラ１５０と、記憶部１６０と、制御部１７０とを含む。端末装置１０は、図２では特に図示していない機能および構成（例えば、電力を保持するためのバッテリー、バッテリーから各回路への電力の供給を制御する電力供給回路等）も有している。図２に示すように、端末装置１０に含まれる各ブロックは、バス等により電気的に接続される。
【００３１】
アンテナ１１１は、端末装置１０が発する信号を電波として放射する。また、アンテナ１１１は、空間から電波を受信して受信信号を第１無線通信部１２１へ与える。
【００３２】
アンテナ１１２は、端末装置１０が発する信号を電波として放射する。また、アンテナ１１２は、空間から電波を受信して受信信号を第２無線通信部１２２へ与える。
【００３３】
第１無線通信部１２１は、端末装置１０が他の無線機器と通信するため、アンテナ１１１を介して信号を送受信するための変復調処理等を行う。第２無線通信部１２２は、端末装置１０が他の無線機器と通信するため、アンテナ１１２を介して信号を送受信するための変復調処理等を行う。第１無線通信部１２１と第２無線通信部１２２とは、チューナー、ＲＳＳＩ（Received Signal Strength Indicator）算出回路、ＣＲＣ（Cyclic Redundancy Check）算出回路、高周波回路等を含む通信モジュールである。第１無線通信部１２１と第２無線通信部１２２とは、端末装置１０が送受信する無線信号の変復調や周波数変換を行い、受信信号を制御部１７０へ与える。
【００３４】
操作受付部１３０は、ユーザの入力操作を受け付けるための機構を有する。具体的には、操作受付部１３０は、キーボード１３１と、ディスプレイ１３２とを含む。なお、操作受付部１３０は、例えば静電容量方式のタッチパネルを用いることによって、タッチパネルに対するユーザの接触位置を検出する、タッチスクリーンとして構成してもよい。
【００３５】
キーボード１３１は、端末装置１０のユーザの入力操作を受け付ける。キーボード１３１は、文字入力を行う装置であり、入力された文字情報を入力信号として制御部１７０へ出力する。
【００３６】
ディスプレイ１３２は、制御部１７０の制御に応じて、画像、動画、テキスト等のデータを表示する。ディスプレイ１３２は、例えばＬＣＤ（Liquid Crystal Display）や有機ＥＬ（Electro-Luminescence）ディスプレイによって実現される。
【００３７】
音声処理部１４０は、音声信号の変復調を行う。音声処理部１４０は、マイク１４１から与えられる信号を変調して、変調後の信号を制御部１７０へ与える。また、音声処理部１４０は、音声信号をスピーカ１４２へ与える。音声処理部１４０は、例えば音声処理用のプロセッサによって実現される。マイク１４１は、音声入力を受け付けて、当該音声入力に対応する音声信号を音声処理部１４０へ与える。スピーカ１４２は、音声処理部１４０から与えられる音声信号を音声に変換して当該音声を端末装置１０の外部へ出力する。
【００３８】
カメラ１５０は、受光素子により光を受光して、撮影画像として出力するためのデバイスである。カメラ１５０は、例えば、カメラ１５０から撮影対象までの距離を検出できる深度カメラである。
【００３９】
記憶部１６０は、例えばフラッシュメモリ等により構成され、端末装置１０が使用するデータおよびプログラムを記憶する。ある局面において、記憶部１６０は、ユーザ情報１６１と、ローカルリポジトリ１６２とを記憶する。
【００４０】
ユーザ情報１６１は、端末装置１０を使用して想定年収提示システム１の機能である想定年収の提示を受けるユーザの情報である。ユーザ情報としては、ユーザを識別する情報（ユーザＩＤ）、ユーザの氏名や名称、ユーザが所属している企業等の組織情報、ＧｉｔＨｕｂにサインインするためのＩＤ情報やパスワード等が含まれる。
【００４１】
ローカルリポジトリ１６２には、ＧｉｔＨｕｂによるソフトウェア開発を行う際に、ユーザが自己のローカル環境で作業を行うためのソースコード等の情報が格納されている。ユーザは、ローカルリポジトリ１６２に作成したソースコードを格納し、ローカルリポジトリ１６２に格納されているソースコードに対して修正を行う。作成および修正の完了後、ユーザは、ソースコードをリポジトリサーバ３０へプッシュする。
【００４２】
制御部１７０は、記憶部１６０に記憶されるプログラムを読み込んで、プログラムに含まれる命令を実行することにより、端末装置１０の動作を制御する。制御部１７０は、例えば予め端末装置１０にインストールされているアプリケーションである。制御部１７０は、プログラムに従って動作することにより、入力操作受付部１７１と、送受信部１７２と、データ処理部１７３と、通知制御部１７４としての機能を発揮する。
【００４３】
入力操作受付部１７１は、キーボード１３１等の入力装置に対するユーザの入力操作を受け付ける処理を行う。
【００４４】
送受信部１７２は、端末装置１０が、サーバ２０等の外部の装置と、通信プロトコルに従ってデータを送受信するための処理を行う。
【００４５】
データ処理部１７３は、端末装置１０が入力を受け付けたデータに対し、プログラムに従って演算を行い、演算結果をメモリ等に出力する処理を行う。
【００４６】
通知制御部１７４は、ユーザに対し情報を提示する処理を行う。通知制御部１７４は、表示画像をディスプレイ１３２に表示させる処理、音声をスピーカ１４２に出力させる処理、振動をカメラ１５０に発生させる処理等を行う。
【００４７】
＜１．２  サーバ２０の機能的な構成＞
図３は、実施の形態１の想定年収提示システム１を構成するサーバ２０の機能的な構成を示す図である。図３に示すように、サーバ２０は、通信部２０１と、記憶部２０２と、制御部２０３としての機能を発揮する。
【００４８】
通信部２０１は、サーバ２０が外部の装置と通信するための処理を行う。
【００４９】
記憶部２０２は、サーバ２０が使用するデータおよびプログラムを記憶する。記憶部２０２は、リポジトリデータベース２０２１と、企業求人データベース２０２２と、ユーザスキルデータベース２０２３と、収入予測モデルデータベース２０２４等を記憶する。
【００５０】
リポジトリデータベース２０２１は、想定年収提示システム１においてリポジトリサーバ３０から取得した、リモートリポジトリのソースコードの行数、プッシュ数等の各種パラメータに関する各種情報を保持するためのデータベースである。詳細は後述する。
【００５１】
企業求人データベース２０２２は、想定年収提示システム１においてユーザに掲示される、企業からの求人情報を保持するためのデータベースである。詳細は後述する。
【００５２】
ユーザスキルデータベース２０２３は、想定年収提示システム１においてリポジトリサーバ３０から取得した、各ユーザのエンジニアとしてのスキルを評価した各種パラメータの情報を保持するためのデータベースである。詳細は後述する。
【００５３】
収入予測モデルデータベース２０２４は、想定年収提示システム１において、企業の求人情報に示される当該求人の年収、または各ユーザから入力を受け付けた年収の情報に基づいて算出された想定年収の情報を保持するためのデータベースである。詳細は後述する。
【００５４】
制御部２０３は、サーバ２０のプロセッサがプログラムに従って処理を行うことにより、各種モジュールとして受信制御モジュール２０３１、送信制御モジュール２０３２、リポジトリ管理モジュール２０３３、スコアリングモジュール２０３４、ユーザ職種受付モジュール２０３５、想定年収特定モジュール２０３６、および想定年収提示モジュール２０３７に示す機能を発揮する。
【００５５】
受信制御モジュール２０３１は、サーバ２０が外部の装置から通信プロトコルに従って信号を受信する処理を制御する。
【００５６】
送信制御モジュール２０３２は、サーバ２０が外部の装置に対し通信プロトコルに従って信号を送信する処理を制御する。
【００５７】
リポジトリ管理モジュール２０３３は、各ユーザについてネットワーク上に記録されている情報を取得する処理を制御する。想定年収提示システム１のユーザは、ＧｉｔＨｕｂによりソースコードの開発を行っているため、ＧｉｔＨｕｂにおいて作成したソースコードの行数、ソースコードのプッシュ数、プルリクエスト数、リポジトリにおける他者からの評価を示すスター数、フォロワー数等の各種パラメータ（第２のパラメータ）がリポジトリサーバ３０に記録されている。そのため、リポジトリ管理モジュール２０３３は、各ユーザからリポジトリサーバ３０にアクセスするためのＩＤおよびパスワードを取得し、リポジトリサーバ３０にアクセスして当該ユーザの各種パラメータを取得する。
【００５８】
リポジトリサーバ３０では、ソースコードのバージョン管理を行うため、あるユーザがソースコードをローカルリポジトリからプッシュした場合、そのユーザの情報、およびそのときの日時をログ情報として記録している。同様に、ソースコードについてプルリクエストがあった場合、コメントが作成された場合、マージがあった場合等それぞれのアクションについて、当該アクションを行ったユーザの情報、およびそのときの日時をログ情報として記録している。これらの情報は、各ユーザが所属するプロジェクトごと、そのプロジェクト内で作成されたソースコードのファイルごとに記録されている。リポジトリ管理モジュール２０３３は、リポジトリサーバ３０からこれらのログ情報を取得している。
【００５９】
スコアリングモジュール２０３４は、リポジトリ管理モジュール２０３３が取得した各種パラメータに基づき、各ユーザのエンジニアとしてのスキルを評価した値であるスキルパラメータ（第１のパラメータ）を算出する処理を制御する。ここで、スキルパラメータとは、個々のエンジニアに対して、職種ごとに必要なスキルや、職種の経験年数を評価して数値化したものであり、絶対評価により数値化した値でもよく、所定のユーザの中で相対評価した値でもよい。さらに、ＩＴエンジニアの場合における、使用経験のあるプログラミング言語、ソフトウェアフレームワーク、およびこれらの経験期間（年数）を評価して数値化したものでもよい。ここで、プログラミング言語とはソフトウェア開発に用いられる言語であり、具体的にはＨＴＭＬ、ＣＳＳ、ＪａｖａＳｃｒｉｐｔ、Ｊａｖａ（登録商標）、Ｓｃａｌａ、ＰＨＰ、Ｒｕｂｙ、Ｐｙｔｈｏｎ、Ｇｏ、Ｃ＃、Ｎｏｄｅ.ｊｓなどがある。また、ソフトウェアフレームワークとはソフトウェア開発に利用するソフトウェアプラットフォームであり、具体的には、ｊＱｕｅｒｙ、Ｒｅａｃｔ、Ｖｕｅ.ｊｓ、Ａｎｇｕｌａｒ、Ｎｕｘｔ.ｊｓ、Ｎｅｘｔ.ｊｓ、ＲｅａｃｔＮａｔｉｖｅ、Ｓｐｒｉｎｇ  Ｆｒａｍｅｗｏｒｋ、Ｐｌａｙ  Ｆｒａｍｅｗｏｒｋ、Ｌａｒａｖｅｌ、ＣａｋｅＰＨＰ、ＲｕｂｙｏｎＲａｉｌｓ、Ｄｊａｎｇｏ、Ｆｌａｓｋ、ＴｅｎｓｏｒＦｌｏｗ、ｇｉｎ、Ｕｎｉｔｙ、Ｅｘｐｒｅｓｓなどがある。
【００６０】
例えば、一定期間における、ＧｉｔＨｕｂにおいて作成したソースコードの行数、ソースコードのプッシュ数をカウントすることで、当該ユーザがエンジニアとして一定量のソースコードを作成する期間が分かるので、当該ユーザのエンジニア（プログラマ）としてのスキルを推定することが可能である。そのため、スコアリングモジュール２０３４は、リポジトリ管理モジュール２０３３が取得した各種パラメータから、各ユーザのそれぞれのパラメータを取得し、上記のような観点に基づいてスキルパラメータを算出する。このスキルパラメータは、プログラミング言語ごとに算出してもよく、複数のプログラミング言語の使用経験があるユーザの場合には、それぞれのプログラミング言語ごと、ソフトウェアフレームワークごとに算出してもよい。なお、一定期間における、ＧｉｔＨｕｂにおいて通知されたプルリクエスト数、ソースコードのレビュー数（他のエンジニアからの依頼によりレビューを行う件数）、ソースコードに対するコメント数により、当該ユーザのエンジニア（チームリーダーまたはマネージャ）としてのスキルを推定してもよい。スキルパラメータの算出にあたっては、例えば、これらの各種パラメータ（第２のパラメータ）からスキルパラメータを算出するように機械学習を行った学習済みモデルを事前に作成しておき、これを用いて算出することができる。具体的には、例えばＧｉｔＨｕｂにおけるリポジトリの数値を教師データとして機械学習を行い、またはディープラーニング等による学習を行うことで生成される機械学習モデル（ニューラルネットワーク、ＳＶＲ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｒｅｇｒｅｓｓｉｏｎ：サポートベクター回帰）など）である。
【００６１】
また、スコアリングモジュール２０３４が算出するユーザの技術力を評価したスキルパラメータは、ビジネス力や発信力などをスコア化したビジネススコアや発信力スコアも加味したパラメータとすることとしてもよい。例えば、ユーザが利用するＳＮＳと連携し、ＳＮＳの自己紹介文、フォロワー数、ＳＮＳでの投稿に対するコメント数などから、ビジネス力や発信力としてビジネススコアや発信力スコアを算出し、第１のパラメータに含めることとしてもよい。ビジネススコアとは、例えば、会社経営、リーダーシップおよび会計等、ビジネスで必要とされる属性についてのユーザのスキルを数値化したものである。発信力スコアとは、例えば、インターネットに公開された情報そのものの数や読者数が多い、および、他のユーザから評価された数が多い等、外部へ積極的に発信することや他のユーザに影響を与えることに関する属性についてのユーザのスキルを数値化したものである。具体的には、ＳＮＳの自己紹介文と、後述する職種および経験期間の情報とからビジネススコアを算出し、ＳＮＳへの投稿数と、フォロワー数と、ＳＮＳでの投稿に対するコメント数から発信力のスコアを算出してもよい。さらに、スライドショーの公開サービス等におけるスライド数およびダウンロード数、ＳＮＳの投稿に対する他者の反応（いわゆる「いいね」を得た数）数から発信力のスコアを算出してもよい。個々のエンジニアの評価を、技術力、ビジネス力、発信力の観点で絶対値として評価してもよく、他のユーザの評価と比較した相対評価としてスコア化してもよく、技術力、ビジネス力、発信力それぞれの値に対して所定の重み付けを行ってもよい。
【００６２】
ユーザ職種受付モジュール２０３５は、想定年収提示システム１により想定年収の提示を受けるユーザのキャリア情報として、職種の指定を受け付ける処理を制御する。ユーザの職種とは、単に「会社員」や「エンジニア」のような雇用形態等の分類によるものではなく、具体的な業務内容や職務内容、役割が分かるような分類によるものであり、例えば、「フロントエンドエンジニア」、「ＡＩプログラマ」等のソフトウェアエンジニアの具体的な職種を示したものである。なお、ユーザ職種受付モジュール２０３５は、当該ユーザが想定年収提示システム１に登録する際に指定した職種の情報を、指定した職種として受け付けてもよい。また、ユーザ職種受付モジュール２０３５は、ユーザの職種の指定とともに、当該職種の所属期間（従事期間）、現時点で当該職種に従事していない場合は現時点での空き（ブランク）期間、現時点での年収を受け付けてもよい。これらの入力値は、後述の想定年収特定モジュール２０３６で使用される。さらに、ユーザ職種受付モジュール２０３５は、各ユーザのキャリア情報として、各ユーザのスキルに関する情報、例えばプログラミング言語の使用経験期間、ソフトウェアフレームワークの使用経験期間等の情報を取得してもよい。さらに、ユーザ職種受付モジュール２０３５は、各ユーザのキャリア情報として、各ユーザについてネットワーク上に記録されている当該ユーザに関するオープンソースの情報、例えばＯＳＳ（オープンソースソフトウェア）に投稿して一定の評価を得ていることを示す情報を取得してもよい。ＯＳＳにおける一定の評価を得ていることを示す情報とは、例えば、オープンソース成熟度モデル（ＯＳＭＭ）、オープンビジネス品質評価（ＯｐｅｎＢＱＲ）等の客観的な評価モデルによる評価値でもよく、他者からのコメント等による評価でもよい。
【００６３】
上記のように、キャリア情報は、エンジニアとしての職種に関する経験、具体的には「フロントエンドエンジニア」、「ＡＩプログラマ」等の経験の情報のみならず、エンジニアの上位スキルとして、チームでプロジェクトを進めるためにチームを運営するマネジメント経験の情報、顧客との交渉の経験の情報、（顧客または企業上層部と）要件定義を決定する経験の情報を含む概念である。マネジメント経験の情報とは、具体的にはユーザの役職名またはプロジェクト内での役割を示す情報であり、「○○マネージャ」「ＣＴＯ」等の記載である。さらに、キャリア情報は、エンジニアとしてのスキルに関する経験、具体的にはプログラミング言語、ソフトウェアフレームワークの経験の情報を含む概念である。さらに、ネットワーク上に記録されている当該ユーザに関するオープンソースの情報を含む概念である。
【００６４】
想定年収特定モジュール２０３６は、ユーザ職種受付モジュール２０３５にてユーザにより指定されたキャリア情報と、当該ユーザについて、スコアリングモジュール２０３４にて算出したスキルパラメータと、当該ユーザの職種から、収入予測モデルを用いて、当該ユーザについて想定される年収を特定する処理を制御する。想定年収提示システム１では、ユーザ職種受付モジュール２０３５が受け付けたユーザのキャリア情報として、職種の所属期間およびその時点での年収の情報、（想定年収提示システム１により想定年収の提示を受けない）一般ユーザの職種の所属期間およびその時点での年収の情報、企業の求人情報等により、各ユーザの職種の経験と、その経験を有するユーザの年収との関係を示す情報を収入予測モデルとして記憶している。また、各ユーザの職種の経験に対するスキルパラメータを算出している。ただし、想定年収特定モジュール２０３６は、これらの情報を必ずしも記憶部２０２に記憶されている情報として取得して年収を特定する必要はなく、収入予測モデルにより年収を特定してもよい。なお、一般ユーザの職種の所属期間およびその時点での年収の情報は、自己申告による情報でもよく、他の手法により取得した客観的なデータでもよい。想定年収特定モジュール２０３６は、各ユーザの職種の経験から算出されるスキルパラメータとそのスキルパラメータを有するユーザの年収との関係に基づき、当該ユーザについて想定される年収を特定する。また、職種の情報に関連して、当該ユーザが経験したプログラミング言語やソフトウェアフレームワーク等に基づいて、年収を特定してもよい。さらに、プログラミング言語ごとに年収を特定してもよく、複数のプログラミング言語の使用経験があり、複数のプログラミング言語についてスキルパラメータが算出されているユーザの場合には、これらのスキルパラメータに基づいて総合的に年収を特定してもよい。
【００６５】
さらにまた、想定年収特定モジュール２０３６は、各ユーザのスキルパラメータと、当該スキルの前提となる職種の情報（上記のような「フロントエンドエンジニア」等）、当該職種の経験期間（年数）の情報に基づき、当該ユーザについて想定される年収を特定してもよい。一定の経験年数がないとスキルとして認定するのが困難な場合もあり、年収も異なることが多いからである。さらに、想定年収特定モジュール２０３６は、キャリア情報として各ユーザが保有するスキルの情報（自己推薦スキル）に基づき、当該ユーザについて想定される年収を特定してもよい。ユーザの自己推薦スキルは、例えば、ユーザ職種受付モジュール２０３５にてユーザから取得したスキルに関する記載、またはＳＮＳまたはＯＳＳへの投稿情報から推定することが可能である。例えば、想定年収特定モジュール２０３６は、ＳＮＳへの投稿に対し、いわゆる「いいね」を得た数、当該ユーザが上記のようなＯＳＳにおける一定の評価を得ていることを示す情報、ＳＮＳへの投稿内容に含まれる所定のキーワード（プログラミング言語やソフトウェアフレームワークの具体的な名称等）から推定する。
【００６６】
具体的な例として、想定年収特定モジュール２０３６は、まず、ユーザのスキルパラメータに基づき、当該ユーザについて想定される年収を特定する。次に、当該ユーザの職種および経験年数に応じて重み付け（例えば、一定割合の乗算による加算）が行われ、年収を加算する。このとき、ユーザのキャリア情報として、エンジニアの上位スキルであるマネジメント経験等を有する場合、異なる重み付け（例えばより年収を加算する）を行ってもよい。さらに、当該ユーザの自己推薦スキルに応じて重み付け（例えば、一定割合の乗算による加算）が行われ、年収を加算する。このようにして、当該ユーザについて、スキルパラメータ、職種および経験年数、および自己推薦スキルに基づいて想定される年収を特定する。なお、当該ユーザの職種および経験年数に応じた重み付け、および当該ユーザの自己推薦スキルに応じた重み付けは、年収を加算する方向への重み付け（例えば１より大きい値の乗算）だけではなく、年収を減算する方向への重み付け（例えば１より小さい値の乗算）でもよい。想定年収特定モジュール２０３６では、このような年収の特定をあらかじめ行っておき、ユーザスキルデータベース２０２３に格納してもよい。さらには、上記のように、スキルパラメータだけでなくビジネススコアや発信力スコアも加味した重み付けなどをすることにより、ビジネススコアや発信力スコア（少なくともそのいずれか一方）に基づく年収予測を実行してもよい。
【００６７】
想定年収特定モジュール２０３６が参照する収入予測モデルは、各ユーザの職種の経験とその経験を有するユーザの年収との関係を示すものであり、各ユーザの職種の経験（年数）から算出されたスキルパラメータごとに集計した年収の最小値と最大値とを示す統計データでもよく、平均値、中央値、最頻値等を示すものでもよい。例えば、想定年収特定モジュール２０３６は、これらの情報が格納されているデータベースを対応表として、ユーザの想定年収を特定してもよく、これらの情報を教師データとして機械学習が行われた機械学習モデルからユーザの想定年収を特定してもよい。すなわち、スキルパラメータやユーザのキャリア情報から収入予測を行うための収入予測モデルを予め作成しておき、これを用いて収入予測を行う。収入予測モデルとしては、後述する図５に示すようなデータベースや、各ユーザの職種の経験とその経験を有するユーザの年収との関係を示す対応表または関数、さらに、事前に各ユーザの職種の経験とその経験を有するユーザの年収の情報を教師データとして機械学習を行い、またはディープラーニング等による学習を行うことで生成される機械学習モデル（ニューラルネットワーク、ＳＶＲ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｒｅｇｒｅｓｓｉｏｎ：サポートベクター回帰）など）を用いることができる。
【００６８】
想定年収特定モジュール２０３６は、ユーザにより指定された職種が複数ある場合、職種ごとに当該職種の所属期間（従事期間）を受け付け、経験期間（年数）が長い当該ユーザの職種を優先して、当該ユーザについて想定される年収を特定してもよい。また、ユーザからどの職種について年収を特定するか、指定を受け付けてもよい。
【００６９】
想定年収提示モジュール２０３７は、想定年収特定モジュール２０３６により特定された年収の情報を、当該ユーザに提示する処理を制御する。想定年収提示モジュール２０３７は、当該ユーザの端末装置１０へ特定された年収の情報を、通信部２０１を介して送信する。
【００７０】
＜２  データ構造＞
図４は、サーバ２０が記憶するリポジトリデータベース２０２１、企業求人データベース２０２２のデータ構造を示す図である。また、図５は、サーバ２０が記憶するユーザスキルデータベース２０２３、収入予測モデルデータベース２０２４のデータ構造を示す図である。
【００７１】
図４に示すように、リポジトリデータベース２０２１のレコードのそれぞれは、項目「管理ＩＤ」と、項目「アドレス」と、項目「開発言語」と、項目「ファイル名」と、項目「更新履歴情報」等を含む。
【００７２】
項目「管理ＩＤ」は、想定年収提示システム１にてリポジトリサーバ３０から取得する各種パラメータの対象であるソースコードのファイルそれぞれを識別する情報である。
【００７３】
項目「アドレス」は、想定年収提示システム１にて各種パラメータを取得するリポジトリサーバ３０のアドレス（ＵＲＬ）を示す情報であり、プロジェクトごとに作成されたリモートリポジトリのアドレスが格納されている。このアドレスにより、プロジェクトごとに共通するファイル名（ＲＥＡＤＭＥ．ｔｘｔ等）を識別することが可能である。
【００７４】
項目「開発言語」は、想定年収提示システム１にて各種パラメータを取得する、リポジトリサーバ３０の当該プロジェクトで使用されるプログラミング言語の情報である。
【００７５】
項目「ファイル名」は、想定年収提示システム１にて各種パラメータを取得する、リポジトリサーバ３０にプッシュしているソースコードのファイル名の情報である。
【００７６】
項目「更新履歴情報」は、想定年収提示システム１にて各種パラメータを取得する、リポジトリサーバ３０にプッシュしているソースコードの更新履歴に関する情報であり、具体的には、項目「版数」と、項目「日時情報」と、項目「更新者」と、項目「サイズ」等を含む。この項目「更新履歴情報」は、ＧｉｔＨｕｂにおけるソースコードのバージョン管理情報である。
【００７７】
項目「版数」は、リポジトリサーバ３０にプッシュしているソースコードのファイルのバージョン数（版数）の情報であり、例えば、ソースコードが更新されるごとにカウントアップされる。
【００７８】
項目「日時情報」は、リポジトリサーバ３０にプッシュしているソースコードのファイルが当該バージョンに更新された（マージされた）日時の情報である。
【００７９】
項目「更新者」は、リポジトリサーバ３０にプッシュしているソースコードのファイルを当該バージョンに更新したユーザそれぞれを識別する情報である。
【００８０】
項目「サイズ」は、当該バージョンにおける、リポジトリサーバ３０にプッシュしているソースコードのファイルサイズを示す情報である。
【００８１】
サーバ２０のリポジトリ管理モジュール２０３３は、リポジトリサーバ３０からログ情報を取得することに伴って、リポジトリデータベース２０２１を更新する。
【００８２】
企業求人データベース２０２２のレコードのそれぞれは、項目「求人ＩＤ」と、項目「求人企業名」と、項目「求人詳細情報」等を含む。
【００８３】
項目「求人ＩＤ」は、想定年収提示システム１にてユーザに掲示される、企業からの求人情報それぞれを識別する情報である。
【００８４】
項目「求人企業名」は、想定年収提示システム１にてユーザに掲示される求人情報を募集している企業の名称を示す情報である。なお、企業の名称だけではなく、部署名等が含まれてもよい。
【００８５】
項目「求人詳細情報」は、想定年収提示システム１にてユーザに掲示される求人情報に関する情報であり、具体的には、項目「職種名」と、項目「開発言語」と、項目「フレームワーク」と、項目「必要スキル」と、項目「想定年収」と、項目「想定スコア」等を含む。
【００８６】
項目「職種名」は、ユーザに掲示される求人情報の職種の名称を示す情報であり、「ＩＴエンジニア」のような職種名が格納されてもよく、図４に示すように具体的な担当業務の名称が格納されてもよい。
【００８７】
項目「開発言語」は、当該求人情報に係る業務において使用されるプログラミング言語の情報である。
【００８８】
項目「フレームワーク」は、当該求人情報に係る業務において使用されるソフトウェアフレームワークの情報である。
【００８９】
項目「必要スキル」は、当該求人情報に係る業務において必要とされる（必須の）スキルに関する情報である。
【００９０】
項目「想定年収」は、ユーザに掲示される求人情報に採用された場合に想定される（当該企業が支払う予定の）年収を示す情報であり、当該企業に雇用される場合の１年間に支払いを受ける給与および賞与の総額、または個人事業主として業務委託をする場合の１年間に支払いを受ける報酬の総額である。
【００９１】
項目「想定スコア」は、ユーザに掲示される求人情報において、採用側が希望するスキルパラメータのスコア（値）を示す情報である。
【００９２】
図５に示すように、ユーザスキルデータベース２０２３のレコードのそれぞれは、項目「ユーザＩＤ」と、項目「自己申告スキル」と、項目「スコア情報」と、項目「ログ／キャリア詳細」等を含む。
【００９３】
項目「ユーザＩＤ」は、想定年収提示システム１にて特定された年収の提示を受けるユーザそれぞれを識別する情報であり、リポジトリデータベース２０２１の項目「更新者」に対応している。
【００９４】
項目「自己スキル情報」は、想定年収提示システム１にて特定された年収の提示を受けるユーザが入力した自己のスキル情報を示す情報である。
【００９５】
項目「スコア情報」は、想定年収提示システム１にて特定された年収の提示を受けるユーザのスコア情報であり、具体的には、項目「開発言語」と、項目「スコア」等を含む。
【００９６】
項目「開発言語」は、想定年収提示システム１にて特定された年収の提示を受けるユーザが経験したプログラミング言語の情報である。
【００９７】
項目「スコア」は、想定年収提示システム１にて特定された年収の提示を受けるユーザのスキルパラメータを示す情報であり、スコアリングモジュール２０３４により算出された値である。図５に示すように、当該スコアは、項目「開発言語」ごとに算出される。
【００９８】
項目「ログ／キャリア詳細」は、想定年収提示システム１にて特定された年収の提示を受けるユーザの、ＧｉｔＨｕｂにおけるログ情報の各種パラメータから取得された過去の職種に関する情報、および自己申告等による過去の職種に関する情報であり、具体的には、項目「社内／社外」と、項目「プロジェクトＩＤ」と、項目「職種名」と、項目「経験年数」と、項目「所属時期」と、項目「年収」等を含む。
【００９９】
項目「社内／社外」は、ユーザの過去または現在の職種における、現在の所属企業内（社内）のキャリアであるか、または現在の所属企業外（社外）のキャリアであるかを示す情報である。
【０１００】
項目「プロジェクトＩＤ」は、ユーザの過去または現在の職種における所属企業内のプロジェクトそれぞれを識別する情報である。
【０１０１】
項目「職種名」は、ユーザの過去または現在の職種の名称を示す情報である。
【０１０２】
項目「経験年数」は、ユーザの過去または現在の当該職種を経験した期間を示す情報であり、例えば、月数または年数の情報が格納される。
【０１０３】
項目「所属時期」は、過去または現在の職種におけるユーザの所属時期を示す情報であり、当該職種に従事していた時期および期間を把握するための情報である。
【０１０４】
項目「年収」は、ユーザの過去または現在の職種における年収の情報であり、当該企業に雇用されていた場合は１年間に支払いを受けた給与および賞与の総額であり、個人事業主として業務委託を行けていた場合は１年間に支払いを受けた報酬の総額である。
【０１０５】
図示していないが、ユーザスキルデータベース２０２３のレコードには、ＧｉｔＨｕｂにおいて作成したソースコードの行数、ソースコードのプッシュ数、プルリクエスト数、レビュー数、コメント数等の各種パラメータが格納されてもよい。
【０１０６】
サーバ２０のスコアリングモジュール２０３４は、各ユーザのスキルパラメータを算出することに伴って、ユーザスキルデータベース２０２３を更新する。
【０１０７】
収入予測モデルデータベース２０２４のレコードのそれぞれは、項目「モデルデータＩＤ」と、項目「収入予測モデル詳細情報」等を含む。
【０１０８】
項目「モデルデータＩＤ」は、想定年収提示システム１にて収集された、各ユーザの職種の経験とその経験を有するユーザのスキルパラメータおよび年収との関係を示すモデルデータそれぞれを識別する情報である。
【０１０９】
項目「収入予測モデル詳細情報」は、想定年収提示システム１にて収集された、各ユーザの職種の経験とその経験を有するユーザのスキルパラメータおよび年収との関係を示すモデルデータであり、具体的には、項目「スコア」と、項目「想定年収」と、項目「サンプルユーザＩＤ」等を含む。なお、項目「収入予測モデル詳細情報」に格納されるユーザのスキルパラメータおよび年収の情報は、ユーザからの承認が得られた場合にのみ蓄積し、ユーザの最新の情報のみ格納するように構成してもよい。ユーザからの承認は、例えば、利用規約にデータの提供について定め、予めユーザから利用規約への同意を取得することで行ってもよい。
【０１１０】
項目「スコア」は、当該職種の経験を有する各ユーザのスキルパラメータを示す情報であり、スコアリングモジュール２０３４により算出される値である。
【０１１１】
項目「想定年収」は、当該職種の経験を有する各ユーザの年収を示す情報であり、想定年収特定モジュール２０３６により特定される値である。
【０１１２】
項目「サンプルユーザＩＤ」は、当該職種の経験を有する各ユーザそれぞれを識別する情報であり、リポジトリデータベース２０２１の項目「更新者」に対応している。
【０１１３】
＜３  動作＞
以下、図６ないし図８を参照しながら、第１の実施の形態における想定年収提示システム１によるスコアリング処理、年収情報の取得処理および想定年収の提示処理について説明する。
【０１１４】
図６は、実施の形態１の想定年収提示システム１によるスコアリング処理を行う流れの一例を示すフローチャートである。
【０１１５】
ステップＳ１１１において、ユーザが端末装置１０を操作して、ローカルリポジトリからリポジトリサーバ３０のリモートリポジトリに対して、プッシュやコメント等のアクションを行うので、端末装置１０の入力操作受付部１７１は当該アクションの指示を、ユーザから受け付ける。送受信部１７２は、受け付けたアクションの情報をサーバ２０へ送信する。サーバ２０は、アクションの情報を、通信部２０１を介して受け付ける。
【０１１６】
ステップＳ１１２において、サーバ２０のリポジトリ管理モジュール２０３３は、各ユーザについて、リポジトリサーバ３０に記録されているソースコードのプッシュ数、プルリクエスト数等の各種パラメータ（第２のパラメータ）情報を、リポジトリサーバ３０にアクセスして要求信号を送信する。リポジトリ管理モジュール２０３３は、リポジトリサーバ３０から各種パラメータ情報を、通信部２０１を介して取得し、リポジトリデータベース２０２１へ格納する。
【０１１７】
ステップＳ１１３において、サーバ２０のスコアリングモジュール２０３４は、ステップＳ１１２で取得した各種パラメータに基づき、各ユーザのそれぞれのパラメータを職種ごと、プロジェクトごとに、その職種やプロジェクトへの所属期間も含めて取得し、各ユーザのエンジニアとしてのスキルを評価した値であるスキルパラメータ（第１のパラメータ）を算出する。
【０１１８】
ステップＳ１１４において、サーバ２０のスコアリングモジュール２０３４は、ステップＳ１１３で算出したスキルパラメータ、および基になる各種パラメータの情報を、ユーザスキルデータベース２０２３へ格納する。
【０１１９】
以上のように、想定年収提示システム１では、ＧｉｔＨｕｂにおける成果物のログ情報である各種パラメータに基づき、スキルパラメータ（第１のパラメータ）を算出する。これにより、ユーザの成果物に対して、客観的な観点で評価することが可能である。
【０１２０】
図７は、実施の形態１の想定年収提示システム１による年収情報の取得処理を行う流れの一例を示すフローチャートである。
【０１２１】
ステップＳ２１１において、サーバ２０のユーザ職種受付モジュール２０３５は、一般ユーザの職種の所属期間およびその時点での年収の情報の入力を、通信部２０１を介して受け付ける。一般ユーザとは、例えば、想定年収提示システム１により想定年収の提示を受けない一般のユーザである。
【０１２２】
ステップＳ２１２において、サーバ２０のユーザ職種受付モジュール２０３５は、ステップＳ２１１で受け付けたユーザの職種の所属期間およびその時点での年収の情報を、収入予測モデルデータベース２０２４へ格納する。
【０１２３】
以上のように、想定年収提示システム１では、想定年収を特定する基になる、他の各ユーザの職種の経験、および各ユーザから受け付けた年収の情報を取得することが可能である。そしてこれらの情報から、予めユーザの収入を予測する収入予測モデルを作成しておくことが可能となる。
【０１２４】
図８は、実施の形態１の想定年収提示システム１による想定年収の提示処理を行う流れの一例を示すフローチャートである。
【０１２５】
ステップＳ３１１において、端末装置１０の入力操作受付部１７１は、想定年収提示システム１にサインインするためのユーザＩＤおよびパスワード、当該ユーザのキャリア情報の入力を、ユーザから受け付ける。送受信部１７２は、受け付けたユーザＩＤおよびパスワード、当該ユーザのキャリア情報をサーバ２０へ送信する。
【０１２６】
ステップＳ３２１において、サーバ２０は、ユーザＩＤおよびパスワードを、通信部２０１を介して受け付けて所定の認証を行い、当該ユーザのサインインを受け付ける。サーバ２０のリポジトリ管理モジュール２０３３は、当該ユーザのキャリア情報を、通信部２０１を介して受け付ける。
【０１２７】
ステップＳ３２２において、サーバ２０の想定年収特定モジュール２０３６は、当該ユーザについて、ステップＳ１１３で算出したスキルパラメータを、ユーザスキルデータベース２０２３から読み出して取得する。なお、スキルパラメータを取得する際に、当該ユーザの最新のスキルパラメータを算出して、取得することとしてもよい。
【０１２８】
ステップＳ３２３において、サーバ２０の想定年収特定モジュール２０３６は、ステップＳ３２１で受け付けたユーザのキャリア情報と、ステップＳ３２２で算出した当該ユーザについてのスキルパラメータとから、収入予測モデルデータベース２０２４に格納されている収入予測モデルに基づき、当該ユーザについて想定される年収を特定する。このとき、ユーザにより指定されたキャリア情報として職種が複数ある場合、職種ごとに当該職種の所属期間（従事期間）を受け付け、経験期間（年数）が長い当該ユーザの職種を優先して、当該ユーザについて想定される年収を特定してもよい。
【０１２９】
ステップＳ３２４において、サーバ２０の想定年収提示モジュール２０３７は、ステップＳ３２３で特定した年収の情報を、当該ユーザに提示するため、端末装置１０へ通信部２０１を介して送信する。
【０１３０】
ステップＳ３１４において、端末装置１０の送受信部１７２は、サーバ２０から送信された当該ユーザの想定年収の情報を受け付ける。通知制御部１７４は、受け付けた当該ユーザの想定年収の情報を、ディスプレイ１３２に表示させる。
【０１３１】
以上のように、想定年収提示システム１は、ＧｉｔＨｕｂにおける成果物のログ情報である各種パラメータに基づき算出されたスキルパラメータと、ユーザのキャリア情報とから、収入予測モデルを用いて、当該ユーザの年収を特定する。これにより、ユーザの成果物に対して、客観的な観点で想定年収を特定することが可能になる。
【０１３２】
＜４  画面例＞
以下、図９および図１０を参照しながら、想定年収提示システム１による想定年収の提示処理の画面例について説明する。
【０１３３】
図９は、端末装置１０に表示するサインイン画面の例を示す図である。図９の画面例は、想定年収の提示を受けるユーザが想定年収提示システム１にサインインする際の画面例を示す。図８のステップＳ３１１に相当する。
【０１３４】
図９に示すように、端末装置１０のディスプレイ１３２には、ＧｉｔＨｕｂにより想定年収の掲示を受けるための画面遷移ボタン１０３１ａが配置されている。この画面遷移ボタン１０３１ａは、リポジトリサーバ３０（ＧｉｔＨｕｂ）にアクセスするための画面に遷移するためのボタンであり、ユーザに対して、ＧｉｔＨｕｂにおける各種パラメータに基づいて想定年収を特定することを示している。
【０１３５】
ユーザは、画面遷移ボタン１０３１ａを押下することで、リポジトリサーバ３０（ＧｉｔＨｕｂ）にアクセスするためのユーザＩＤおよびパスワード入力画面に遷移するので、それぞれ入力することにより、リポジトリサーバ３０（ＧｉｔＨｕｂ）にサインインする。
【０１３６】
図１０は、端末装置１０に表示するスキルパラメータおよび想定年収の画面例を示す図である。図１０の画面例は、スキルパラメータと、そのスキルパラメータに基づいて特定された想定年収が表示された状態の画面例を示す。図８のステップＳ３１４に相当する。
【０１３７】
図１０に示すように、端末装置１０のディスプレイ１３２には、ユーザの想定年収を算出する指示操作に応答して、各ユーザのエンジニアとしてのスキルを評価した値であるスキルパラメータを表示するスキルパラメータ表示欄１０３２ａと、当該ユーザについて特定された想定年収を表示する想定年収表示欄１０３２ｂとが表示されている。このような想定年収表示欄１０３２ｂの値により、ユーザは自己の想定年収を把握することが可能になる。
【０１３８】
＜小括＞
以上のように、本実施形態によると、ＧｉｔＨｕｂを例とするネットワーク上に記録されている情報における成果物の各種パラメータに基づき、各ユーザのエンジニアとしてのスキルを評価したスキルパラメータ（第１のパラメータ）が算出される。この値と、各ユーザの職種の経験（キャリア情報）とに基づき、収入予測モデルを用いて、当該ユーザの年収が特定される。これにより、ユーザの成果物や職種の経験を考慮した客観的な観点で想定年収を精度よく特定することが可能になる。
【０１３９】
また、プログラミング言語ごと、ソフトウェアフレームワークごとに算出されたスキルパラメータ（第１のパラメータ）に基づき、当該ユーザの年収が特定される。ソフトウェアエンジニアにおいては、どのプログラミング言語、どのソフトウェアフレームワークの能力を保有しているのかによって想定される収入が変化するため、ユーザが保有する具体的なプログラミング言語やソフトウェアフレームワークに関するスキルに対して、客観的な観点で想定年収を精度よく特定することが可能になる。これにより、エンジニアであるユーザにとってキャリアが正当に評価されるため、自己のキャリアの指針とすることができる。
【０１４０】
＜第２の実施の形態＞
以下、想定年収提示システム１の他の実施の形態について説明する。
【０１４１】
＜１  想定年収提示システム１の全体構成＞
図１１は、実施の形態２の想定年収提示システム１を構成するサーバ２０の機能的な構成を示す図である。第２の実施の形態における想定年収提示システム１の全体の構成、端末装置１０の構成は、第１の実施の形態と同様であるので、繰り返して説明しない。サーバ２０の構成については、図１１に示すように、新たにキャリアレコメンドモジュール２０３８の機能を備える以外、第１の実施の形態と同様である。以下、第２の実施の形態におけるキャリアレコメンドモジュール２０３８の機能について説明する。
【０１４２】
キャリアレコメンドモジュール２０３８は、想定年収提示モジュール２０３７により想定年収が提示されたユーザについて、特定された年収とは異なる年収となるために必要なスキルパラメータ、または必要な経験職種の情報を特定してユーザへ提示（レコメンド）する処理を制御する。このとき、キャリアレコメンドモジュール２０３８は、ユーザスキルデータベース２０２３に格納されている各種パラメータについて解析を行い、解析結果を出力し、この結果に基づいてレコメンドを行う。
【０１４３】
例えば、ユーザが年収を異なる年収にしたい、具体的には年収を上げたいと希望する場合、スキルパラメータを上昇させることができれば、想定年収も上昇すると考えられる。そのため、キャリアレコメンドモジュール２０３８は、ユーザスキルデータベース２０２３に格納されている、他の各ユーザの職種の経験、企業の求人情報または各ユーザから受け付けた年収の情報に基づき、当該ユーザにとって必要な行動、具体的にはＧｉｔＨｕｂの各種パラメータを上昇させる余地のある行動を特定し、ユーザに提示する。例として、一定期間における作成ソースコードの行数、ソースコードのプッシュ数は多いが、通知されたプルリクエスト数、ソースコードのレビュー数が少ない場合、この値を増加させることでリーダーやマネージャとしての評価が上がり、当該ユーザのスキルパラメータを上昇させることができると考えられる。この場合、キャリアレコメンドモジュール２０３８では、プルリクエスト数、ソースコードのレビュー数を上げるような行動をレコメンドする。
【０１４４】
また、ユーザが年収を上げたいと希望する場合、所定のプロジェクトに参画して貢献すること、例えば対外的にも注目されているような有名なプロジェクト、または難易度の高いプロジェクトで一定の貢献ができれば、スキルパラメータを上昇させ、それにより想定年収も上昇すると考えられる。その他、当該ユーザが他者（社内外を問わず）から一定の評価を得ること、例えばＳＮＳで投稿を行い、いわゆる「いいね」を得ることができれば、スキルパラメータを上昇させ、それにより想定年収も上昇すると考えられる。さらに、当該ユーザがＯＳＳに投稿して一定の評価を得ること、これにより具体的な貢献ができれば、スキルパラメータを上昇させ、それにより想定年収も上昇すると考えられる。そのため、キャリアレコメンドモジュール２０３８は、上記のような行動をユーザに提示する。
【０１４５】
また、ユーザが年収を上げたいと希望する場合、異なる職種の経験を積むことで、スキルパラメータを上昇させ、それにより想定年収も上昇すると考えられる。例えば、フロントエンドエンジニアしか経験のないユーザの場合、バックエンドエンジニアとしての経験が付加されると、エンジニアとしての価値が高まると考えられる。そのため、キャリアレコメンドモジュール２０３８は、ユーザ職種受付モジュール２０３５にてユーザにより指定された職種に加えて、ユーザが経験を希望する職種の指定を受け付け、その職種を経験した場合を含めた想定年収を特定し、ユーザに提示する。
【０１４６】
さらに、当該ユーザが指定した経験を希望する職種について、企業求人データベース２０２２の求人情報を検索できるように構成し、検索結果をユーザに提示するようにしてもよい。さらに、検索結果の求人情報に対して、実際に応募できるように構成してもよく、具体的には検索結果の求人情報に対して応募ボタン（応募手段）を配置してユーザに提示してもよい。ユーザがこの応募ボタンを押下すると、当該ユーザの情報とともに、応募したことを通知する情報を、当該企業の採用者側へ送信して通知してもよい。
【０１４７】
さらにまた、当該ユーザが指定した経験を希望する職種について、その職種を経験した場合を含めた想定年収の情報を、ＳＮＳに投稿できるように構成してもよい。昨今、ＳＮＳの投稿内容がきっかけで採用に至る場合もあるからである。具体的には、想定年収の表示画面において投稿ボタン（投稿手段）を配置し、当該ユーザの想定年収と、当該ユーザが経験を希望する職種の指定を受け付ける画面へのリンク情報を、ＳＮＳに投稿できるように構成してもよい。このとき、例えばＴｗｉｔｔｅｒ（登録商標）の場合、所定のハッシュタグを付加できるように構成してもよい。企業の採用者側に認識できるようにするためである。
【０１４８】
＜２  データ構造＞
第２の実施の形態におけるデータ構造は、第１の実施の形態と同様であるので、繰り返して説明しない。
【０１４９】
＜３  動作＞
第２の実施の形態における動作は、第１の実施の形態と同様であるので、繰り返して説明しない。
【０１５０】
＜４  画面例＞
以下、図１２ないし図１５を参照しながら、想定年収提示システム１による解析結果、希望職種入力処理の画面例について説明する。
【０１５１】
図１２は、端末装置１０に表示するスキルパラメータ、想定年収および希望職種入力欄の画面例を示す図である。図１２の画面例は、スキルパラメータと、そのスキルパラメータに基づいて特定された想定年収と、ユーザが経験を希望する職種の指定を受け付ける入力欄が表示された状態の画面例を示す。図８のステップＳ３１４に相当する。
【０１５２】
図１２に示すように、端末装置１０のディスプレイ１３２には、想定年収を算出する指示操作をユーザから受け付けることに応答して、図１０に示すスキルパラメータ表示欄１０３２ａおよび想定年収表示欄１０３２ｂと同様のスキルパラメータ表示欄１０３４ａおよび想定年収表示欄１０３４ｂに加えて、ユーザが経験を希望する職種の指定を受け付ける希望職種入力欄１０３４ｃと、その職種の想定経験期間入力欄１０３４ｄが表示されている。ユーザは、この希望職種入力欄１０３４ｃおよび想定経験期間入力欄１０３４ｄに、具体的な職種名と、その職種の経験期間（年数）を入力し、再度想定年収の特定を指示することにより、入力した職種を入力した期間経験した場合を含めた想定年収を特定し、スキルパラメータ表示欄１０３４ａおよび想定年収表示欄１０３４ｂに表示させる。このような構成により、想定年収を上昇させるための具体的なキャリア情報を想定し、将来的な想定年収を特定させることが可能になる。
【０１５３】
図１３は、端末装置１０に表示するスキルパラメータ、想定年収および希望職種入力後の結果の画面例を示す図である。図１３の画面例は、図１２の画面例において、希望職種入力欄１０３４ｃおよび想定経験期間入力欄１０３４ｄに入力し、再度想定年収の特定を行った状態の画面例を示す。図８のステップＳ３１４に相当する。
【０１５４】
図１３に示すように、端末装置１０のディスプレイ１３２には、ユーザが希望職種の入力を行った後、再度の想定年収を算出する指示操作をユーザから受け付けることに応答して、図１２に示すスキルパラメータ表示欄１０３４ａ、想定年収表示欄１０３４ｂ、希望職種入力欄１０３４ｃおよび想定経験期間入力欄１０３４ｄと同様のスキルパラメータ表示欄１０３５ａ、想定年収表示欄１０３５ｂ、希望職種入力欄１０３５ｃおよび想定経験期間入力欄１０３５ｄに加えて、ユーザが当該職種の求人を検索可能な求人検索ボタン１０３５ｅと、ＳＮＳ投稿指示１０３５ｆが表示されている。ここで、スキルパラメータ表示欄１０３５ａおよび想定年収表示欄１０３５ｂには、希望職種入力欄１０３５ｃおよび想定経験期間入力欄１０３５ｄにユーザが入力した、ユーザが経験を希望する職種および期間を経験した場合のスキルパラメータおよび想定年収が表示されている。図１２と比較すると、希望職種入力欄１０３５ｃおよび想定経験期間入力欄１０３５ｄに入力した職種を経験することで、スキルパラメータと想定年収が上昇していることが分かる。この想定年収表示欄１０３５ｂにより、当該ユーザは、年収を上げたいと希望する場合に経験すべき具体的な職種の内容を把握することが可能になる。
【０１５５】
また、図１３に示すように、端末装置１０のディスプレイ１３２には、求人検索ボタン１０３５ｅが配置され、当該ユーザが指定した経験を希望する職種について、企業求人データベース２０２２の求人情報を検索できるように構成されている。これにより、当該ユーザは、年収を上げたいと希望する場合に経験すべき具体的な職種に対して、実際に応募することが可能になる。また、求人情報の検索にあたっては、当該ユーザのスキルや希望条件とのマッチング度合いの高い求人情報を優先的に提示するため、ユーザのスキルパラメータやユーザのキャリア情報に基づいて、求人情報を抽出し提示することとしてもよい。例えば、ユーザのスキルパラメータをプログラミング言語やソフトウェアフレームワークごとに算出しておき、当該ユーザのスキルパラメータが高いプログラミング言語やソフトウェアフレームワークのスキルを求めている求人情報を優先的に抽出することとしてもよい。さらに、ユーザのキャリア情報として過去の職種、経験年数、自己推薦スキルを取得しておき、当該ユーザの中で経験年数の高い求人情報を優先的に抽出したり、当該ユーザの自己推薦スキルを含む求人情報を優先的に抽出したりすることとしてもよい。
【０１５６】
さらに、図１３に示すように、端末装置１０のディスプレイ１３２には、ＳＮＳ投稿指示１０３５ｆが配置され、当該ユーザが指定した経験を希望する職種について、その職種を経験した場合を含めた想定年収の情報を、ＳＮＳに投稿できるように構成されている。これにより、当該ユーザは、年収を上げたいと希望する場合に経験すべき具体的な職種に対して、外部にアピールすることが可能になる。
【０１５７】
さらにまた、想定年収が提示されたユーザの情報を、ユーザの希望に応じて企業側へ提示してもよい。当該ユーザが積極的に転職等を考えている場合、マッチングを促すためであるが、ユーザが希望しない場合には提示されない。このとき、図１２に示すように、現時点でのスキルや経験に対応した想定年収を企業側へ提示してもよく、図１３に示すように、当該ユーザが指定した経験を希望する職種について、その職種を経験した場合を含めた想定年収を企業側へ提示してもよい。企業側に対して、転職意欲の高いユーザの情報を提示することにより、マッチングを促すことが可能になる。
【０１５８】
図１４は、端末装置１０に表示するスキルパラメータ、想定年収および希望職種入力後の結果の他の画面例を示す図である。図１４の画面例は、図１３の画面例について、希望職種入力欄１０３５ｃおよび想定経験期間入力欄１０３５ｄに加えて、希望職種入力欄１０３５ｇおよび想定経験期間入力欄１０３５ｈを設け、これらの入力欄に入力後、再度想定年収の特定を行った状態の画面例を示す。図８のステップＳ３１４に相当する。
【０１５９】
図１４に示すように、端末装置１０のディスプレイ１３２には、ユーザが希望職種の入力を行った後、再度の想定年収を算出する指示操作をユーザから受け付けることに応答して、図１３に示す希望職種入力欄１０３５ｃおよび想定経験期間入力欄１０３５ｄに加えて、希望職種入力欄１０３５ｇおよび想定経験期間入力欄１０３５ｈが同一画面上に設けられている。図１４に示す例では、希望職種入力欄１０３５ｃおよび想定経験期間入力欄１０３５ｄには、エンジニアとしての技術スキルの経験について入力するように構成され、希望職種入力欄１０３５ｇおよび想定経験期間入力欄１０３５ｈには、エンジニアの上位スキルとして、例えばマネジメントスキルの経験について入力するように構成されている。例えば、ユーザのスキルパラメータに基づき、当該ユーザについて想定される年収を特定し、当該ユーザの職種および経験年数に応じて重み付けを行い、年収を加算する際、技術スキルの経験による重み付けと、マネジメントスキルの経験による重み付けを異なる値や割合で加算してもよい。具体的には、技術スキルの経験による重み付けより、マネジメントスキルの経験による重み付けを高い割合で乗算して加算するように設定してもよい。
【０１６０】
図１４に示すように、エンジニアとしての技術スキルと、エンジニアの上位スキルであるマネジメントスキルとに基づき、当該ユーザについて想定される年収を特定することにより、ユーザに対して、技術スキルとは異なるキャリアについて、スキルを取得するための行動を促すことが可能になる。例えば、エンジニアとしての技術スキルを向上させることによる想定年収と、マネジメントスキルを向上させることによる想定年収とを比較することが可能になるため、ユーザは自己の複数のキャリアプランについて比較検討することが可能になる。すなわち、このような構成により、ユーザに対して多様な行動を促すことができる。
【０１６１】
また、図１４に示す求人検索ボタン１０３５ｅがユーザにより押下され、当該ユーザが指定した、エンジニアとしての技術スキルの経験、およびマネジメントスキルの経験を希望する職種について、企業求人データベース２０２２の求人情報を検索し、同一画面で検索結果を参照できるように構成されている（図示は省略）。これにより、当該ユーザは、自己のキャリアプランについて比較検討した結果について、実際の求人情報を比較検討し、実際に応募することが可能になる。
【０１６２】
図１５は、端末装置１０に表示するスキルパラメータ、想定年収および解析結果の画面例を示す図である。図１５の画面例は、スキルパラメータと、そのスキルパラメータに基づいて特定された想定年収と、ＧｉｔＨｕｂの各種パラメータによる解析結果が表示された状態の画面例を示す。図８のステップＳ３１４に相当する。
【０１６３】
図１５に示すように、端末装置１０のディスプレイ１３２には、図１０に示すスキルパラメータ表示欄１０３２ａおよび想定年収表示欄１０３２ｂと同様のスキルパラメータ表示欄１０３６ａおよび想定年収表示欄１０３６ｂに加えて、ＧｉｔＨｕｂの各種パラメータによる解析結果を表示する解析結果表示欄１０３６ｃが表示されている。この解析結果表示欄１０３６ｃにより、当該ユーザは、年収を上げたいと希望する場合の具体的な行動を把握することが可能になる。表示する解析結果の他の例としては、スキルパラメータやビジネススコア、発信力スコアなどの第１のパラメータを具体的にいくつ増加させると、想定年収がいくら増加するかを示すこととしてもよい。例えば、「第１のパラメータが〇〇増加すると、想定年収が最大△△増加する可能性があります」などと表示することでユーザは年収を増加させるための目標値を把握することができる。
【０１６４】
なお、図１４や図１５に示したような、職種欄とその職種の経験期間欄、マネジメント職種欄とそのマネジメント職種の経験期間欄、さらには解析結果表示欄については、実施の形態２の態様だけでなく、実施の形態１の態様においても追加することが可能である。
【０１６５】
＜小括＞
以上のように、本実施形態によると、特定された年収とは異なる年収となる（年収を上げる）ために必要なスキルパラメータ、または必要な行動の情報を把握し、さらに実際にその行動を開始することが可能になる。これにより、エンジニアが組織・チームを超えて移動することをよりいっそう促すことが可能になる。
【０１６６】
以上、開示に係る実施形態について説明したが、これらはその他の様々な形態で実施することが可能であり、種々の省略、置換および変更を行なって実施することができる。これらの実施形態および変形例ならびに省略、置換および変更を行なったものは、特許請求の範囲の技術的範囲とその均等の範囲に含まれる。
【０１６７】
＜付記＞
以上の各実施形態で説明した事項を、以下に付記する。
【０１６８】
（付記１）プロセッサ２９と、記憶部２０２とを備えるコンピュータに実行させるためのプログラムであって、プログラムは、プロセッサに、ユーザが使用経験のあるプログラミング言語、ユーザが使用経験のあるソフトウェアフレームワークのいずれかまたは両方ごとに、ユーザのエンジニアとしてのスキルを評価する第１のパラメータを取得するステップ（Ｓ１１３）と、当該ユーザの第１のパラメータに基づき、ユーザの収入を予測する収入予測モデルを用いて、当該ユーザについて想定される収入を特定するステップ（Ｓ３２３）と、を実行させる、プログラム。
【０１６９】
（付記２）プロセッサ２９と、記憶部２０２とを備えるコンピュータに実行させるためのプログラムであって、プログラムは、プロセッサに、ユーザのエンジニアとしてのスキルを評価する第１のパラメータを取得するステップ（Ｓ１１３）と、ユーザのエンジニアとしての経験に関するキャリア情報を受け付けるステップ（Ｓ３２１）と、当該ユーザの第１のパラメータと、当該ユーザのキャリア情報とに基づき、ユーザの収入を予測する収入予測モデルを用いて、当該ユーザについて想定される収入を特定するステップ（Ｓ３２３）と、を実行させる、プログラム。
【０１７０】
（付記３）キャリア情報として、当該ユーザの職種と、当該ユーザの職種ごとの経験期間の情報を受け付ける、（付記２）に記載のプログラム。
【０１７１】
（付記４）複数の当該ユーザの職種を受け付けた場合、経験期間が長い当該ユーザの職種を優先して当該ユーザについて想定される収入を特定する、（付記３）に記載のプログラム。
【０１７２】
（付記５）複数の当該ユーザの職種を受け付けた場合、複数の当該ユーザの職種を総合して当該ユーザについて想定される収入を特定する、（付記３）に記載のプログラム。
【０１７３】
（付記６）キャリア情報として、当該ユーザが保有するスキルの情報を受け付ける、（付記２）に記載のプログラム。
【０１７４】
（付記７）キャリア情報として、ネットワーク上に記録されている当該ユーザに関するオープンソースの情報を受け付ける、（付記２）に記載のプログラム。
【０１７５】
（付記８）キャリア情報として、当該ユーザにおける、エンジニアの上位スキルに関するキャリア情報に基づき、当該ユーザについて想定される収入を特定する、（付記２）に記載のプログラム。
【０１７６】
（付記９）プログラムは、さらに、特定された収入を当該ユーザへ提示するステップ（Ｓ３２４）を実行させる、（付記１）から（付記８）のいずれかに記載のプログラム。
【０１７７】
（付記１０）プログラムは、さらに、当該ユーザについて、特定される収入とは異なる収入となるために必要な第１のパラメータ、または必要な経験職種の情報を特定して当該ユーザへ提示するステップ（Ｓ３２４）を実行させる、（付記１）から（付記９）のいずれかに記載のプログラム。
【０１７８】
（付記１１）特定される収入とは異なる収入に到達する、第１のパラメータを上げるために必要な行動（１０３３ｃ）を特定し、ユーザに提示する、（付記１０）に記載のプログラム。
【０１７９】
（付記１２）ユーザについてネットワーク（３０）上に記録されている情報の解析結果に基づき、当該ユーザに必要な行動（１０３３ｃ）を特定し、ユーザに提示する、（付記１１）に記載のプログラム。
【０１８０】
（付記１３）プログラムは、さらに、当該ユーザについてネットワーク（３０）上に記録されている、当該ユーザのエンジニアとしての成果を示す第２のパラメータに基づいて解析を行い、解析結果を出力するステップ（Ｓ３２４）を実行させる、（付記１２）に記載のプログラム。
【０１８１】
（付記１４）当該ユーザに必要な行動として、当該ユーザがエンジニアとして所定のプロジェクトに貢献すること、当該ユーザが他者から評価されること、当該ユーザが所定のオープンソースソフトウェアに貢献すること、のいずれか１つまたは複数を特定し、ユーザに提示する、（付記１１）に記載のプログラム。
【０１８２】
（付記１５）記憶部には、企業の求人情報（２０２４）が記憶されており、プログラムは、さらに、ユーザが経験を希望する職種の指定（１０３３ｃ）を受け付けるステップと、記憶部に記憶される情報に基づき、当該ユーザが指定した経験を希望する職種の求人情報を当該ユーザへ提示するステップと、を実行させる、（付記１）から（付記１４）のいずれかに記載のプログラム。
【０１８３】
（付記１６）特定された収入を当該ユーザへ提示する（１０３４ｂ）画面において、ユーザが経験を希望する職種の指定（１０３４ｃ）を受け付け、当該ユーザが指定した経験を希望する職種を含めた想定収入を提示（１０３５ｂ）し、当該ユーザが指定した経験を希望する職種の求人情報を検索する操作指示（１０３５ｅ）を受け付ける、（付記１５）に記載のプログラム。
【０１８４】
（付記１７）ユーザが経験を希望する職種として、エンジニアとしての職種、またはエンジニアの上位スキルに関する職種の指定を同一画面で受け付ける、（付記１５）または（付記１６）に記載のプログラム。
【０１８５】
（付記１８）当該ユーザが指定した経験を希望する、エンジニアとしての職種、またはエンジニアの上位スキルに関する職種に対する求人情報を、同一画面で当該ユーザへ提示する、（付記１７）に記載のプログラム。
【０１８６】
（付記１９）プログラムは、さらに、当該ユーザから、提示した求人情報への応募を受け付けるステップと、応募の情報を、提示した求人情報の採用側へ通知するステップと、を実行させる、（付記１５）から（付記１８）のいずれかに記載のプログラム。
【０１８７】
（付記２０）特定された収入を当該ユーザへ提示する画面には、ＳＮＳへの投稿手段（１０３５ｆ）が含まれ、プログラムは、さらに、投稿手段の操作指示に基づき、当該ユーザの特定された収入と、当該ユーザが経験を希望する職種の指定を受け付ける画面へのリンク情報と、を投稿するステップを実行させる、（付記１）から（付記１９）のいずれかに記載のプログラム。
【０１８８】
（付記２１）プログラムは、さらに、当該ユーザの情報を企業側へ提示するステップを実行させる、（付記１）から（付記２０）のいずれかに記載のプログラム。
【０１８９】
（付記２２）制御部と、記憶部とを備える情報処理装置であって、制御部は、ユーザが使用経験のあるプログラミング言語、ユーザが使用経験のあるソフトウェアフレームワークのいずれかまたは両方ごとに、ユーザのエンジニアとしてのスキルを評価する第１のパラメータを取得するステップと、当該ユーザの第１のパラメータに基づき、ユーザの収入を予測する収入予測モデルを用いて、当該ユーザについて想定される収入を特定するステップと、を実行する、情報処理装置。
【０１９０】
（付記２３）制御部と、記憶部とを備える情報処理装置であって、制御部は、ユーザのエンジニアとしてのスキルを評価する第１のパラメータを取得するステップと、ユーザのエンジニアとしての経験に関するキャリア情報を受け付けるステップと、当該ユーザの第１のパラメータと、当該ユーザのキャリア情報とに基づき、ユーザの収入を予測する収入予測モデルを用いて、当該ユーザについて想定される収入を特定するステップと、を実行する、情報処理装置。
【０１９１】
（付記２４）プロセッサと、記憶部とを備えるコンピュータにより実行されるための方法であって、方法は、プロセッサが、ユーザが使用経験のあるプログラミング言語、ユーザが使用経験のあるソフトウェアフレームワークのいずれかまたは両方ごとに、ユーザのエンジニアとしてのスキルを評価する第１のパラメータを取得するステップと、当該ユーザの第１のパラメータに基づき、ユーザの収入を予測する収入予測モデルを用いて、当該ユーザについて想定される収入を特定するステップと、を実行する、方法。
【０１９２】
（付記２５）プロセッサと、記憶部とを備えるコンピュータにより実行されるための方法であって、方法は、プロセッサが、ユーザのエンジニアとしてのスキルを評価する第１のパラメータを取得するステップと、ユーザのエンジニアとしての経験に関するキャリア情報を受け付けるステップと、当該ユーザの第１のパラメータと、当該ユーザのキャリア情報とに基づき、ユーザの収入を予測する収入予測モデルを用いて、当該ユーザについて想定される収入を特定するステップと、を実行する、方法。
【符号の説明】
【０１９３】
１０  端末装置、２０  サーバ、８０  ネットワーク、１３０  操作受付部、１６１  ユーザ情報、２２  通信ＩＦ、２３  入出力ＩＦ、２５  メモリ、２６  ストレージ、２９  プロセッサ、２０１  通信部、２０２  記憶部、２０２１  リポジトリデータベース、２０２２  企業求人データベース、２０２３  ユーザスキルデータベース、２０２４  収入予測モデルデータベース、２０３  制御部
【要約】
【課題】エンジニアに対して想定される年収を提示する技術を提供する。
【解決手段】想定年収提示システム１のサーバ２０は、各ユーザのエンジニアとしてのスキルを評価した各種パラメータの情報を保持するユーザスキルデータベース２０２３を記憶し、その機能として、想定年収の提示を受けるユーザの職種の指定を受け付けるユーザ職種受付モジュール２０３５と、ユーザにより指定された職種と、当該ユーザについてのスキルパラメータと、当該ユーザの職種から各ユーザの職種の経験、企業の求人情報または各ユーザから受け付けた年収の情報に基づき、当該ユーザについて想定される年収を特定する想定年収特定モジュール２０３６と、を備える。
【選択図】図３【図１】
0006837699.tif 000002
【図２】
0006837699.tif 000003
【図３】
0006837699.tif 000004
【図４】
0006837699.tif 000005
【図５】
0006837699.tif 000006
【図６】
0006837699.tif 000007
【図７】
0006837699.tif 000008
【図８】
0006837699.tif 000009
【図９】
0006837699.tif 000010
【図１０】
0006837699.tif 000011
【図１１】
0006837699.tif 000012
【図１２】
0006837699.tif 000013
【図１３】
0006837699.tif 000014
【図１４】
0006837699.tif 000015
【図１５】
0006837699.tif 000016