什么是优秀的程序员

    最近总是在想,什么是好的程序员,是能搞懂操作系统,计算机网络,编译原理,能写出非常炫酷的代码的吗,还是能虽然对这些原理都不太懂,但是总是能用别人的框架完成自己的工作的。第二种程序员其实要比第一种要强一点,因为他能为企业创建直接的经济价值。更好的程序员应该精通各种原理,同时又能快速的学习和使用各种框架,并别制作有经济价值的产品的程序员吧嗯,是的。

2018-05-12日更新

    优秀的程序应该是能写出优秀的程序(产品),这样的程序可维护性好,运维简单,容易一直,使用简单,对于我来说,就该是符合unix哲学。优秀的程序员不会浪费自己的时间做重复的事情,不会毫无理由的在代码里面炫技,增加代码复杂性。对于已经有的技术,做到自己心中了解,动手能做,但是不会重复再早一遍轮子。很多时候,我们达成一个目的,写代码是下策,找不现有的合适的工具的时候,才考虑去自己动手写代码。即使找到能完全使用的,我也希望能像shell一样去组装一些已经存在的工具。