`
cutesunshineriver
  • 浏览: 200117 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

《理解专业程序员》

阅读更多
一、专业的定义:在特定的活动领域里,具备了了不起的技艺或经验。

二、当我们想要向世界证明什么东西的时候,我们也总能超越自我。

三、专业程序员的范式:
1、使用类比,把计算机的处理过程与人类机构中的处理过程联系起来,对比研究。
2、在解决复杂问题时,并不是仅仅得到一个解法就满足了,而是反复追溯自己的思路。
3、从特殊案例中推出普遍规则,并且利用其他特殊案例检验这些普遍规则。
4、阅读其他人的范式。
5、阅读别人的程序,尽量扩展自己的理解能力,专门去读懂那些“写法奇特”的人的代码,从而在读程序时取得更多的收获。
6、尝试跟别人交流范式,或者把自己的范式教给别人,以此进一步澄清自己的思想。
7、积极地调查别人此前的工作成果,而不是重新发明一切。
8、把别人的工作看做一个出发点,就此对自己提问:“我会怎么发明这个东西?”

四、在每个工作日中,花一部分时间来考察、精炼你的工作方法。

五、专业程序员是为其他人解决问题的人--无论问题有多么麻烦。

六、专业程序员解决问题可能会用到的方法:
1、如果有这样一个定义清晰的问题,我相信根本就不应该解决它,那么我应该怎样处理为这个问题编程的任务?
2、我怎样才能确定是否应该使用计算机?
3、计算机程序总是在人与机器构成的总体环境中运行,那么,我应该怎样设计这一总体环境?
4、我应该怎样设计计算机程序,才能避免它对其运行的总体环境产生副作用?
5、总有一些人,他们带着定义不清的问题,他们对计算机的了解不如我多,但他们对其他很多事情都懂得比我多,而且他们的工作动力也和我很不一致--我怎样才能更有效地与他们协作?
6、如果在某个情况下,我作为专业程序员不能有效地工作,那么我怎样才能改变这样的处境?
7、未来充满了不确定因素--问题本身会发生改变,人员会发生改变,我也不一定会一直在场,那么我如何保证自己创造的程序在未来仍然能够胜任工作?
8、对于一个特定的时刻,我怎样确定采用哪种层次的方法论才最能适合当下的工作?
9、在我的个性、我解决问题的方式中有一些方面,我自己由于身在其中,很难察觉到它们,但它们甚至可能是决定程序员工作效率的最重要的因素。那么我又应该怎样来调节这些因素呢?

七、评估一份工作的原则:
1、这家企业的目标与我的个人信条是否一致?
2、我在企业中的职责清晰吗?我是否能够认同它?
3、管理层是否能为我的专业发展提供足够的时间和资源?这种时间和资源的提供,究竟是偶尔如此,还是一种明确的、长期的承诺?
4、管理层是不是故意促使我和同事们进行竞争,并以此对我进行评估?还是鼓励我与同事相互协作,帮助他人完全发挥自己的潜能,并且也鼓励别人也这样对待我?
5、我理解别人交给我做的差使吗?我理解别人为什么让我做这样的事情吗?企业是否鼓励员工理解自己的任务?
6、我和其他人的工作是不是都能够公开让同级评审?我是否希望参与评审别人和被人评审?
7、我对这家企业、这个项目投入的程度,能否达到人们的期望?

八、经验不一定能教会人懂得任何东西。

九、关于变化的两条定律:
1、环境变化,迫使人们变化。唯有此时人们才会改变。这是第一惯性定律。
2、如果被迫改变时,人们总是挣扎着保住对他们最重要的东西,牺牲不那么重要的东西。这是第二惯性定律。

十、罗麦法则:最巨大、持续最长久的那些变化,往往最初只是试图去保留一些东西,而恰恰是这些东西最终受到了最大的改变。

十一、福特公式:如果你想让人们改变他们正在做的,那么你就应该确保他们所作所为的结果都会反馈给他们自己。

十二、绝大多数时候,不会发生变化。之所以不会发生变化,是因为很多力量都在积极地保持事物稳定。

十三、如果把人们的工作结果反馈给他们,他们就能知道哪些是好的,哪些是坏的,这样他们就能确保在变化中增加好的,减少坏的。

十四、把思考留给必须思考的东西。

十五、无论你相信什么,都别完全信它。

十六、程序员们失败的一个原因,是因为不能在一个问题上集中注意力,直到把问题解决,但另一个失败的原因,则是对一个问题太过沉迷,以至于没看到某个“显而易见”的解法。

十七、人家付你工资,更多地是因为你所知道的东西,而不是因为你干的事情。

十八、任何事情,只要听人讲过3次以上,就一定是真的。

十九、为了应对未来的变化,就应该充分地生活在现在。

二十、如果一个程序员一直都在成长、进步,他也就不会害怕未来。
分享到:
评论

相关推荐

    理解专业程序员

    《理解专业程序员》一书由杰拉尔德·温伯格撰写,主要探讨了程序员这一职业的专业性,以及如何理解和成为真正的专业程序员。书中通过轻松幽默的文风,揭示了程序员心理、工作特点和行业的独特性,旨在帮助程序员、...

    理解专业程序员.pdf

    该书深入浅出的讲解了编程的相关知识,其中不乏很好的代码案例分析,值得推荐(wh706483)。

    程序员 2005 第3期(PDF)

    对于初学者,这是一次宝贵的实践经验,通过阅读和理解专业程序员编写的代码,可以提升自身的编程技巧。同时,这些源代码可能涉及到多种编程语言,如Java、C++、Python或VB.NET等,反映出2005年主流的编程环境。 ...

    计算机专业程序员必背英语词汇

    计算机专业程序员必背英语词汇 计算机专业程序员需要掌握的一些英语词汇是非常重要的,这些...了解这些英语词汇对于计算机专业程序员来说是非常重要的,可以帮助他们更好地理解和掌握计算机技术,提高工作效率和质量。

    VB2005 专业程序员指南

    《VB2005 专业程序员指南》是针对使用Visual Basic .NET 2005进行软件开发的专业人士的一本详尽参考资料。这本书基于Microsoft .NET Framework 2.0,涵盖了VB2005的各个方面,包括语言特性、类库、开发工具以及最佳...

    应届生计算机专业程序员求职简历

    计算机专业程序员求职简历 计算机专业程序员求职简历的关键要素 计算机专业程序员求职简历是计算机专业毕业生的首份简历,旨在展示自己的专业技能、教育背景和实践经验,吸引潜在雇主的注意。李玉芝的简历是计算机...

    程序员高级程序员 程序设计辅助理解软件

    在IT行业中,程序员的成长路径通常会经历从初学者到高级程序员的阶段,而软件设计师则是一个更为专业和高级的角色。这个“程序员高级程序员程序设计辅助理解软件”压缩包文件,显然是为那些寻求晋升或者增强自身技能...

    数据结构基础,专业程序员基础

    “软件专业程序员级(数据结构基础).chm”文档可能包含了更多关于这些数据结构的深入讲解、示例代码和练习题,帮助你巩固理论知识并提高编程技能。通过系统学习和反复实践,你可以成为一名精通数据结构的专业程序员,...

    程序员的情书-----看专业程序员对程序的评价

    “我可以重载甚至覆盖这个世界里的任何一种方法”这句话体现了程序员对编程语言中的重载(overloading)和覆盖(overriding)机制的理解和运用能力。重载是在同一个类中,允许有多个同名的方法,但参数列表必须不同。...

    专业程序员的进击之路UNIT3D游戏外包共2页.pdf.z

    【标题】"专业程序员的进击之路UNIT3D游戏外包共2页.pdf.z" 提示我们,这可能是一份关于专业程序员如何通过Unity3D游戏引擎进行外包工作的指南,主要聚焦在游戏开发的商业实践中。Unity3D是全球广泛使用的跨平台游戏...

    深入理解计算机系统--程序员必学课程

    书籍的内容涵盖了计算机系统的核心领域,是计算机科学相关专业的高校教材,也是程序员提升自我能力的重要参考书籍。 当前全球正处于信息化时代,新技术不断涌现。程序员必须紧跟技术的发展脉搏,学习计算机系统不仅...

    计算机专业水平考试历年试题(程序员、高级程序员)

    计算机专业水平考试是针对计算机相关专业人员的一项重要评估标准,旨在测试考生在程序设计、算法...通过复习这些知识点,程序员和高级程序员级别的考生可以更好地准备计算机专业水平考试,提升自己的技术实力和竞争力。

    程序员面试宝典 程序员

    《程序员面试宝典》是一本全面涵盖程序员面试过程...通过阅读《程序员面试宝典》和《第三章 三种考试(电子)》,程序员可以系统地准备面试,提高自己的竞争力,并在求职过程中展现出扎实的专业知识和良好的综合素质。

    专业程序员修炼之路。.zip

    【标题】的专业程序员修炼之路,主要聚焦在Java编程领域,暗示了这是一份关于Java开发的学习资源或项目实践。在编程领域,Java是一种广泛应用的、面向对象的编程语言,尤其在企业级应用、Android开发以及大数据处理...

    程序员面试全攻略

    4. 技能列表:列出你的编程语言、框架、工具等专业技能,以及对新技术的敏感度。 二、与猎头公司和人力资源代表沟通 1. 猎头关系:理解猎头的角色,建立良好的合作关系,让他们成为你的职业发展助力。 2. 沟通策略...

    程序员(程序员受益终身的文档)

    标题和描述中提到的“程序员受益终身的文档”聚焦于程序员个人品质的培养与提升,强调了在职业生涯中,除了专业技能(硬实力)外,软实力的重要性也不容忽视。文章通过具体案例和分析,深入探讨了程序员在成长过程中...

    专业程序员技术模板,供大家参考

    【标题】的专业程序员技术模板,提供了撰写优秀技术简历的指南,旨在帮助求职者突出自己的亮点。简历应包含个人信息、教育背景、专业技能、工作经历和项目经验等方面,以全面展示技术能力。 【描述】中提到的重点是...

    c程序员成长计划(转)

    能够熟练使用调试工具(如gdb)、构建自动化脚本(如makefile),以及进行代码优化,都是专业程序员的标志。 #### 开源项目实践 参与开源项目不仅能提升编程技能,还能增强团队协作能力和项目管理经验。选择一个与...

Global site tag (gtag.js) - Google Analytics