Is a programmers salary based on skill?