作为一个程序员,长期参与的是脑力创新和持续加班,具备基本的职业素质会高效增加自己的工作输出,提高工作效率。根据个人和周围同事的长期讨论,现在进行简单的反思性总结:

自我反思使自己更强大

准确定义:程序员写代码过程就是起名字的过程,对于业务系统而言,需要对每一个概念、对象、类给出精确的物理定义,明确业务对象物理含义的边界。形式逻辑对于实体的定义一般包含一个领域(实体所属客观的分类)+对于同一领域其他实体有区分度的描述。客观物体的定义是如此,抽象描述也是这样,对于遇到的困难,尽量准确定义问题本身,对于问题的解决(解集合)有决定性的意义。总之:问题要精确定义、实体要准确命名。识别复杂度:问题定义好后,对问题进行分析,识别出来问题的难度(复杂度)集中在哪个方面,对复杂度进行精确定义,这一步尤其在于需要做 tradeoff 的架构设计过程中尤为重要,很多时候高可用、高性能、高扩展、成本和安全等方面不可能面面俱到,准确识别复杂度可以把握主要矛盾,快速决定方案取舍。分解:或叫分而治之。问题的复杂度通常在于多维度交织在一起,对人的逻辑思维产生负担,平常人的思维比较擅长简单直接、单维度进行思考,增加一个维度对于思维的复杂度是指数增加的。比如当你只考虑一个文本的审核状态,它基本集中在提审前、审核中、审核通过和审核拒绝,这时你增加一个启用维度,那就需要判断每种审核状态的启用状态,如果这时候再加入人工干预,那复杂度又会增加。所以对多维度问题进行分维度分析,可以减少对问题分析过程的脑力分担,当然每个问题领域对分而治之的思维有所不同,总之就是拆分,大部分问题都是可以通过分解来解决。高效:衡量一个程序员或者其他行业的人的能力是什么呢?有人说是是否能解决问题,是否能完成所要求的任务。只说对了一半,可能两个人都能完成当前的工作,但是一个人花了一天时间,而另一个人花费一个小时,那说明我们还需要将时间考虑在内,体现一个人能力应该是:在单位时间内能解决问题的数量和质量多少。决定高效的因素有很多,包括内因和外因,内因是自己个人的自驱动力、内心的压力,外因是项目等的压力。如果让自己高效,基本的手段包括外部工具来提高操作效率、提前进行思维计划。对于每件事对自己规定需要完成的时间,不要太佛系,要给自己精神上压力,尽快完成,投入到下一件事情中,对于例行化的事情,通过自动化来解决,不要做重复的体力劳动。 专注点:每个人负责的事情并不单一,在面对每件事情时要保持足够的专注力,想各种办法做成这件事情,包括写代码、沟通、推动、撕逼,无论如何,要推动事情向你希望的方向上发展。协同:将军不打无兵之战。能力越强责任越大,但是能力再强的人不能独立完成任务,要合理分配和跟进推动自己分配与安排的事情,最终做到一起完成一件任务,保持团队成就感。

持续更新,感谢大家关注『大龄码农』,最近比较忙,不过我会保持长期更新!

查看原文 >>
相关文章