什么样的程序员才是牛逼的程序员?
恰好最近在反省自己的日常生活,感觉每天做些增删改查、枯燥无味的工作, 对于现在的我来讲,学会且能够享受生活就是牛逼,对于其他行业一样。 写代码十年了,现在也还坚持要让自己写写代码。 * 第一层能力,编码能力。用你掌握的语言把描述中的算法编写出来,运行正确。逻辑比较复杂的代码,比如说五层以上的循环,各个层内有判断和处理,能看透能定位问题。或者其他语言写好的核心级别的代码块,能重新编码成另一语言的版本。这一层能力决定了程序员之路能走多顺畅多块。 * 第二层能力,分析推理。从需求文档到对象设计,能有多快多准确。一个问题或者变更,要动哪层哪块代码,动多少,工作量多大。还有,这个需求后续最有可能跟着哪些需求,这个问题后面会隐藏着什么其他缺陷,如何改进,工作量多大。这一层能力决定对技术理解深入到什么级别,对客户业务需求理解有多深入,对软件架构有多了然于胸。 * 第三层能力,销售水平。客户提出的需求,有的是对他重要对你则稍微改动即可,你是免费还是收费,收的话收多少合适。项目管理所谓进度质量成本三角,数据库的速度一致性数据量三角,根本是取舍之道。程序员要生存要发展,人生就是干活,作品的价值,售出的价格三角的平衡。不能只从自己的视角看自己的东西,要从团队客户商业战略角度多审视。所以要提高销售水平,和bug斗也要学会别被人斗,万一斗起来自己能有概率反杀。 * 第四层能力,意志力。这个不用展开