高级程序员与初级程序员差别在哪里?
之前在公众号里有个读者给我留言: 请教个问题,公司高职级和初中级,都是写业务代码,那么高职级的价值在哪里呢? 由于公众号回复留言的限制,当时我就简单的回复了如下的几个点: 初级多在写代码,高级多在设计代码; 初级多在解决一个问题,高级多在解决一类问题; 初级多在考虑技术问题,高级还要参与业务上的需求; 初级工程师只管接需求,导致自己忙不过来,高级工程师会砍需求, 用自己得经验告诉产品这个需求不需要,告诉设计师这个交互没必要; 初级工程师可能做完一个项目就完了,高级工程师可能会封装几个组件,整理一个脚手架出来。 还有很多很多,初级工程师和高级工程师差距不仅仅是代码质量上,而且其他能力上,解决问题的能力,抽象问题的能力! 今天有时间,想详细的跟大家谈谈我所遇到的、见到的厉害的程序员,同样是写业务代码,为什么会比初级程序员拿的工资高? 初级多在写代码,高级多在设计代码 一般人可能拿到需求,就开始写代码了,写着写着由于页面功能越来越多,感觉代码越来越复杂,自己都会觉得难以维护了。 我拿我自己举个例子,之前有一次我写完一个页面之后,然后给另外一个同事(可以理解为高级程序员)让他帮我 Review 代码,看到我的代码之后就觉得这个写得不对呀,怎么会这么去 设计 呢? 然后他给我理了下整个页面应该如何去设计,一个页面分为哪些块,有哪些事件,每个事件应该 dispatch 哪些 action