EMPLOYEE MATCHING SYSTEM

Disclosed are various approaches for an employee matching system. Information associated with an open position can be obtained from an employer. A plurality of user profiles that match the open position can be identified. Then, the system can notify an employer of the plurality of user profiles that match the open position.

BACKGROUND

Employers seeking to fill positions face a number of problems when attempting to find individuals to fill an open position within the organization. For example, when an employer uses a traditional job-board or job-advertising platform, such as a platform or service provided by INDEED®, MONSTER®, CAREERBUILDER®, the employer is often flooded with resume submissions by a large number of potential employees. However, often only a small fraction of these individuals satisfy the requirements for the position. Identifying the individuals who satisfy the requirements from the pool of applicants is often a manual and time-consuming process prone to errors such as failing to identify all qualified individuals.

DETAILED DESCRIPTION

Disclosed are various approaches for matching job seekers to potential employers. Individuals can create profiles to represent themselves and identify particular industries they are interested in working, their general qualifications, employment history, and other relevant data. Likewise, employers can create and post their own profiles, which can include information related to job openings the employer is attempting to fill. Employers can then be automatically matched with individuals who may be qualified for the position, allowing employers to contact directly qualified individuals while surfacing potential employment opportunities to individuals that might not have been aware of the job openings. In the following discussion, a general description of the system and its components is provided, followed by a discussion of the operation of the same.

As illustrated inFIG. 1A, shown is a network environment100according to various embodiments. The network environment100includes a computing environment103and at least one client device106, which are in data communication with each other via a network109. The network109includes wide area networks (WANs) and local area networks (LANs). These networks can include wired or wireless components or a combination thereof. Wired networks can include Ethernet networks, cable networks, fiber optic networks, and telephone networks such as dial-up, digital subscriber line (DSL), and integrated services digital network (ISDN) networks. Wireless networks can include cellular networks, satellite networks, Institute of Electrical and Electronic Engineers (IEEE) 802.11 wireless networks (i.e., WI-FI®), BLUETOOTH® networks, microwave transmission networks, as well as other networks relying on radio broadcasts. The network109can also include a combination of two or more networks109. Examples of networks109can include the Internet, intranets, extranets, virtual private networks (VPNs), and similar networks.

Various applications or other functionality may be executed in the computing environment103according to various embodiments. The components executed on the computing environment103, for example, include matching service113, a web server116, and other applications, services, processes, systems, engines, or functionality not discussed in detail herein.

Also, various data is stored in a data store119that is accessible to the computing environment103. The data store119may be representative of a plurality of data stores119, which can include relational databases, object-oriented databases, hierarchical databases, hash tables or similar key-value data stores, as well as other data storage applications or data structures. The data stored in the data store119is associated with the operation of the various applications or functional entities described below. This data can include employer profiles123, user profiles126, and potentially other data.

The employer profile123represents information related to an individual employer (e.g., a company or individual who is attempting to hire someone) registered with the matching service113. The employer profile123can identify the industry129of the employer, open positions133with the employer, and potentially other information.

The industry129can represent the general area of commerce in which the employer conducts operations. For example, the industry129may indicate that an employer is in the construction, hospitality, travel, transportation, logistics, healthcare, banking, automotive, retail, manufacturing, energy, residential services or commercial services industry, among others.

Individual open positions133may be stored in association with the employer profile123. Each open position133can represent a job that the employer is recruiting to fill. Accordingly, an open position133can include information such as a title136, responsibilities139, position prerequisites143, and potentially other information. The title136can represent the title of the job or position (e.g., welder, assistant manager, teller, relationship manager, receptionist, etc.). The responsibilities139can include a list of duties or responsibilities associated with the open position133. The responsibilities139may be represented by a text description provided by the employer or may be selected from a predefined list of responsibilities. The position prerequisites143can indicate the minimum objective qualifications that an employer expects an individual to possess if selected for the position. Examples of position prerequisites143can include a minimum level of education (e.g., high-school diploma, associate's degree, bachelor's degree, etc.), a required license or certification (e.g., commercial driver's license, plumber's license, industry certification, etc.), a minimum amount of work experience in the industry129, and potentially other criteria.

