最近一篇文章出现在各大技术博客网站:
StackOverflow每年都会有一些奇奇怪怪的统计,StackOverflow2017 年度开发者调查数据显示:使用空格键的程序员平均年薪 59,140 美元,比使用 Tab 键的程序员的平均年薪 43,750 美元高出了不少。…”
近日StackOverflow2017 年度开发者调查,有28,657名参与了tab与Space的的调查,这些人都是比较有经验的程序员(而不是学生或年轻的程序员)。
调查结论1:40.7%使用tab和41.8%的使用space(其中17.5%是两者都用)
调查结论2:使用空格键的程序员平均年薪59,140美元,比使用tab键的程序员的平均年薪43,750美元高出了不少。
调查结论3:具体到不同国家,美国、印度、英国、德国、加拿大还有其他国家,使用空格键的程序员工资都比使用tab键的程序员工资高。
调查结论4:具体到不同的开发领域和不同的编程语言,这种差距仍然存在。
最后结论:同一个国家程序员,在相同的教育水平、工作经验等因素下,使用空格键薪水高出 8.6%。换句话说,使用Tab键的程序员需要多用2.4年工作经验,工资才能赶上使用空格键的程序员。"
有小编立马表示为了薪水,以后改用space键了。
改用space键就能涨薪水么?答案显然不是。
如果你是技术经理,你招人是基于他的技术深度还是基于他用tabs或者space键?
当然是基于他技术来给薪水。
技术面试时候,技术更好的人,公司愿意付出更多薪水雇佣他。
能拿到更多薪水的人,大多数技术更好。
技术更好薪水更高的程序员中大多数又偏向于使用spaces键。(大多数,概率。不代表用tabs的没有技术好的。)
所以才有了使用spaces比使用tabs程序员薪水更高的统计结论。
而不是使用tabs或者spaces导致的程序员薪水不一样。
那为什么技术更好的程序员大多数偏向使用spaces呢?
从技术角度看,用spaces的无可替代的好处是:对齐
代码过程用spaces,任何人用任何编辑器查看代码都是对齐的,包括网页上查看(比如在GitHub上看代码)。
很多用tab的代码,在网页上,在不同编辑器里长度可能不一致。
在一个编辑器里用tab设置缩进后,在其它编辑器里看可能缩进就乱了。空格不会出现这个问题,因为空格就占一个字符的位置。
当一个程序员掌握多种语言,需要跨平台跨编辑器编程写作后,必然面对对齐的问题。(这些程序员做了大项目,复杂项目)
在实际编程过程中,为了不受限于一个平台一个编辑器,发现spaces比tabs更能避免对齐的麻烦。
所以选用space。(实践趟出来的能更大概率避免bug习惯)
与其把用spaces,tabs的程序员区分来比较平均薪水,不如直接就人论薪水。
一类人喜欢干有挑战的事,不怕麻烦,踩到坑会情不自禁的想如何解决,解决了以后怎么避免,形成自己的笔记体系,自己的免坑方法论。
另一类人不喜欢麻烦,只是当完成任务,这次完成了交差了,继续赶着下一个项目。
假设一类人代表1,另一类人代表0。所有的人都不是站在0和1的两个极端,而是受着个人(主观态度,喜好,年龄健康),家庭环境(亲属关系),公司环境(公司给该员工安排的工作量,薪水,组织架构,直接领导,公司项目目标,其他同事)影响而在0和1之间变化。
一个人,长期处于接近1的状态,随着时间推移,更大概率拿到更高薪水。长期被形势推着走,接近于0的状态,更大概率薪水平平。
所以,为了更高薪水,个人从方法论上(主导因素)
1.选择干自己有激情的项目。全身心的投入。
2.能自控,持续学习,研究问题细节,如何免坑。
3.照顾好亲属生活,家庭关系。
4.保持良好的心情和健康生活。
找工作尽量选择好的公司和领导,有能力可以
1.安排合适的工作量
2.给一个满意的薪水
3.公司目标明确,项目目标明确,不会不停的折腾。
4.不招做事随随便便的人进来,有不合适的,能有魄力赶紧干掉。
这样,有更大概率,若干年后,你会有更好的事业发展,更高的薪水。
公众号:来自世界的美意