程序猿的九&九

   一 、九重天


第一重:

在哪本电脑杂志上看见软件工程师这个职业介绍,或者走在大街上看见某某软件培训机构鼓吹培训完就能年薪10万的广告,有些羡慕那些编程序的,自己有些蠢蠢欲动。

第二重:

用控制台或者说SDK之类的东西写了一个“HELLO WORLD!”,感觉编程这个东西,太简单没难度。

第三重:

学会了简单的使用某某工具例如VC,知道怎么利用工具创建对话框之类的东西了,认为自己已经有了“扎实”的基础,出去找工作四面碰壁之后感叹人心不古世态炎凉。

第四重:

以极低的要求找到工作,突然发现自己不会的实在是太多太多,不求甚解是无奈之举。这个阶段写代码写完之后主要是试,试的标准:“能运行就是成功,不能运行就是失败。”一个小模块写完之后被黑盒蹂躏几十次稀松平常。

第五重:

突然意识到不能再瞎干了,于是知道了如何规范的写代码,尽力的把代码写的短小精悍,看一堆关于算法的书,并且会把自己的或者别人的优秀代码分门别类存起来,以便经常参考使用。

第六重: 

做的时间越长,发现自己不会的越来越多,每每遇到不太理解的必然刨根问底,写完一段代码,一定仔仔细细把程序研究个透,不让他出现一点泄漏一点警告才罢休,以挑战白盒作为乐趣。

第七重:

把各种工具研究个稀巴烂,即使一个全新的语言或者工具,也能在半个月之内熟练使用,这个时候,仍然认为自己距离高手还有很大差距,遇到新手来公司面试,很惊讶这些人居然连怎么操作内存都不会就敢出来混了?

第八重:

把编程工具用烦了,开始喜欢控制台或者说SDK,纯粹的API编程变成了自己的最大乐趣。

第九重:

在电脑杂志上看见软件工程师的职业介绍,或者走在大街上看见某某软件培训机构鼓吹培训完就能年薪10万的广告,想对后来人说些什么却终究发现无话可说,只好一笑而过。

第一重到第四重,需要努力,第五重到第六重,需要悟性,想到第九重,需要智商和福缘。

二、九阳经

1. 不要为过去买单

不要活在过去,今天才是最最重要的,明天更重要

不要弥补过去,那样会错过今天和明天,更会把自己迷失在过去的阴影中,会造成总是犯错,又总是为过去改过,于是生活在一个怪圈之中。

2. 量化目标,把目标具体化

千万别把一些:掌握,熟悉,高级,专家等一些非常抽象的标准作为你的目标,仔细想一想:什么叫掌握,什么叫熟悉, 什么叫高级什么又叫专家呢? 这些东西不同的人会有不同的理解。

要用具体的,实际的,可测量的量化目标,比如今年年终时存款达到什么样的数目; 再如明年的月薪达到什么样的水平;今年读几本书; 今年写多少篇博客;这个月做一个应用程序;参加几次社区活动;每周发贴数不少于10条等等。

这些具体的量化目标非常之明确,你能否达到,以及你与目标之间的距离也非常之明确,所以实践起来更容易。

3. 不要做太长远的计划

如上一条所说,千万别做太长远的计划,最好别超过5年。 现令世界变化太快,人生的变数也很多,说句老实话凡人看不到太远的未来。

其实就连乔布斯,盖茨等人也没有超过三年之后的详细计划。 当然,我们要有梦想和想做的事,但是详细的计划最好别超过三年,否则等三年之后你会发现那些当初的计划非常好笑。

4. 关注过去,还是着眼未来

这是面试时要考虑的事情。

在面试的时候面试官总是不厌其烦的问:你做过什么项目,你解过的有成就感的问题是啥,你学过什么技术,你看过什么书,你解过什么Bug等等。 但是我们需要的人是能解决未来的问题,能做好未来的项目,但是未来会遇到哪些问题,谁也没知道。

乔帮主和苹果的团队的创新能力无人能及,他们创造出了很多的改变了世界的伟大产品, 他们的产品领先于世界至少5年,但你问他们未来5年的手机会是什么样子?他们也不知道。 伟大的产品都是要经过长期的摸索,试验,克服数个困难才会形成的,而不是一下子就能想到的。

这其中更为重要的因素是弃而不舍的努力和不断尝试的勇气, 想做伟大产品的决心和敢为天下先的魄力,跟过去做过什么,跟过去解决过什么问题,其实不太相干。

5. 定期清空杯子

如果杯子满了,就再难装入新鲜的水。 很多时候,感觉不再有激情了,感觉乏味了,感觉没有新鲜感了,感觉不想看书了。

这个时候就需要清空杯子,把自己当成一个小孩子,当成一个学生,当成一个刚毕业的孩子, 当成什么都不懂的人,从头来过,从新开始学习。 会有意想不到的收获。

另外就是,当找不到问题的突破口时,也需要抹到一切线索和思路,从新再次分析问题。 就好比解数学题一样,如果乱了,解不下去了,就要忘掉先前的思路,休息一下,然后重新审题, 重新思考,回归基本,之后便会有新的思路出来,没准就会找到突破口。

这还有一个好处就是可以保证你不会走偏,因为很多时候由于没把问题搞清楚,加之心急,导致思路混乱,偏离了真正的问题,于是越来越乱。 这时就需要停下来,重新理清问题,重新思考

6. 个人仅做小项目,对于团队大项目,只能参与开源项目

我们的大问题也是缺少项目经验,但是个人的力量单薄,时间有限,只能完成小项目,甚至是几百行,几十行的小程序。

对于团队协作方面,只能参与开源项目,或者参与社区。

7. 给任何项目(任务)一个时限

就像编程比赛那样,给每个项目一个时限,有压力才会有动力,这样才能让自己进步

几个小时完成一个小工具,几天完成一个小应用等等,像ACM或者编程马拉松,或者开放编程比赛那样, 二三天内做出一个应用,这样会有成就感,更会学到很多。

8. 参与Topcoder,ACM/OJ等

参与Topcoder,ACM/OJ等,保持算法,分析问题和解决问题的能力。

9. 定期检查自己

像学生时代的考试一样,定期的来个面试,或者与老朋友畅谈,以回顾和检查过去这一段时间或一年的得与失和生活的收获。

特别是对于经验和技能被看重的IT行业,定期检查尤为重要

建议至少一年内要进行一次或几次面试,通过面试,你能从一个侧面知道自己的进步与不足之处,便能知道下一步该如何去做。

更重要的要,通过面试,你能知道自己的不足之处,与理想职位之间的差距,和要努力的方向。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值