Software developer salaries: How your location affects pay