The user profile126represents a profile created by a user interested in obtaining employment in an industry129. The user profile126can include contact information146for the user, the industry129in which the user is interested in obtaining employment, the user qualifications149of the user, the user preferences153for the user, and potentially other information. The contact information146in the user profile can include the name, phone number, email address, mailing address, and similar information for the user. The user qualifications149can include objective qualifications of the user, such as his or her level of education, employment history, licenses or certifications, and similar information. The user preferences153can indicate a user's personal preferences for employment. For example, user preferences153could specify whether a user is willing to relocate for a job, the areas to which a user might be willing to relocate, whether a user is willing to travel as part of his or her job, the amount of travel a user is willing to do as part of his or her job, a user's desired salary or salary range, and potentially other preferences.

The matching service113is executed to identify individual user profiles126for users that an employer would be interested in interviewing or hiring for an open position133.

The web server116is executed to generate web pages that can be provided to a client device106to allow for employers and users to interact with the components of the computing environment103. For example, the web server116may provide web pages that allow a user to create or update a user profile126, allow employers to create or update an employer profile123, allow employers to view potential matches between users and open positions133, or allow employers or users to register. The web server116may also be configured to provide web pages to the client device106, which can provide users or employers with additional functionality.

The client device106is representative of a plurality of client devices that may be coupled to the network109. The client device106may include, for example, a processor-based system such as a computer system. Such a computer system may be embodied in the form of a personal computer (e.g., a desktop computer, a laptop computer, or similar device), a mobile computing device (e.g., personal digital assistants, cellular telephones, smartphones, web pads, tablet computer systems, music players, portable game consoles, electronic book readers, and similar devices), media playback devices (e.g., media streaming devices, BluRay® players, digital video disc (DVD) players, set-top boxes, and similar devices), a videogame console, or other devices with like capability. The client device106may include one or more displays156, such as liquid crystal displays (LCDs), gas plasma-based flat panel displays, organic light emitting diode (OLED) displays, electrophoretic ink (“E-ink”) displays, projectors, or other types of display devices. In some instances, the display156may be a component of the client device106or may be connected to the client device106through a wired or wireless connection.

The client device106may be configured to execute various applications such as a client application159or other applications. The client application159may be executed in a client device106, for example, to access network content served up by the computing environment103or other servers, thereby rendering a user interface163on the display156. To this end, the client application159may include, for example, a browser, a dedicated application, or other executable and the user interface163may include a network page, an application screen, or other user mechanism for obtaining user input. The client device106may be configured to execute applications beyond the client application159such as, for example, email applications, social networking applications, word processors, spreadsheets, or other applications.

FIG. 1Bdepicts an example of a user interface163according to various embodiments of the present disclosure. Although the example user interface163inFIG. 1Bis a web page, other user interfaces163may be used in various embodiments of the present disclosure. As illustrated, the user interface163can be used to display a list of user profiles126that match an employer's criteria (e.g., industry type, position(s), etc.). The user interface163could include one or more user interface elements166that allows a user (e.g., an employer) to sort based on various criteria (e.g., position type, experience, etc.). Individual names of potential employees may be presented as hyperlinks, which, if selected, would allow an employer to view the full user profile126of the selected individual. An example of a user interface that shows the user profile126of a selected employee is depicted inFIG. 1C.

Referring next toFIG. 2, shown is a flowchart that provides one example of the operation of a portion of the matching service113according to various embodiments. It is understood that the flowchart ofFIG. 2provides merely an example of the many different types of functional arrangements that may be employed to implement the operation of the portion of the matching service113as described herein. As an alternative, the flowchart ofFIG. 2may be viewed as depicting an example of elements of a method implemented in the computing environment103according to one or more embodiments.

Beginning with step203, the matching service113obtains information related to an open position133. This information can include the industry129of the employer profile123that listed the open position133, the position prerequisites143of the open position133, the title136of the open position133, and potentially other information.

