By: AY1920S2-W15-2
Since: Feb 2020
HireLah! is a productivity app that helps busy interviewers like you manage multiple interview sessions in an orderly
manner. During each interview session, HireLah! helps you to keep track of interviewee information and interview
rubrics in one central location so that you can focus on what’s important - the interview itself!
HireLah! has the following main features:
-
Manage multiple interview sessions, one for each different job position you are conducting interview for.
-
Add and modify interview rubrics for each interview session, including:
-
A list of attributes you want to look out for in an interviewee.
-
A set of questions that you would like to ask all interviewees.
-
A collection of metrics to score interviewees, allowing you to easily rank potential candidates.
-
-
Record your remarks for an interviewee during an interview, and score the interviewee based on the attributes.
-
Identify the best interviewees based on particular attributes or metrics, so that you can follow up with them.
-
Export interview transcripts for future reference.
HireLah! is optimised for interviewers who are fast typists and prefer typing over other means of input. It comes with:
-
A Command Line Interface (CLI) which allows you to access all HireLah! features by typing.
-
A Graphical User Interface (GUI) that displays the information you need to conduct an interview, with limited GUI convenience features.
This User Guide explains how you can use HireLah! to help you manage your interviews.
You may refer to Section 3, “Quick Start” for a short tutorial on how to run HireLah! on your device and use HireLah!'s main features. Please refer to Section 4, “GUI Components” for a breakdown of HireLah!'s GUI components. For a full walkthrough of HireLah!, please refer to Section 5, “Features”.
If you encounter any difficulties while using HireLah!, you can refer to Section 7, “FAQ” for a list of common issues.
If you are an experienced CLI user, you can find all the HireLah! commands under Section 8, “Command Summary”.
This section explains the format of commands in this User Guide:
Command Format
-
Words in
<angular brackets>
are the parameters to be supplied by the user e.g. inadd interviewee <full name>
,<full name>
is a parameter which can be used asadd interviewee John Doe
. -
Items in square brackets are optional e.g
<full name> [-aka <alias>]
can be used asJohn Doe -aka Jo
or asJohn Doe
. -
Items with
…
after them can be used multiple times including zero times, unless otherwise stated e.g.[-a <attribute> -w <weight>]…
can be used as,-a ambition -w 0.5
,-a ambition -w 0.5 -a teamwork -w 0.1
etc.
-
Ensure you have Java 11 or above installed in your Computer.
-
Download the latest
HireLah.jar
here. -
Copy the file to the folder you want to use as the home folder for your HireLah!.
-
Double-click the file to start the app. The following window should appear within a few seconds - this is the Session Screen, where you can create, open, or delete interview sessions:
-
Type the command in the command box and press Enter to execute it.
e.g. typinghelp
and pressing Enter will open this user guide. -
Some example commands you can try:
-
Once you are on the Interview Screen shown above, here are some example commands you can try:
-
add interviewee
John Doe
: adds an interviewee named John Doe to the application -
add question
How old are you?
: adds the question to the application -
exit
: exits the app
-
-
Refer to Section 4, “GUI Components” for an explanation of the GUI and Section 5, “Features” for details of all the commands.
HireLah! consists of two main screens, the Session Screen as well as the Interview Screen, as shown below.
Displays a list of all current interview sessions that has been created using HireLah!
The Result Display Box displays success and error messages for your last command.
Refer to Section 4.1.1, “Menu Bar”
This panel displays a few meta information about this interview session, in order:
-
The name given to this interview session.
-
The number of interviewees that has been interviewed over the total number of interviewees.
-
Whether this session has been finalised. Refer to Section 5.3.7, “Finalise Interview Attributes and Questions” for more information.
Interviewee List Display shows the current list of interviewees. This list will display either the list of all interviewees, or a list of the best few interviewees selected based on your input ranking criteria, as shown below: (See Section 5.5.6, “Find Best Candidates”)
Each interviewee card contains the full name, ID and alias of the interviewee. It also shows whether the interviewee has had uploaded a resume (indicated by a green circle with a tick beside "Resume:") and the interview status of the interviewee (white circle indicates the interviewee has not been interviewed, yellow circle indicates that interview with this interviewee is currently underway/incomplete, green circle indicates that the interview with this interviewee has been completed).
In addition, if the list of best interviewees is being shown, the score of each interviewee based on the ranking criteria will be displayed on each interviewee’s card.
Transcript Panel displays the interview transcript of an interviewee. It consists of two sub-components:
-
A Detailed Interviewee Card on the left, which contains:
-
Full name, ID and alias of the interviewee.
-
A button that opens the interviewee’s resume.
-
A table showing the score assigned to the interviewee for each attribute that this interview looks out for. If an attribute has not been scored yet, the score will be shown as "-".
-
-
A Remarks List showing the time-stamped remarks entered by the user about the interviewee during the interview. The list also contains question headers, indicating that the remarks entered after it are in response to the interviewee’s answer to the particular question.
Rubrics Panel displays information about attributes, questions and metrics created for this interview session. You can easily toggle between these lists of information by clicking on the respective tab headers at the top of this Panel.
Refer to Section 4.1.3, “Result Display Box”
Refer to Section 4.1.4, “Command Box”
Generally, in an interview session (for example, an interview for a role in a company), there are 3 phases:
-
Initialization phase (or preparation phase) - where the interviewer prepares his/her questions, manages candidates, receives their resumes, etc.
-
Interview phase - where the interviewer actually conducts interviews, asking questions and making notes about each candidate
-
Decision phase - after interviewing all candidates, the interviewer summarises his/her opinions, refers to the remarks he/she made of each interviewee and decides who to select
These 3 phases are clearly defined in HireLah!. What you can do in each phase is listed below.
HireLah! takes care of this for you! By default, the first time you use HireLah!, the app will create a new folder
/data
in the same directory as the app and save your session data there. To learn how to configure your interview
sessions (starting a fresh session, renaming your session, changing sessions) refer to Section 7, “FAQ”.
Command
help
Action: This user guide is opened as a PDF with your system’s default PDF viewer.
HireLah! allows you to manage your list of candidates from within the app. You can add interviewees to the list by giving their full name, and HireLah! automatically generates a unique ID for each candidate. To make things easier, you can also specify an alias (a shorter name) to the interviewee, so you need not memorise their IDs or type out their full names every time.
Whenever you see <interviewee>
, it means that you can specify the interviewee you are referring to via any of his/her
unique identifiers - ID, full name or alias.
At any time you can delete any interviewees and edit their information.
💡
|
Most names and aliases are accepted - even non-English names or names with funny punctuation and numbers (eg. Larry O’Brien the 3rd). Your interviewees could come from anywhere after all. But do not give blanks or a name full of numbers (eg. 12345)! |
Commands
add interviewee <full name> [-aka <alias>] edit interviewee <interviewee> [-n <new full name>] [-aka <new alias>] delete interviewee <interviewee>
Execution Example
> add interviewee Jane Doe -aka Doe > edit interviewee Jane Doe -n Janice Doe -aka JDoe > delete interviewee Janice Doe
Action: Interviewee Jane Doe with alias of Doe is first created and then her name is changed to Janice Doe.
Output:
New interviewee added: Jane Doe Edited interviewee: Jane Doe Deleted interviewee: Janice Doe
Interviewer can upload a resume for a specific interviewee. If the path is specified, the resume will be uploaded from the specified path. Otherwise, it will open a file-picker.
Command
upload <interviewee> [-p <path>]
Execution Example
> upload Jane Doe
Action: Resume is selected by the user via a file-picker window and then uploaded for the interviewee Jane Doe.
Output after selecting the resume file:
Successfully added the resume!
Interviewer can open a resume from a specific interviewee.
Command
resume Jane Doe
Action: Jane Doe’s resume is opened.
Output:
Resume of Jane Doe opened.
In an interview, you often look out for a particular set of attributes in your candidates. HireLah! lets you keep track of what to look out for during the interview, and even assign scores for each attribute to the interviewees so you can compare them after interviewing.
💡
|
An attribute’s name can only contain alphabets and spaces, and it should not be blank! |
Command
> add attribute <attribute> > edit attribute <old attribute> -a <new attribute> > delete attribute <attribute>
Execution Example
> add attribute teamwork > add attribute leadersip > edit attribute leadersip -a leadership > delete attribute teamwork
Action: teamwork and leadersip is first added. leadersip (with a typo) is edited to leadership, and then teamwork is deleted.
Output:
New attribute added: teamwork New attribute added: leadersip Edited attribute: leadersip to leadership Deleted attribute: teamwork
Before the interview process, the interviewer may wish to review the questions. During review process before the commencement of interviews, the interviewer may want to add more questions, remove unnecessary questions or modify existing questions.
Command
add question <question description> edit question <question number> -q <edited question> delete question <question number>
Example
> add question What are your relevant experiences? > add question What are your strengths? > edit question 1 -q What do you hope to accomplish in 5 years? > edit question 2 -q How can you add value to the company? > delete question 1
Action: The question "What are your relevant experiences?" will be added first, followed by the question "What are your strengths?". Then, question 1 and 2 are edited, before question 1 is deleted.
Output:
New question added: What are your relevant experiences? New question added: What are your strengths? Edited question 1 to What do you hope to accomplish in 5 years? Edited question 2 to How can you add value to the company? Deleted question: What do you hope to accomplish in 5 years?
In case of having multiple sessions with the same attributes and questions. There is a load
command
to load attributes and questions from other session. Therefore, there is no extra work to do.
Command
load attribute <session> load question <session>
Example
> load attribute ceo > load question janitor
Output:
Loaded attributes from ceo Loaded questions from janitor
==== Switching views
When working on the attributes, questions and metrics (more about metrics in Section 5.5.2, “Add, Edit and Delete Metrics”), HireLah! displays the relevant content you are working on on the right side of the application. To switch views between them, HireLah! also provides these commands.
Command
attributes questions metrics
Action: Switches between displaying attributes, questions and metrics.
Output:
Here is the list of attributes: Here is the list of questions: Here is the list of metrics:
On the left side of the application, all of the interviewees are listed. It will switch to only show several
best interviewees when the the command is entered by the user. To switch back to list down the interviewees, HireLah!
provides this command.
Command
interviewees
Action: Displays the interviewee list.
Output:
Here is the list of interviewees:
After the interviewer is satisfied with the list of questions and attributes created for an interview session, the interviewer must finalise changes in attributes and questions. This is to ensure that the interviewers will evaluate all interviewees fairly and equally using the same set of questions and attributes.
Command
finalise
Output:
Attributes and questions of this interview session has been finalised. You cannot change them anymore.
After finalising, you can start to interview the interviewees.
Command
interview <interviewee>
Example
> interview Jane Doe
Action: Initializes an interview session with Jane. Shows the uploaded resume (if any), and the list of interview questions in a separate window. The app also starts the interview time.
Output:
Interview with Jane Doe started!
Command
:resume <interviewee>
Example
> :resume Jane Doe
Action: Opens the resume of Jane Doe. It is not necessary to only open Jane Doe’s resume during the interview. You can also open other interviewees' resume!
Output:
Opening resume..
After starting the interview, HireLah! allows you to easily take notes within the app itself. Anything you type in the Command Box, will be recorded as interview remarks, which are timestamped, allowing you to easily navigate your interview remarks after the interview is over.
Command
<remarks>
Example
> Interesting family history, all of her family members are very rich.
Action: Stores this remark and maps it to the specific time when you enter it.
Output:
Added the remark.
Special commands while interviewing are prefixed with a ":". These commands are not recorded as remarks and instead perform special actions.
The start question command allows you to indicate when you asked a question during the interview. This allows you to easily navigate to relevant parts of the interview after the interview ends, while viewing the report.
Command
:start q<question number>
Example
> :start q1 > Strengths: resilience, ambitious, good time-management > Weakness: perfectionist, not detail-oriented > Short answers
Output:
Marked the start of question 1 Added the remark Added the remark Added the remark
Action: Marks the start of question 1, then adds some remarks related to question 1.
During the interview, as you form your opinion on the candidate, you can give them scores for the attributes you have created earlier (see Section 5.3.4, “Add, Edit and Delete Attributes”).
Command
:set <attribute> <score>
Example
> :set leadership 5
Action: update the leadership score for John Doe (displayed in a table).
Output:
Scored 5.00 to leadership
After finishing the interview, give the end command. After the interview has ended, you will not be allowed to make any more remarks or change the interviewee’s scores. Don’t end prematurely!
💡
|
HireLah! will not allow you to end the interview if you have not assigned a score on all the attributes! |
Command
:end
Example
> end
Action: Ending the interview session.
Output:
Ended interview with Jane Doe.
After interviewing a candidate, you can view the interview transcript any time by doing an open command. To close the report, you can use a close command.
Command
open <interviewee> close <interviewee>
Example
> open Jane Doe
Action: Shows the entire list of remarks made during the interview, with their timestamps.
Output:
Successfully opened Interviewee report: Jane Doe
After the interview process, the interviewer may want to compare the interviewed interviewees by
creating a custom metric to determine the relative importance of several attributes. Each metric
assigns a weight to one or more Attributes, and interviewees can be ranked based on their score calculated by
this metric via the interviewee -best
command (see Section 5.5.6, “Find Best Candidates”.
add metric <name> -a <attribute> -w <weight> [-a <attribute> -w <weight>]… edit metric <name> [-n <metric name>] [-a <attribute> -w <weight>]… delete metric <name>
After interviewing a candidate, you can also export the report of the interviewee in the form of a PDF.
Command
export <interviewee>
Example
> export Jane Doe
Action: Exports the interview report of a particular interviewee in PDF.
Output:
Report of Anna exported in /Users/jane/main with file name "2.pdf".
After opening a report, you can scroll up and down to navigate through the remarks you made during the interview. In addition, you can zoom in on a particular moment in the interview by question number, or by the interview time.
Jumps to the point when the interviewee was
answering the given question (marked by the :start q<question number>
command).
Command
goto q<question number>
Example
> goto q2
Output:
Here is the remark of question 2!
After the interview process, the interviewer may want to compare the interviewed interviewees by
creating a custom metric to determine the relative importance of several attributes. Each metric
assigns a weight to one or more Attributes, and interviewees can be ranked based on their score calculated by
this metric via the best
command (see Section 5.5.6, “Find Best Candidates”.
💡
|
A metric’s name can only contain alphabets and spaces, and it should not be blank! |
Command
add metric <name> -a <attribute> -w <score> [-a <attribute> -w <score>]... edit metric <name> [-n <metric name>] [-a <attribute> -w <score>]... delete metric <name>
Example
> add metric extremeLeader -a leadership -w 0.7 -a tenacity -w 0.6 > edit metric extremeLeader -n extremeDictatorship -a leadership -w 3 > delete metric extremeDictatorship > add metric extremeLeader -a leadership -w 0.7 -a tenacity -w 0.3
Action: Adds a metric named extremeLeader with the scoring scheme Score = 0.7*leadership + 0.6*tenacity. Then, the extremeLeader metric name will be changed to extremeDictatorship with the weightage of leadership increased to 3. Next it deletes extremeDictatorship, then adds the metric extremeLeader (again) with a different scoring scheme Score = 0.7*leadership + 0.3*tenacity.
Output:
New metric added: extremeLeader Edited metric: extremeLeader Deleted metric: extremeDictatorship New metric added: extremeLeader
After interviewing all the candidates, HireLah! can help you analyse the candidates and show you who scored the best in the attributes you set. By default, HireLah! allows you to compare by:
-
The candidates' average scores across all attributes.
-
A single attribute (eg. find who scored the highest in leadership).
-
Your own custom scoring metric (see Section 5.5.2, “Add, Edit and Delete Metrics”).
💡
|
Take note that HireLah! will only compare interviewees who have completed their interviews
(Those who you have successfully performed an :end command after interviewing). This is
to make sure all the compared candidates have been scored in all attributes.
|
💡
|
In case there are ties in terms of the score, e.g. if we would like to retrieve the best 5 interviewees, but the score is the same between the fifth and the sixth interviewees, both interviewees will be shown. |
Command
interviewee -best <number of candidates> [-a <attribute>] interviewee -best <number of candidates> [-m <metric>]
Example
interviewee -best 1 interviewee -best 2 -m extremeLeader interviewee -best 3 -a leadership
Action: Firstly, HireLah! will show the top interviewee in overall score. Then, it will show the top 2 interviewees based on the extremeLeader metric. Finally, it will show the top 3 interviewees based on their leadership score.
Output:
Here are the best 1 interviewees. Here are the best 2 interviewees. Here are the best 3 interviewees.
It is often tedious to have to type out a long attribute like "Productivity" or "Team Player". Especially during an interview, a typing mistake may cost you precious time, possibly missing some important thing the interviewee said. HireLah! thus allows you to simply type part (a prefix) of the full word, as long as it uniquely identifies an attribute.
For example, if you have the following attributes:
-
Leadership
-
Ambition
-
Team player
-
Team motivator
Then:
-
"L", "Le" or any longer prefix can uniquely identify "Leadership"
-
"A" sufficiently identifies "Ambition"
-
"Team" cannot identify "Team player" as "Team motivator" shares this prefix
-
To minimally distinguish the 2, you must provide "Team p" or "Team m"
HireLah! also provides this convenient function for other things that require typing names, such as the metric names. Questions are referenced by their question number and interviewees can use their interviewee ID, and a short alias can be given so the feature is not provided.
It might be tedious opening an interview session via the open command open <session>
, as session names can be very
long. As such, we have implemented a convenient way of opening interview sessions via the GUI.
In order to open the report of an interviewee, you can simply scroll to the interview session you want to open, and double click on it!
During an interview or while viewing the interview report of an interviewee, the user can open the interviewee’s resume easily by clicking on the "View Resume" button in the Detailed Interviewee Card. If no resume has been uploaded for the interviewee, the button will say "No Resume" instead, and clicking on the button will do nothing.
You may wish to refer to the attributes, questions and metrics created during an interview. As an alternative to typing the switching views commands (See [Switching views]), you may also click on the respective tab headers to view the list.
Q: After an interview session for a role is finished, how do I start a fresh session?
A: You can close the current interview session with the close session command close session
, then use the new interview session
command new <session>
to start a new interview session!
To switch between multiple sessions, just select the interview session you want in the session screen via
open <session>
or by clicking the interview session card.
Q: What happens if the app crashes halfway? Especially during an interview?
A: HireLah! saves your work after every change. If the app crashes during an interview,
the next time you open the app, the interviewee you were interviewing will be in
an "incomplete interview" state. You can simply resume the interview by calling
the interview <interviewee>
command again. Note that you cannot perform the usual
decision phase commands (finding best interviewee, viewing report) on an interviewee whose
interview is incomplete!
Q: After an interview, can I check how the interviewee would score under metric X?
A: Yes you can! You can use the use the best interviewees command:
interviewee -best <total number of interviewees> -m X
The interviewee’s scores would be shown in the best interviewees list, as shown below:
Initialization Phase
-
Add an interviewee:
add interviewee <full name> [-aka <alias>]
e.g.add interviewee Jane Doe -aka Doe
-
Edit an interviewee:
edit interviewee <interviewee> [-n <new full name>] [-aka <new alias>]
e.g.edit interviewee Jane Doe -n Janice Doe -aka JDoe
-
Delete an interviewee:
delete interviewee <interviewee>
e.g.delete interviewee Doe
-
List interviewees:
interviewees
-
Add an attribute:
add attribute <attribute>
e.g.add attribute teamwork
-
Edit an attribute:
edit attribute <old attribute> -a <new attribute>
e.g.edit attribute -a leadership
-
Delete an attribute:
delete attribute <attribute>
e.g.delete attribute productivity
-
List attributes:
attributes
-
Add a question:
add question <question description>
e.g.add question What are your relevant experiences?
-
Edit a question:
edit question <question number> -q <edited question>
e.g.edit question 1 -q What do you hope to accomplish in 5 years?
-
Delete a question:
delete question <question number>
e.g.delete question 1
-
List questions:
questions
-
Upload resume:
upload <interviewee> [-p <path>]
-
Open resume:
resume <interviewee>
Interviewing Phase
-
Start:
interview <interviewee>
e.g.interview Jane Doe
-
Add Remarks:
<remarks>
e.g.This guy is good at bluffing
-
Start a Question:
:start q<question number>
e.g.:start q1
-
Score an attribute:
:set <attribute> <score>
e.g.:set Agility 10
-
List attributes:
:attributes
-
List metrics:
:metrics
-
List questions:
:questions
-
Show resume:
:resume
-
End:
:end
Decision Phase
-
Open an interviewee report:
open <interviewee>
e.g.open Jane Doe
-
Close an interviewee report:
close <interviewee>
e.g.close Jane Doe
-
Export interview report of an interviewee:
export <interviewee>
-
Navigate to answer of interviewee:
q<question number>
e.g.goto q4
-
Navigate to a time of interviewee:
at <time>
e.g.goto 30.00
-
Create a new metric:
add metric <name> -a <attribute> -w <weight> [-a <attribute> -w <weight>]…
e.g.add metric -a ambition -w 0.9 -a leadership -w 0.1
-
List metrics:
metrics
-
Find the Best N candidates based on average attribute:
interviewee -best <no_of_candidates>
-
Find the Best N candidates based on a particular attribute:
interviewee -best <no_of_candidates> -a <attribute>
e.g.best 3 -a strength
-
Find the Best N candidates based on a metric:
interviewee -best <no_of_candidates> -m <metric>
e.g.best 5 -m extremeDictatorship