开博第一帖先来个程序员需知大纲

来源:互联网 发布:配电计算软件 编辑:程序博客网 时间:2024/05/21 13:57

作为程序员,要取得非凡成就需要记住的15件事。

1.走一条不一样的路

在有利于自己的市场中竞争,如果你满足于“泯然众人矣”,那恐怕就得跟那些低工资国家的程序员们同场竞技了。

2.了解自己的公司

以我在医院、咨询公司、物流企业以及大技术公司工作的经验来看,这一点所言不虚。

不同公司的运营模式差异极大。如果你理解企业的运营模式,那你就不一样了!在这家公司中(或者对客户而言),你是参与业务运营的资产,你的工作能直接产生效益!

3.与最优秀的人为伍

很早以前,我喜欢打篮球,被分配到一个水平比较高的队里。一开始适应的确很困难,但环境的压力越大(重大比赛),我的长进也就越明显。

每个领域其实都一样:你周围人的水平(以及对你的期望)越高,你就会变得越优秀。

4.制造差异

每年学习一门新编程语言。为什么不呢?不断尝试新事物,你关注的技术种类越多,脚下的路就越宽广,你的职业生涯就会日新月异。不知道几年后Java的趋势如何?那就学习Clojure。学Ruby还是Python?这两种语言都可以试试啊。然后你才能知道哪种语言更适合某个特定的项目。看,掌握的语言多了,才能在需要的时候信手拈来吧。

5.畏惧,是最大的敌人

还是直接从书中摘一句吧:“在畏惧中做出的职业规划,很可能会让自己后半辈子就一直被‘圈禁’在小隔断里,永远不会有创造明天辉煌的时刻。没错,那样是安全,但有意思吗?”

6.要成为多面手

如果你掌握了所在领域的知识,那你只能是一名专业人士。用PHP编程?花点时间设置一台Apache服务器,让PHP和MySQL都跑起来。一直在用jQuery?试试Prototype。你懂了吧。

7.一个字:做

别指望别人过来教你该怎么做,出去,自己学着去做!

8.找一位好老师

找一位好老师可以让你在学习技术的时候有的放矢。作者给我们讲述了别人是怎么指导他学习的(顺便说一句,作者在这本书里讲了很多个人经历的小故事,他居然从一位演奏家转行来做软件开发!):“好好研究一下目录服务,熟悉一种UNIX变体,然后再掌握一门脚本语言。”

请记住这句禅宗谚语:“循路觅宗师,形影不相离,师知吾亦知,吾乃成宗师。”

9.主动教会别人

教会别人是一种最好的学习方式。写一篇博客能帮你搞清楚一个问题。为此,你必须先掌握很多材料,同时还要有条有理地讲给别人听(写作技能)。如书中所言:“要想知道自己是不是真的明白,你就讲给别人听听。”

10.实践,实践,再实践(训练)

只有进行大量实践(花大量的时间)才能掌握某种技术。看的很多,写的很少,遇到问题,改一改,又去读代码……(这样下去是不行的)。

要特别警惕拖延症。其实,往往只要有了开头就好办了。

自我加压,效果会更好。我曾在一篇博客中提到帕金森定律:紧张的时限可以让你提高工作效率。为什么不把这个定律用到学习上呢,比如说在y时间内学会x?

11.从小处入手

每天都取得一项小成果,每天都要坚持做(写在博客上?)。这样一来,你只能让自己比昨天更进步,而不能说自己比上星期进步了一点。

12.享受过程

关注当下,而不是目标,享受那些在追逐未来目标的途中可能无暇顾及的小胜利。人总要生活在当下。我享受编程的过程,就像享受编程的结果一样。

13.不要丧失危机感

越是成功,就越容易犯重大错误。永远不要忘了危机感,特别是要认识到你今天所知道的,到了明天可能就会一文不值。过去的荣耀不能保你永远无虞。

据书中所说,你最好是要让自己能够“通用”,而不要对哪种技术或哪个公司产生依赖。你所掌握的某些技能,甚至你的工作,到了明天都可能会变得毫无价值。因此要不断提高/丰富/扩展自己的技能。

