当面临一个问题,优秀的程序员应该知道如何花很少时间去查验和解决手头的问题。
每个专家在某个时间点都可能是一个初学者。 而且有这么多的技术,即使在某个技术领域是专家,在另一个可能就是菜鸟。
为你干的事情做好命名是编程中一个重要的部分。 这不容易, 但很重要。有开发人员还开玩笑说,在计算机科学领域有两个难题:缓存无效+命名。
新程序员通常不会对变量和函数命名足够重视, 普通程序员会花更多的时间去思考它,而优秀的程序员已经通过之前遇到错误和问题学到了经验。 他们找到了来帮助他们命名变量的模式,他们甚至不需要再去考虑它,因为一直沿用相同的方式命名就好。
优秀的程序员往往不参与其他开发者的相互争执和指责中,他们更收放自如。
有很多的开发人员喜欢去搜索和查看相关的文档、博客文章来比较工具,并最终选择一个单一的工具。但优秀的开发人员会将他们的研究缩小到2-3个选项,并迅速将这些工具应用到他们的项目,以了解它们是如何在他们的环境中工作的。
在编码中,沉没成本的误导涉及到花费在解决某个问题上的时间。例如,考虑一个场景,其中某人开始为项目编写代码,并预计需要大约一个星期。他们根据这个预期做出决定,在完成项目一整个星期后,他们意识到它实际上需要一个月。大多数开发人员将继续他们已经开始的路径走下去,证明他们的决定,并展示已经做了一个星期的进展来进行说服自己。
但是优秀的开发者思考方向不同:
“ 有一种其它的方法,我认为只需要半个月就能搞定。这意味着如果采取这种方法,它将可能比我保持现在的路径一直走到底要快两倍。”
例如,我非常有声望,我对 Elixir 编程语言很是看好。但是这项技术很新,如果想要实际构建复杂的功能,可能会相对其它更难找到相应的开源技术,这将提升团队构建的难度。
解决问题需要最实际的决定,使用的技术应该是基于它能够很容易在2016年,在目前实现。在2017年、2018年、2020年,技术可能会有所不同,那时候再根据需要进行调整。
初学者经常难以发现最新技术的发展趋势,优秀的开发者会意识到,他们所知道的每一种技术(编程语言,框架,库等)都可能不再是明天的可行选择。 他们会提前考虑更高级别的编程方式和问题解决方式。
还值得注意的是,开发人员可能会再次遇到类似的错误消息。你应该专注于学习如何解决问题,以及为什么你需要解决它们。这样做将允许你以更快的速度修复类似的错误。
编程,就像生活中的许多事情一样。这就是为什么这么多的行为,能帮助你做好一名优秀的程序员,也能帮你在日常生活中做一个优秀的人。
参考资料:http://blog.thefirehoseproject.com/posts/