十二 12

简悦创始人云风谈程序员的职业素养

作者: baiyuzhong 分类:管理   阅读:26,519 次 添加评论

文/云风

成功程序员的共同点是将软件开发视为一种需要精雕细琢并随时加以修炼的技艺,时刻以专业人士的标准要求自己,注重培养良好的职业素养。而这些职业素养究竟是怎样炼成的呢?

程序员是可以当作一生的职业。但首先,你需要热爱编程,而不是把它作为完成其他人生目标的工具,你要不断地反思自己在哪些方面的努力是更有效率的。我认为,无论在哪个子领域工作的程序员,都要在三个方面提高自己。

第一,保持对未知领域的好奇心,尽力开阔视野。如果你只精通一门编程语言,那么就赶快去学习另一门,最好和之前那门语言的亲缘关系越远越好。这可以让你从不同的视角去看待过去的问题。如果你只专注于一个领域,那么去深入地研究一下其他领域也会有很大帮助。

多数人都喜欢在熟悉的知识结构下解决问题,因为全新的东西总有学习门槛,需要了解很多基础知识才能展开实际的工作。能轻松地把相关信息组织起来调配,与借助 外部资料是很不一样的。后者要经历一个相当痛苦的过程。但一旦习惯经常地学习和积累新知识,你就可以逐步掌握一套自己的方法来减轻这种痛苦。而要做到这点 却很难,需要保持单纯的好奇心。

第二,把握各个层次上的细节。尽可能了解清楚系统每个层面的运行:硬件如何调度机器指令;数据在硬盘、内存、缓存、CPU间的流向;代码如何被编译链接,代码经历了何种过程被加载到内存,JIT怎样加速字节码的运行;操作系统怎样管理线程、处理I/O;软件 用到的第三方模块和工具如何处理数据;在网络环境中,数据流的通信协议;代码中每个模块逐个层次中的相互关系……

对细节掌握得越多,思路会越清晰。在每个层次上,你会看到不同层次的设备对上一层业务逻辑的抽象方式,直到最终你直接面对的业务。对业务的抽象能力,来自你对业务的熟悉程度,实际上这种能力更是随同对细节的把握能力同时具备的。

第三,提升对代码的直觉。优秀的程序员能很快地发现性能热点、找到系统崩溃的原因、找出不合理的代码……除此之外,准确的估算能力也非常重要,这要求程序员 能够快速心算出每个模块的开销和输入的数据量之间的关系。在写下每行代码时能够判断其对性能的影响,以简洁去挑战各个层次模块间的耦合复杂度。

要培养这种能力,除了不断地编写代码之外,别无良方。在写代码的同时,要时刻保持思考,要对不好的地方零容忍。要在最早的时刻动手,任何推倒重来的代价都不会太大;放任它们只会让局面演变到不可收拾的程度。

保持自己总有代码可写,不断地去发掘自己新的兴趣点,拓展新领域。要单纯一些,编程本身就是一件有趣的脑力活动,而不必仅仅为了解决一些问题而写程序。

作者云风,简悦创始人,程序员。自幼学习编程,从Apple II 时代开始从未停止。

本文选自《程序员》杂志2012年12期,未经允许不得转载。如需转载请联系 market@csdn.net

《程序员》2012年杂志订阅送好礼活动火热进行中

转播到腾讯微博

----->立刻申请加入《程序员》杂志读者俱乐部,与杂志编辑直接交流,参与选题,优先投稿

20 Responses to “简悦创始人云风谈程序员的职业素养”

  1. enjolras 说道:

    居然没有评论。说得很好啊。

  2. nothing2say 说道:

    说的是很有道理的,
    希望中国程序员的大环境能有所改变,
    要不都是空谈.

  3. wade 说道:

    不提软件工程,不重视开发效率,只是一人敌,不是万人敌,真以为靠一个赵云就能灭了八十万大军?

  4. zkong 说道:

    “把握各个层次上的细节”完全没有必要。 我认为好的程序员应该清楚,什么层次的细节是需要理解的,什么层次的细节是可以忽略的。 关注自己项目的核心业务,规定时间内给出满足交付条件的产品是最重要的。

  5. jankey 说道:

    说得很好,应该为现阶段的中国IT码农一个概念性的教育,中国为什么会由那么的码农,就是因为没理解编程的基础道理,所以一直都在做着重复的事情,悲哀啊

  6. yjh1982 说道:

    作大师的感觉可好?可惜其它大师都这么说的:不管多优秀的程序员,对性能的直觉是非常差的,一定要以测试为准.不要过早优化.

  7. anyuanlzh 说道:

    文章虽然很短,但句句都真知灼见。

  8. YU_YU 说道:

    在重复性劳作时应该思考,这样做是否合适,是否满足当前要求,在需要扩展时是否能满足要求,在需要消减时能否不伤筋动骨

  9. Feng Yue 说道:

    程序员不是酷毙,而是苦逼。

  10. V5 说道:

    云风说的是一个真正的程序员。
    但每个人不同的世界观,人生观,价值观。
    如果作为一个真正程序员在中国有许多前提,但是很多人达不到。
    假设作为一个程序员,每个月拿5W+月薪,我相信云风说的这些都不是问题。当年一些只为了纯粹的银子的人除外。
    但是没有银子,目标像这篇文章说得这么远,在中国不切实际。
    程序员也是人,不是宅男宅女,不是一个人的世界。他需要在特定的时间需要花特定银子来完成一些物质生活,感情生活等等,如果这些最基本的东西都不能得到,那么他花时间去完成这些有多大意义???
    即使少数人研究了,他名利情感双收,他是成功了;
    假设有更多的人研究了,但是却沉在其中,没有得到回报,什么也没有。那就回到了我说的一些生活问题了。
    对世界没有感情生活的了,我认为是存在于这个世界上的活死人。

  11. yuanlin2008 说道:

    对现实的人谈理想和对理想的人谈现实,其实都是不对的。没有好坏之分,只是不同世界而已。

  12. duyanning 说道:

    云风大师,法驾中原,神通广大,法力无边。

  13. 程序员真累啊,大师更累啊。

  14. gormme 说道:

    说的都在理上,不过话说回来,即使对自己十分喜欢的事情,做久了也会有烦腻的时候,或者对于一个资深程序员来说,发展一下别的兴趣不无好处,这样也可以开阔一下自己的视野,调整一心情。

  15. shiy 说道:

    云风从小就喜欢编程,当然是真正的程序员了,但好多是为了工资而编程,要我有很多钱,才不干这累活。挺喜欢云风,厉害,人也和气。

  16. tianyiliang3 说道:

    牛人,在哪里可以接触到其佳作啊。

  17. secondriver 说道:

    做到正真的程序员的时候,还用担心物质生活吗?我想不会的。能够专注职业,同样能够生活很好。

  18. Thinkx 说道:

    认同,好的程序员必须是从心底喜欢写程序的

  19. linustd 说道:

    你看看云风那样子, 就知道他不幸福.

    不是说每个人都要和明星那样光彩招人才幸福,但是起码的精神十足, 满面春光, 毛发油量, 皮肤细嫩, 这样才能说I明他过的不错.

    很明显, 云风不是那样子.

  20. 匿名 说道:

    看完想表达很强烈的佩服和赞同感, 看留言才发现是云风写的文章,对我来说这应该是一次向高手致敬的机会.

    印象最深刻的是, 要保持最简单的好奇心, 在这种好奇心下去构建一个稳定的内部环境.

请评论

preload preload preload
京ICP备06065162