14.推销自己

为某个项目贡献自己的一份力量,写一篇博客,共享自己的源代码,成为对某个社区有用的人。

当然,做这些事可能需要激情,要看你的爱好,但这些事也会间接地推广你的工作成果,证明你的实力,提高你的知名度。

15.关注市场

书中还提到了“预警极客”,也就是那些始终引领技术发展的人。这些人说过的话往往带有预见性,他们提到事物也许过几天就会成为头条新闻。关注这些人,常看他们的Twitter和博客。



后续添加转载

1. 咖啡:你需要找到你钟爱的咖啡种类。我首选的是黑咖啡,也有人会整天喝苏打水,也有人喜欢经典的威士忌和Jolt。


2. 逻辑性:作为一个程序员,你应该用逻辑思维去处理所有事情。在你处理各种用户莫名其妙的需求时,你的逻辑处理能力才能形成。其中的用户包括你的项目经理、业务分析师及真正的用户。对于任何给定的项目,你可以向那些看起来相当疯狂的人寻求帮助。


3.时间:希望有更多的工作时间。程序员的工作,向来不能遵守照朝九晚五的工作时间。尤其当项目临近截止日期时,你每天就要花更多的时间在工作上。有些时候,周末的休息时间也会因加班而被占用。所以程序员需要时刻保持工作的状态。


4. 企业的束缚:在公司中你也许没有任何权利作出决定,但这并不意味着公司不会随时联系你。要与公司时刻保持联系,也许公司会给你配置一个手机,寻呼机或是一些公司自己提供的手机。但肯定不会是iPhone,因为这样做不是为了娱乐,而是工作的需要。


5.责任:作为一个程序员,无论男性或是女性。只需要牢记一点,如果有任何差错,很明显是程序员的错误。


6. 睡眠:很多程序员因为工作经常熬夜加班,缺少睡眠。工作时间的加长,你会发现自己的睡眠时间少的可怜。例如:你不得不在早晨7点与你的团队进行电话会议或是在周六早晨5点开始部署工作。


7.技能:在日益激烈的企业竞争环境下,你一定要提高自己的技术。现在有大量的程序员还未找到工作,如果你表现不好,随时可以让他人替代你的职位。在业务领域中的专业知识并不是最重要的,因为公司内有专业的业务分析师。要谨记你只是公司的一个小角色,随时都可能被替换,所以要有一颗上进的心。


8. 气味:随着办公时间的增长,屋内的空气质量也越发的浑浊。我说的并不是在房间内加热午餐才导致这样的环境。而我想说的是,房间内除了蓬头垢面的程序员还是蓬头垢面的程序员。


9. 7*24天的支持:你会在不同的时间段被拉去工作,有时就像一个客服。这些工作虽然不会对你的工作和生活构成威胁,却是工作中的一大压力。最糟糕是,有时你需要召开一个10人的会议,而参会者对出现问题的解决方案却好无头绪,但从管理的角度又不得不来参加。他们中的任何一个人都给不了你帮助。


10. 压力:项目的的成功与失败都是无法选择的。即便你很不同意项目的完成日期,但却不能有任何推延。当然你更不能为了在限定期限内完成任务,而去删减应用的一些功能。你必须在限定期限内发布一个完整的应用。


11.非技术管理者:大多数程序员认为非技术管理人员是他拉的灾星。他们要管理一个程序员团队,但他并不关注的程序员的生活,只是知道让程序员们一味的“编写代码”。他们会过度承诺,对待程序员就如同对待“牛”或是“资源”一样。


12.政治斗争:这些事情程序员很少参与。但是,你的项目甚至你的团队有可能会成为这种斗争的牺牲品。你没有任何的权利去阻止它的发生,但注定你要被卷入其中。


上面列出的这些并不是所有程序员都会遇到的。如果你在你当前的或未来的公司中看到这些事情,你可以考虑其他发展途径。(张祺/编译)

原创粉丝点击