若论工作中最重要的能力,莫过于甩锅了。我这么说并不是教人推卸责任,而是团队协作中因果都是交织的,没有孤立的过错。所以实际很难切割清楚,出现问题,完全就看谁能占据说理的上风,把责任推给别人。毕竟背锅的人有很大概率要丢工作的。所以,千万要小心。吹水、甩锅、摸鱼都是非常核心的能力,缺一不可, 只会老老实实写代码得累死。
言归正传,程序员,最重要的技能就是
不论在做需求前,还是写代码中,或是完成了代码开发,思考始终贯穿整个过程:
总之,作为程序员要想精进自己的技术,除了实践就是多思考,不断的积累经验,提升编程之术,这是看家本领。
当你能够熟练运用某种编程语言开发项目时,学会其它编程语言是很容易的。因为编程语言的设计和实现有很多相似之处。理解这些思想和设计,就掌握了编程语言的"命脉”。
相比只会一种编程语言的人,会多种编程语言算得上是一种优势,但这种优势不牢靠,很容易抹平。
技术是有时效的。过了这个时效,你再怎么精通,也不得不"扔到故纸堆里”。不过,会某种特定技术,在三种情况下有利:
虽然程席员主要以写代码为生,但是要让代码产生实际经济价值,需要通过项目管理做出好用的产品和服务发布给用户才行。
有时,公司不一定能招到合适的项目管理和产品经理。这时候,程序员是可以代而为之的。毕竟,人的潜力是很大的。能搞得定那些复杂的逻辑,这些项目和产品上的基本事情还是能胜任的。
培养自己多方面的非技术能力Q,也是能够培养竞争力的。
具备系统全局的视角,有一定的技术深度,同时关注广泛的技术,能够做架构设计。
架构的实质是低成本高质量高效率完成系统。因此,要做架构,除了技术层面,还要培养强烈的成本意识和质量意识,学会"算成本账”,能够督促团队不断提升工程质量。必要的话还要协助项目经理提高研发效能。
技术过硬,又能与同事相处很好,懂一定的政治手腕,能够带团队攻克系统和项目。带团队做事不仅需要自身具有过硬的技术能力,还需要具备领导力和管理能力,这可提出了更高的要求。带团队是一项有刺激有挑战的事情
对研发领域的某个侧面(比如代码质量、系统重构或者性能、可扩展性、配置化设计或全链路压测等)特别感兴趣,也钻研特别深,而且乐于分享和传播,那么,可以考虑做技术布道者。
换句话说,只要在某方面具备特长,同时又能充分发挥这方面的优势,那么,就具备了某种竞争力。
当持续强化这种竞争力,就会升华为"核心竞争力”。这时候,别人就不能"望其项背"了。
人生最怕半途而废。
人真正的能力是分析和解决问题的能力,做出正确决策的能力,成事的能力。
要成事,需有胆量气魄,有大智慧,计划周密,不屈不挠,突破一切阻碍,做成事情,步步为赢。
本文由博客一文多发平台 OpenWrite 发布!