一个顶尖Google工程师每天产生的代码大概在100-150行!而一个合格的顶尖工程师从来都不是用代码行数来衡量自己的工作成就,一个优秀的工程师应该是要尽可能多的产生高质量代码。
用代码行数评价程序员是不公平的早些年在传统软件公司存在一种用代码行数来衡量工作质量的方式,当然在传统软件企业这个工作是有一定合理性的。传统软件企业需求变动小,所有的产品迭代都有一个相对确定的周期,大家都是按部就班的按照工作计划来工作,工作量好衡量,不过在互联网企业这一点完全不一样。
互联网需求变动极其频繁,昨天的代码今天可能就不行了,相对于传统软件同时实用导致的并发压力小不同,互联网软件动辄上千万、上亿,甚至上十亿的用户在使用同一个产品同一个功能,一旦用户上亿,技术难度远超过业务本身的难度,需要解决的问题将变得非常复杂,每一行代码可能都需要经过非常多的思考、推演,背后的工作量其实是极大的,这是代码行数不能直接体现的。大家想想爱因斯坦质能公式多简单,可是背后爱因斯坦付出了多少艰辛很多人都不理解。
传统软件公司通常是“项目经理+技术经理+工程师”为主干架构,而项目leader往往就是这个项目最大的项目经理,互联网公司则更多的变成了“产品经理+算法工程师+研发工程师”的主干架构,项目leader往往就是这个项目最大的产品经理,互联网很难像传统软件企业管理项目那样去管理项目,这也导致了你不能用代码行数来衡量其工作质量。
一大半时间在思考、你做的产品给很多人带来便捷才是你真正的价值硅谷的工程师跟国内的工程师其实还是存在比较大的差异的,在硅谷没有像国内这么明确的分工,基本上入职的岗位都叫做研发工程师,大家都要写代码,都要参与业务,都要研究算法,即使是很多做到了科学家级别,也要写一些代码。
好的程序员,一半以上的时间都在思考,在想着如何更好的设计,你的价值更多的取决于你对于这个项目的影响,而这些影响往往都不是直接的。移动短信到真正彻底被即时通讯软件所取代,花了接近20年的时间;支付宝从一个支付中间工具到真正上线快捷支付也长达十年时间;同时有数万、数十万用户点外卖或者打车,这对于技术又是多么大的挑战。
互联网就是这样,一旦你实现了一个功能,很有可能有上亿的用户会使用,这就是你的价值,你写的每一行代码都可能影响到每一个用户的日常生活。还是回到数学例子,就好像最简单的圆的面积公式,极其美观简洁,可是这背后经历了上千年的不断探索,思考的过程远远比结果要曲折得多。
css 导航样式,文章+css样式,css兼容移动端,表格偶数倍变色css,css中如何锁定表头,css如何找组里的元素,css 隐藏button 边框线