快要放假了,最后坚挺的时刻,读本书吧。《我编程,我快乐 ——程序员职业规划之道》。程序员
1,编程
当你开始作一个程序的时候,或许手头上有一个从网上复制的示例程序,看上去这个程序可使用。为了知足你的须要,你会对这个程序稍加改动--添加一些代码,再加一点。你根本就不知道本身在作什么,只是不断地作一些小的修改,直到这个程序彻底知足你的须要。但问题是,这样作就像是用纸牌搭建房子,每增添一张纸牌,就增长了一分纸房子坍塌的危险。你根本就不知道这个程序是如何工做的,因此你每作一点儿改动,都有可能致使你的程序彻底失败。安全
注:深有同感。从开始开发,到如今感受有点经验。上面的话我都浑身中箭。GitHub,是好朋友。我想,为了赶工期是很大的缘由。也许刚开始编程的一段时间,能够搭纸牌。可是,感受本身有点经验了,仍然在搭纸牌,这就说不过去了。至少,照着别人的纸牌,实现本身的纸牌吧。编程语言
2,函数
在有目的地选择投资哪一种技术和领域时,风险收益平衡是一个很重要的权衡因素。学习
3,网站
从供求规律中,咱们能够学到重要的一点--需求的增加会加重价格的竞争。若是只想作稳定可靠的工做,而且跟随着工做发展,那么你就会卷入与国外开发人员的价格竞争中,由于你的技术决定了你只能进入平衡的外包市场。若是在主流技术市场中竞争,你就必须在更高层面上竞争,不然,你就要去发现市场上的不平衡,找到外包公司无能为力的工做。这两种状况,你都必须找到工做的动力,提升自身的技术和灵敏度来应对一切变化。职业规划
4,spa
只思考在哪一种技术上投资是不够的。毕竟,技术只是一种商品。你不可能只掌握一种编程语言,或者只可以操做某种系统,而后把生意交给老板打理。若是他们只想找个懂代码的机器人,那不如雇个外国廉价的程序员。若是你想站稳脚跟,必需要深刻了解你所处的领域。事实上,软件工程师不能只会开发软件,应该要成为这个业务领域的专家。对象
5,
学习一种新的编程语言。但不是从Java到C#或者是从C到C++。这门新的语言应该可让你的思惟方式产生变化。若是你是Java或者是C#的程序员,那就尝试学习相似Smalltalk或者Ruby这种不须要采用强类型的静态编程方式的语言。或者,若是你一直在作面向对象开发的话,能够尝试Haskell或者Scheme这样的函数式语言。你不须要成为专家,能够感到这种新的编程环境与你以前所处的环境的不一样之处便可。若是你以为并无什么不一样,那就说明你选错了语言或者你仍然将固有的思惟方式运用到新的语言中。要完全改变你的思惟方式来学习新的语言。向熟悉这些语言的程序员请教,让他们检查你的代码并提出建议,使之更符合此种语言的特性。
6,
父母总不但愿儿女去冒险,因此他们并不指望儿女有一个多么卓越的职业,只要差很少就好了。比起其余人的建议,父母给的建议老是包含着种种担忧。这种出于担忧的建议目的就是不要让你经历失败。但想着如何避免失败绝对不是取得成功的方法!成功是要冒险的。胜利者想的是他们想要作什么,而不是其余人会怎么作。出于担忧的职业规划不会让你走向成功,而是会局限你的发展。没错,这条路很安全,但毫无乐趣而言。
7,
遗憾的是,软件开发界有不少这样肤浅的专业人士,这些人以"专业人士"为借口,只知道一门技术。
8,
你是否使用在虚拟机上编译并执行的编程语言?若是你使用,花点时间学习虚拟机内部是如何工做的。不少书籍和网站都专门就Java,.NET和Smalltalk进行讨论。学习这些东西总比你凭空想象要简单。
9,
咱们来这个公司工做,目的就是为它赚钱或者省钱,但咱们根本就不懂这行是怎么赚钱的。更糟糕的是,咱们根本就不认为这是咱们应该知道的知识。做为程序员和系统管理员,咱们认为本身正在作的工做就是咱们应该作的。可是,若是连这行是怎么赚钱的都不知道,又怎么能创造性地帮助公司赚取利润呢?
10,
Marin Fowler 曾经在班加罗尔的一次开发师讲座上说,当他想要真正学懂一些知识的时候,就把它们写出来。
11,
你能够从任何学科找到练习的对象,从视觉艺术到僧侣信仰。最重要的是找到你所须要的来进行练习,而且确保你不是在工做中练习。你必需要找出时间来练习,这是你的责任。
2014年1月26日 13:47:25。