A while back I received a call out of the blue from a recruiter, he had a position that he felt would be perfect for my skill set and wanted to know if I was interested. I am always interested in hearing about new opportunities, so I told him to tell me about the position. We talked about the details for a while before getting down to the most important piece of data, the salary. The position paid more than my current job, but it was also in Cleveland, which means a much longer drive in the winter. I needed a way to see if the increase in pay was going to offset the additional time and expense of driving to downtown Cleveland.

Many years ago I wrote a program using Delphi (Pascal) that would do this sort of thing, but that was long gone. So, I started to create an Excel spreadsheet, which worked well. But, I thought that this would be better as a web based application. I had been toying around with the Google App Engine since it came out, but never really finished anything worth publishing, and I thought that this would be a perfect opportunity to finally dive into cloud computing.

Now, after a few weeks of work I have finally finished the Job Comparator. This AJAX enabled web application enables you to enter all the compensation related information for your job and sums up the benefits and expenses to give you a real annual wage. The calculator also factors in how many hours you dedicate towards work and how much fuel you burn getting there, so that the long commute to Cleveland shows through a lower hourly rate.

Once you get your current job entered you can add another job column for that prospective job, then click the two compare boxes. A recommendation will appear and the better job will be highlighted. If you would like to save a job you simply click the save button, then the next time you return it will be there. You must do that for each job. Entries can also be deleted from the database easily by selecting the delete button.

This application is not only useful for comparing different jobs, but also for comparing changes to your current situation. Once you have entered the data for you current job you can click the copy button to duplicate it. Then you can change different aspects of data to see how it impacts your bottom line. What if you get a new car that gets better fuel economy? How do increased fuel prices or medical expenses impact you take home pay? The job comparator makes it easy to test all these scenarios.

You may also notice on the top right side of the page there is a check box that says "Seasonal Salary Adjustment". If you check this box then the application will use Consumer Price Index (CPI) data from the US Bureau of Labor Statistics (BLS) to calculate the present value of a wage earned in the past (based on the year you enter for a job). Most people intuitively know that if they haven't gotten a raise for several years that their wages are not keeping up with the cost of living, but this feature will show you exactly how far behind you could be falling.

Before you visit the page you may be nervous about putting your salary information into a web page, which I can certainly understand. But, since this application relies heavily upon JavaScript your data does not leave your web browser unless you click the save button. There is no "auto save" feature, and all the calculations are performed on your local computer without sending any data back to the web server. And, if you save your data and latter decide you want it removed, simply delete it. It will be removed from the database.

This is my first version of this program, and there are still several things that I need to fix, so consider this to be "beta" software. Here is my list of planned improvements:
  • The printed page is terrible, this needs to be made to fit on a single printed page.
  • I want to give average salary data based on the selected industry, occupation, and location.
So, this has been a great opportunity for me. Not only did I figure out that the job in Cleveland would have been a bad deal for me, but I also became more familiar with the Google App Engine and Python Programing language. Once I finish the improvements I mentioned earlier I look forward to creating more applications on the App Engine.

I'd like to give thanks to Mark James for sharing his silk icons collection which I used in the job comparison application.

Tags: Blogger Websites Portfolio Google

Published: 2008-12-03