What Is PayScale HackDay?
Once per quarter, the product development, data, and analytics teams all block off our calendars and get together in one big room. Fueled by donuts, pizza, coffee, and (later in the afternoon) beer, we build something that isn't on anyone's agenda other than our own.
The following is a list of what each participant created.
Real-Time Survey Feedback
This is Perry Zheng's project. His idea was that people would be blown away if they knew exactly how much data PayScale has, because he doesn't think we tout that fact enough. So, as you go through the survey, each answer you gives causes us to do a search of our salary profiles and find the number of people like you.
PayScale Answer Graph
This is my (Adam's) project. I've been taking a machine learning course from Stanford, so I've been getting more interested in statistics, probabilities, and algorithms. What I did was write a program that would iterate over a set of profiles, and count the number of times that a pair of answers occurred together in a profile and store this in a database (well, MongoDB to be more specific). This will let us know which things in our database are related.
It's pretty easy to see first-degree connections in the graph, but it gets a little more interesting when you look at the second- and third-degree connections. You can see that software engineers are related to program managers through the "Reading" and "Seattle" nodes. And, with a little more work, we could see how strongly they're related.
PayScale in Facebook
Mariya and Joe worked on getting some of the cooler PayScale functionality into a Facebook App. They were learning a new programming language (Node.js), on a new platform (heroku), and a new Software Development Kit (Facebook). They made amazing amounts of progress, but unfortunately, not quite enough to share with everyone, yet. Next HackDay, maybe they'll make some more progress.
Ryan Patrick Henry Moore worked on a new way to compute errors on our salary reports. You may not know this, but the distribution for salary isn't a normal curve (and I'm not going to reveal more than that, because that's part of our secret sauce). So, to compute errors on the data requires more than normal methods. Enter Bootstrapping. Ryan wrote some a set of functions for R to take data inputs and compute the error using the bootstrapping method.
This can be explained better through an example. So, if we’re going to report the median pay for a data analyst and we have 300 profiles, we will randomly choose people’s reported pay from those 300 profiles with replacement (meaning that the same number can be chosen more than once) which will slightly change the sample each time we do it. We do this 1,000 times and report the median for each of those random samples. The resulting 1000 medians we have will be normally distributed and thus by finding the 97.5 percentile and 2.5 percentile of those medians we have a 95 percent confidence interval built for our original median pay. Using percent difference from the original median to those percentiles then gives us the error in percent form.
Web Services to JSON, for cooler charts
Engineer Mark worked on a project to make our web services return JSON. That, in itself, is kind of dry to the non-technical. But he then also built a tool that lets you pull data from that web service and easily chart it out to see the results.
Internally in PayScale, we have built some fairly advanced tools for data analysis, but they require quite a bit of technical expertise to use. Mark is hoping to make a tool that is easy enough for anyone in the company to use.
Here is a chart he demo'ed for us: comparing salary and vacation weeks for office managers, administrative assistants, and registered nurses.
Guiders Through PayScale Insight Executive Summary
Alex, one of our B2B product engineers, worked on a way to better introduce our customers to some new features we've recently rolled out. Using the Guiders package we found on GitHub, he built a walkthrough for the new PayScale Insight Executive Summary feature.
PayScale B2B Product Decision Tree
Alex wasn't done after a single hack. With the help of Justine, he also went through and built a feature that lets us answer your B2B product questions right on the website. The goal is to let customers be able to diagnose their problems and highlight how specific features of MarketRate and Insight can help solve them.
PayScale Konami Easter Egg
Geary, Scott, and John took on the massive quest: to put the Konami code somewhere on PayScale where it would add some pink, sparkly awesomeness to the look and feel. If you're familiar with their work… this isn't the first easter egg these guys have dropped on us, but it might be the poniest.
If you find the page that responds to the Konami code with this background, you've succeeded:
PayScale on GitHub
Doug, for his last HackDay, created a PayScale account on GitHub for us. Hopefully, in the near future, you'll start seeing some more contributions there.