你想成为一个优秀的程序员么?那么,现在是时候低下你那高昂的头颅,然后放下手中的《深入浅出XXX》、《零基础学XXX》、《15天精通XXX》之类的骗子书籍了。曾子曰:“吾日三省吾身.......”,那么,作为一个程序员,你有没有做到每天思考以下的5个问题?
【正文】
1、怎么让代码变的更简单?
开发者经常想得到复杂的和可扩展的解决方案。做一些极为复杂的东西,觉得自己就是自己宇宙的主宰。问题是将来你永远无法预知产品和业务会如何改变。
“架构”和代码更像是园艺而不是建筑。你必须要有能力去适应不断变化的环境。越复杂的解决方案越难做。
2、你知道程序为什么要这样运行吗?
知道东西像那样运作和知道为什么会像那样运作是两个完全不同的事。如果你知道事情为什么会那样,那么你就能够做出更好的决策。一个伟大的程序员和知道有某种编程语言的人来说,差别在于理解为什么的深度。同样的原理也适用于问题修正。“重启一下服务。”“你试过重启吗?” 当有问题发生时,我们经常会想到这些话。每次你这样说时,你就失去了一个学习的黄金机会。理解为什么出现这样的错误,将修正根本原因,避免出现治标不治本。最起码,你以后不要再犯同样的错误。
3、你知道这种技术的出处么?
你认为你知道REST吗?你有读过Roy Fielding描述REST的论文原文吗?你真的明白它的最初用意吗?那种在IDE v7工具中比你多用REST API生成向导5分钟的家伙写出来的博客可不算数的。帮自己一个忙,试图去读概念或原理的原始文档,然后通过各种手段去了解行业领袖的最新发展动态。如果你不知道他们是从哪些开始的,那就紧跟他们的步伐吧?(不知道他们从哪来,就跟着他们到哪去吧!)
4、我喜欢现在所做的么?
编程其实是很难的一件事情。除了很难以外,编程还是发展很快的。Art框架从2年前的“笨重恐龙”已经发展到今天的标准。为了站到你“游戏”的顶端,你必须树立一个终生学习和研究的信念。如果你不喜欢你所做的,那么你就没有跟上其他家伙(喜欢自己所做的)的可能。所以找到让你激情燃烧的编程类型!不要因为市场缺口或者收入不菲而决定成为一名安全专家,不要因为一篇文章说UX是最热门的职业而决定成为一名UX专家。
5、我可以向谁学习?
永远不要在一群你在其中是最聪明的人的地方工作。挑选拥有可以启发你、激励你做得更多的同事的工作和公司。不要与编程扯上关系,在文本编辑器和命令行外面还有一个完整的世界存在。从其他领域学习,设法应用到你的工作中。
永远不要满足于能胜任现有的工作!
******************************************************************[转]