Why Analyze Job Skills?
You constantly keep learning new skills; you
must do so if you want to thrive as a programmer. But are you learning the
right skills? If you learn the skills that are in demand, you can enjoy life with a secure and profitable career. But learn skills that no one wants, no matter how cool they are, and risk living in your car!

I wrote a program to download job skill data from Careers 2.0 (Stack Overflow) and analyze the tags. You can download my code and either run it yourself (to pick good skills to learn), or examine the code and learn from my coding techniques. Instead of running the code, you can read about the results on my blog
http://actualrandy.wordpress.com/2014/05/08/earn-the-big-bucks-by-learning-new-job-skills-smartly/.
Caveat: if you run my code, please be kind to StackOverflow, don't hammer their site by scraping their screens over and over!
Main Display Grid
The first thing the program does is display the skills, ranked (initially) by their demand on Stack Overflow. Like all WPF grids, you can sort on any column. You can download fresh data or use the file included, which naturally will be stale starting tomorrow!
If you click the Plus sign, you can get additional details for a skill:
Interactive Chart
Additionally, you can filter and modify the skills as a bar chart; you have several choices for Y-Axis.
Two Kinds of Analysis
The main point of the main grid is to make sure your skill set is in demand by employers. But on the second tab, I try to provide ways of identifying skills that are rare or hard to fill. The idea is that those skills command a higher pay.
Code Techniques Used for the Program
- This project opens in Visual Studio 2010 or 2013
- C#
- Regular Expressions - they allow me to extract data from web pages
- File IO - for saving/loading the results
- Reactive Extensions - Microsoft's asynchronous/multi-threading library
- Linq - to sort/group/count/filter/aggregate/average/analyze job data
- WPF animations - for better user feedback
- WPF user controls - for better UI organization
- WPF templates - to transform a listbox into a bar chart, to nest grids for interactive drill-down
Potential Modifications and Enhancements
If you want to join this project and help improve it, here are some ideas:
- A friend has suggested adding data from other web sites, such as Monster/Dice, etc.
- If it had a database, we could analyze growth shrinkage trends. The idea being we could download every day and determine which skills are gaining popularity
- I just discovered a minor bug, there might be others
- I would like to modify the bar chart to bind the opacity to some other value
If you want to contribute, you will need the MS Reactive Extensions, which you can download here
http://msdn.microsoft.com/en-ca/data/gg577610.aspx