# Resume Calculator

Overview | User's Manual | Change History

## Overview

Resume Calculator reads resumes in XML format and calculates the total amount of experience across specified entries. This is useful for responding to formal requests for proposal that require named resources to specify years of experience across various categories.

### Requirements

Resume Calculator requires the Java Runtime Environment (JRE) version 5.0+ to be installed.

### Legal

Resume Calculator is copyright © 2008 by Basil Vandegriend. The software is licensed for use under the terms of the GNU General Public License (GPL) version 3.0 or later.

The software is provided for use as-is, and is not warranted to be defect-free or to meet your requirements.

### Download

The latest version of Resume Calculator can be downloaded from the Software page of the site Basil Vandegriend: Professional Software Development.

### Feedback

Feedback concerning this software is appreciated, and can be provided on the Software Feedback page. I would appreciate hearing if you find the software useful and make use of it regularly.

## User's Manual

### Running Resume Calculator

Resume Calculator is a command-line tool: input is specified as command-line arguments, and output is written to the console. It can be invoked by executing the java VM and specifying the `ResumeCalculator.jar` via the `-jar` command as follows:

    java -jar <path to jar>/ResumeCalculator.jar <arguments>

The following table lists the arguments that are accepted:

Argument | Description
--- | ---
-r <resumeFile> | Specify the resume file (in XML format) to use.
-d <entryIds> | Calculate the total duration of the specified comma-delimited list of resume entry ids.

### Resume File Format

A sample resume file is listed below:

    <?xml version="1.0" encoding="UTF-8"?>
    <resume name="Foo Bar">
      <entries>
        <entry id="1" summary="Zoo Project" interval="2006-2007"/>
        <entry id="2" summary="Team Yak" interval="May, 2007 - Present"/>
        <entry id="Baz Project" summary="Team Lead for Baz" interval="Jan, 2008 - Mar, 2008"/>
      </entries>
    </resume>

Each entry within the resume represents some experience gained over a span of time defined by the interval field. An entry would typically represent a position, job, or project.

Entry intervals are defined using one of the following formats:

- YYYY - YYYY
- YYYY - Present
- MMM, YYYY - MMM, YYYY
- MMM, YYYY - Present

Where YYYY is the 4-digit year and MMM is the 3 character abbreviation for the month. If the month is not specified, January is assumed. The text 'Present' can be specified for the end date - it is converted to the current date.

Entry ids are alphanumeric - either numbers or text are accepted. Text ids should not contain commas.

### Example

A sample resume file and Windows command script for running Resume Calculator against this file are provided in the directory "example" within the release distribution.

The command script executes the following:

    java -jar ../ResumeCalculator.jar -r sampleResume.xml -d "1,2"

The content of the file "sampleResume.xml" is shown above in the previous section.

The console output is shown below with the calculation results in bold:

    Resume Calculator
    Copyright 2008 by Basil Vandegriend.  All rights reserved.

    Executed on: 8-Dec-2008 6:29:45 AM
    Working directory: C:\Dev\Java\ResumeCalculator\dist\release\example

    Using resume "C:\Dev\Java\ResumeCalculator\dist\release\example\sampleResume.xml".
    Calculating for "Foo Bar" the duration of the resume entries:
    1: Zoo Project
    Baz Project: Team Lead for Baz
    Duration is 14.0 months or 1.2 years.

    Finished execution successfully.

## Change History

### Version 1.0

- Initial public release.