Then at step206, the matching service113searches for user profiles126that match the open position133. For example, the matching service116may identify user profiles126that identify the same industry129associated with the employer profile123that listed the open position133. The matching service116may further select user profiles126with at least one user qualification149that matches at least one of the position prerequisites143.

Next at step209, the matching service113ranks the user profiles126identified in step206. For example, the matching service116may rank the identified user profiles based on the number of user qualifications149that match the position prerequisites143listed in the open position133.

Proceeding to step213, the matching service113notifies the employer of the user profiles126that were selected. For example, the matching service113may cause a notification to be rendered in a web page presented by the web server116to a client device106. As another example, the matching service113may send an email or a short message service (SMS) message to the employer.

Finally, at step216, the matching service113can provide the employer with the user profiles126identified in step306. In some embodiments, the employer may download the user profiles126from a web page presented by the web server116(e.g., as a database or spreadsheet file). As another example, the employer may view individual user profiles126using a web page rendered by the web server116. This allows for the employer to view each user profile126to view additional information, such as the user preferences153listed in the user profile126.

With reference toFIG. 3, shown is a schematic block diagram of the computing environment103according to an embodiment of the present disclosure. The computing environment103includes one or more computing devices300. Each computing device300includes at least one processor circuit, for example, having a processor303and a memory306, both of which are coupled to a local interface309. To this end, each computing device300may include, for example, at least one server computer or like device. The local interface309may include, for example, a data bus with an accompanying address/control bus or other bus structure as can be appreciated.

Stored in the memory306are both data and several components that are executable by the processor303. In particular, stored in the memory306and executable by the processor303are the matching service113and web server116, and potentially other applications. Also stored in the memory306may be a data store119and other data. In addition, an operating system may be stored in the memory306and executable by the processor303.

A number of software components are stored in the memory306and are executable by the processor303. In this respect, the term “executable” means a program file that is in a form that can ultimately be run by the processor303. Examples of executable programs may be, for example, a compiled program that can be translated into machine code in a format that can be loaded into a random access portion of the memory306and run by the processor303, source code that may be expressed in proper format such as object code that is capable of being loaded into a random access portion of the memory306and executed by the processor303, or source code that may be interpreted by another executable program to generate instructions in a random access portion of the memory306to be executed by the processor303, etc. An executable program may be stored in any portion or component of the memory306including, for example, random access memory (RAM), read-only memory (ROM), hard drive, solid-state drive, Universal Serial Bus (USB) flash drive, memory card, optical disc such as compact disc (CD) or digital versatile disc (DVD), floppy disk, magnetic tape, or other memory components.

Also, the processor303may represent multiple processors303or multiple processor cores and the memory306may represent multiple memories306that operate in parallel processing circuits, respectively. In such a case, the local interface309may be an appropriate network that facilitates communication between any two of the multiple processors303, between any processor303and any of the memories306, or between any two of the memories306. The local interface309may include additional systems designed to coordinate this communication, including, for example, performing load balancing. The processor303may be of electrical or of some other available construction.

The flowchart ofFIG. 2shows the functionality and operation of an implementation of portions of the matching service113. If embodied in software, each block may represent a module, segment, or portion of code that includes program instructions to implement the specified logical function(s). The program instructions may be embodied in the form of source code that includes human-readable statements written in a programming language or machine code that includes numerical instructions recognizable by a suitable execution system such as a processor303in a computer system or other system. The machine code may be converted from the source code through various processes. For example, the machine code may be generated from the source code with a compiler prior to execution of the corresponding application. As another example, the machine code may be generated from the source code concurrently with execution with an interpreter. Other approaches can also be used. If embodied in hardware, each block may represent a circuit or a number of interconnected circuits to implement the specified logical function or functions.

Further, any logic or application described herein, including the matching service113and web server116, may be implemented and structured in a variety of ways. For example, one or more applications described may be implemented as modules or components of a single application. Further, one or more applications described herein may be executed in shared or separate computing devices or a combination thereof. For example, a plurality of the applications described herein may execute in the same computing device300, or in multiple computing devices in the same computing environment103.