# US 2019/0377571 A1 · Mission-based developer certification system and method

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0377571 A1
- Document ID: US20190377571A1
- Status: Published application
- Kind: A1
- Application number: 16/006,567
- Filed: 2018-06-12
- Published: 2019-12-12
- Earliest claimed: 2018-06-12
- Assignees: ServiceNow, Inc.
- Applicants: ServiceNow, Inc.
- Inventors: Sanjay Kumar Gupta; Sarup Paul; Harish Kumar Balachandra Bellamane
- Web page: https://patentgrep.com/patent/US20190377571A1

## CPC

- G06F 8/77: Software metrics
- G06F 16/90335: {Query processing}
- G06F 16/24578: {using ranking}
- G06Q 10/063112: {Skill-based matching of a person or a group to a task}
- G06Q 10/06398: {Performance of employee with respect to a job function}
- G06Q 10/1053: Employment or hiring
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

The present disclosure relates to enabling clients to identify qualified developers for software development projects. An example method of operating a developer exchange server includes updating stored progress of developers for mission-related activities, wherein the mission-related activities correspond to features of a software platform, and determining, based on the stored progress of each of the developers, a confidence score for each of the developers for each of the features. The method includes receiving a search request that indicates a subset of the features and corresponding confidence thresholds for each of the subset of features, and in response, determining a ranked listing of qualified developers based on the subset of the features, the corresponding confidence thresholds, and the respective confidence score of each of the developers for each of the subset of features. The method further includes providing the ranked listing of qualified developers in response to the search request.

## Claims

### Claim 1

A computing system hosting a developer exchange server that is configured to communicatively couple to a client instance and a developer system, wherein the computing system is configured to perform operations, comprising:
receiving, from the developer system, an indication of progress regarding a training activity, wherein the training activity corresponds to a feature of a software platform associated with the client instance, wherein the feature comprises a function of the software platform;
storing developer progress for the training activity based on the received indication of progress;
receiving, from the client instance, a search request that indicates the feature and a corresponding confidence threshold;
determining a ranked listing of qualified developers based on the feature, the corresponding confidence threshold indicated in the search request, and as well as the stored developer progress; and
providing, to the client instance, the ranked listing of qualified developers.

### Claim 2 (depends on 1)

The system of claim 1, wherein the developer exchange server is communicatively coupled to a database that comprises the stored developer progress.

### Claim 3 (depends on 1)

The system of claim 1, wherein the computing system is configured to perform operations, comprising: receiving, from the developer system, a request for the training activity and, in response, providing the training activity to the developer system before receiving the indication of progress.

### Claim 4 (depends on 1)

The system of claim 1, wherein, to determine the ranked listing of qualified developers, the computer system is configured to perform operations, comprising:
determining a respective confidence score for each of a plurality of developers based on the stored developer progress of the plurality of developers for training activities corresponding to the feature of the software platform;
selecting qualified developers from the plurality of developers, wherein the respective confidence score of each of the qualified developers is greater than the corresponding confidence threshold; and
sorting the qualified developers based on the respective confidence score of each of the qualified developers to generate the ranked list of qualified developers.

### Claim 5 (depends on 4)

The system of claim 4, wherein, to determine the respective confidence score for each of the plurality of developers, the computer system is configured to perform operations, comprising:
determining a respective weight associated with each of the training activities for each of the plurality of developers;
determining a respective percent completion associated with each of the training activities for each of the plurality of developers;
multiplying the respective weight and the respective percent completion associated with each of the training activities to generate a respective partial confidence score for each of the plurality of developers; and
summing the respective partial confidence scores for each of the plurality of developers to generate the respective confidence score for each of the plurality of developers.

### Claim 6 (depends on 1)

The system of claim 1, wherein the ranked listing of qualified developers comprises a respective name and the respective confidence score of each of the qualified developers.

### Claim 7 (depends on 1)

The system of claim 1, wherein, to update the stored developer progress, the computer system is configured to perform operations, comprising:
determining that the training activity is a final training activity of a training mission associated with the feature;
determining that the final training activity of the training mission has been completed; and
updating the stored developer progress to indicate completion of the training activity and the training mission.

### Claim 8

A method of operating a developer exchange server, comprising:
updating stored progress of developers for mission-related training activities based on received indications of developer progress, wherein the mission-related training activities correspond to features of a software platform, wherein the feature comprises a function of the software platform;
determining, for each of the developers, a respective confidence score for each of the features, based on the stored progress of each of the developers;
receiving a search request that indicates a subset of the features of the software platform and corresponding confidence thresholds for each of the subset of features;
determining a ranked listing of qualified developers based on the subset of the features and the corresponding confidence thresholds indicated in the search request, and based on the respective confidence score of each of the developers for each of the subset of features; and
providing the ranked listing of qualified developers in response to the search request.

### Claim 9 (depends on 8)

The method of claim 8, wherein determining the ranked listing of qualified developers comprises:
determining a combined confidence score for each of the developers by summing the respective confidence score of each of the developers for each of the subset of features; and
determining the ranked listing of qualified developers by sorting the developers based on the combined confidence score.

### Claim 10 (depends on 8)

The method of claim 8, comprising:
analyzing applications of developers to identify features; and
updating the stored progress of developers for mission-related training activities based on the identified features.

### Claim 11 (depends on 8)

The method of claim 8, comprising: updating the stored progress of developers for the mission-related training activities based on an amount of time that has passed since the indications of developer progress were received, since the mission-related training activities were updated, or a combination thereof.

### Claim 12 (depends on 8)

The method of claim 8, comprising:
receiving, from communicatively coupled developer systems, requests for the mission-related training activities; and
in response to the requests, providing the mission-related training activities to the developer systems before updating the stored progress of the developers.

### Claim 13 (depends on 12)

The method of claim 12, comprising receiving, from the developer system, the indications of developer progress for the mission-related training activities before updating the stored progress of the developers.

### Claim 14 (depends on 8)

The method of claim 8, wherein the search request is received from a communicatively coupled client instance that is associated with the software platform, and wherein the ranked listing of qualified developers is provided to the client instance in response to the search request.

### Claim 15 (depends on 8)

The method of claim 8, wherein determining the respective confidence score for each of the developers for each of the features comprises:
determining, for each of the developers, a respective weight associated with each of the mission-related training activities for each of the features;
determining, for each of the developers, a respective percent completion associated with each of the mission-related training activities for each of the features;
multiplying, for each of the developers, the respective weight and the respective percent completion associated with each of the mission-related training activities for each of the features to generate a respective partial confidence score for each of the features; and
summing, for each of the developers, the respective partial confidence scores to generate the respective confidence score for each of the features.

### Claim 16 (depends on 8)

The method of claim 8, wherein determining the ranked listing of qualified developers comprises:
identifying qualified developers, wherein the respective confidence scores of each of the qualified developers are greater than the corresponding confidence thresholds; and
sorting the qualified developers based on the respective confidence scores to generate the ranked list of qualified developers.

### Claim 17

A non-transitory, computer-readable medium storing instructions executable by a processor of a computing system to provide a developer exchange system, the instructions comprising:
instructions to store progress of developers for mission-related training activities in a database, wherein the mission-related training activities correspond to features of a software platform, wherein the feature comprises a function of the software platform;
instructions to determine, based on the stored progress of each of the developers, a confidence score for each of the developers with respect to each of the features;
instructions to receive a search request that indicates a subset of the features and to receive corresponding confidence thresholds for each of the subset of features;
instructions to determine a listing of qualified developers having confidence scores for each of the features that are greater than or equal to the corresponding confidence thresholds for each of the subset of features; and
instructions to provide the listing of qualified developers in response to the search request.

### Claim 18 (depends on 17)

The medium of claim 17, the instructions comprising:
instructions to sort the listing of qualified developers in to a ranked list of qualified developers before being provided in response to the search request.

### Claim 19 (depends on 17)

The medium of claim 17, the instructions comprising:
instructions to receive, from communicatively coupled developer systems, requests for the mission-related training activities;
instructions to provide, to the developer systems, the mission-related training activities; and
instructions to receive, from the developer systems, indications of progress of the developers for mission-related training activities.

### Claim 20 (depends on 17)

The medium of claim 17, the instructions comprising:
instructions to analyze documentation associated with the software platform to identify features; and
instructions to generate at least a portion of the mission-related training activities based on the identified features.
