`
rysh0818
  • 浏览: 23849 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

程序员能力的四个境界

 
阅读更多

无意中看到程序员杂志中 关于编程的四个境界,觉得非常有意思,也比较有道理,想想自己也是这么过来的

1 无意识无能力(不知道自己不知道

这个时候是刚开始接触编程到编程有差不多一年左右的时间,大多数这个时候在大学生涯,年少轻狂,激情四射,学习起来超级有干劲,尤其当自己知道一个个编程法则,写出很自己认为很牛逼的程序,研究过高深的算法,做过几个项目,觉得编程很简单。我当初就是这样的,在大学的时候会用 spring,hibernate,tapestry(貌似这个不是很流行),struts做过两个中型项目,学习过设计模式,部署过ejb,看过soa相关的皮毛知识,觉得自己无敌了,都不知道学习什么了,觉得所有框架都会用了,好牛逼啊,不知道自己学习啥子了。

2 有意识无能力(知道自己不知道)

这个阶段应该是编码超过一年,接触过比较大型的项目,在工作中遇到一些自己无法独立解决的问题。会经常请教一些前辈们。对于编程,知其然,不知其所以然。这个时候大概应该参加工作了,因为工作过程中会遇到很多在校园里面无法遇到的技术问题,比如性能,可用性等等。这个时候没有当初的那种轻狂,开始虚心学习,研究事物的本质。我在刚工作3个月时候,才发现自己水平很菜。虽然会用spring,但是无法领会其精髓。以前做的项目都是自己搭建工程的,而公司有一套标准化的开发,测试,打包,构建工具。开始接触越来越多的技术,遇到很多无法独立解决的问题。这个时候感觉自己的成长很快,慢慢开始走上职业程序员之路。

3 有意识有能力(知道自己知道)

经过有意识无能力的阶段,这个时候,由于自己接触的东西已经非常多,职业水平已经达到一个台阶。经历过几千小时的编码生涯,解决过各种棘手的技术问题,对于遇到的大多数问题都知道其发生的原因以及解决方案。在这个阶段里面,已经是一个很有水平的程序员,能够独立解决自己遇到过的所有问题。我在公司的前几年,正好遇到公司的快速发展,公司的技术架构经历了巨大的变化,从单系统架构到分布式架构,从单系统发展到上百系统,日独立PV从几十W发展到接上亿,每天上亿的交易数据。这个阶段自己在 编码技巧,设计模式,消息中间件,分布式系统设计,领域驱动设计,集群,数据库拆分,架构设计 都有很大提升。基本上能够解决遇到所有的问题。

4 无意识有能力(不知道自己知道)

这个阶段就是融会贯通的时候。如果说第三个阶段是能够解决自己遇到的所有问题,这个阶段就是能够解决他人遇到的但是自己还没有碰到的问题。这个阶段就是抽象思维能力不断提高能够达到的境界。如果说第三个阶段能够解决某一个问题。这个阶段能够解决某一类问题。能够把自己在第三阶段遇到的问题抽象化一类问题,例如如何解决一个系统的性能问题。我最近在做ios相关的开发,自己之前从未学习过objective c,但是因为对java底层实现以及设计模式和mvc设计了解,对cocoa 中UIKit设计图看一下就知道大概是如何实现的了。还有就是目前比较火爆的 函数式编程的高阶函数 和 java中的模板模式与 回调机制有点类似。这就是融汇贯通的结果。目前觉得个人能力已经基本在这个阶段。

ps:看到很多吐槽,其实真的木有必要,你在哪个阶段,是现在的你对于自己的认知情况。随着自己的越来越了解,可能阶段也会发生变化。这个阶段本来就比较主观的。其实程序员最关键的是需要思考,就好比,如果你觉得你真的达到第四个阶段,那你后续还需要提升的是什么?程序员限定的范围是什么?程序员的职责是什么,程序员未来的发展是什么?只有不断的思考,才会脱离这个阶段之争。有一些程序员是可以成为项目经理,有一些程序员可以架构师,有一些程序员可以成为科学家,但是他们不一定真的是编码高手,所以不能狭隘的认为程序员就是coder!

分享到:
评论

相关推荐

    程序员十层境界(很经典)

    每个境界都代表了一个程序员成长的不同阶段,无论是从技术能力还是思维方式上都有着质的飞跃。当然,这十个境界并不是固定不变的,每个人的成长路径都是独一无二的。对于大多数程序员来说,能够达到第五或第六境界就...

    程序员九重境界,看看你到了第几重!

    四、团队协作:随着经验的增长和个人能力的提升,程序员逐渐承担起了更多的责任。他们不仅需要关注个人技术的成长,还要学会与其他成员有效沟通合作,共同推动项目的进展。“突然认识到一个人的力量是多么渺小,一个...

    程序员的八重境界

    通过以上对《程序员的八重境界》的解读,我们可以发现,无论处于哪个阶段,每个程序员都应该清楚自己的定位和目标,并为之不懈努力。更重要的是,每个人都应该找到自己真正热爱的东西,并为之付出努力。在这个过程中...

    程序员分成几种不同的境界

    根据对职业的理解和技能水平,我们可以将程序员分为不同境界,这些境界不仅体现在技术能力上,还包括了项目管理、创新思维、沟通技巧以及个人品质等多个方面。 五流程序员,他们主要关注技术和工具的更新。这一层次...

    程序员的九重境界,看看自己的位置

    - **简介**:在这个阶段,程序员已经具备独立完成项目的能力,并能够承担起整个项目的开发任务。 - **特点**: - 能够独立分析需求并制定开发计划。 - 具备良好的时间管理和项目管理能力。 - 能够独立解决问题,...

    java思想 编程的四个境界

    ### Java思想:编程的四个境界 #### 一、引言:程序员成长的四个阶段 在IT行业中,程序员的成长路径往往被视为一种求知的过程,正如国学大师王国维所描述的成大业者的三种境界。然而,在程序员的世界里,这一过程...

    程序员境界

    综上所述,“程序员境界”不仅仅是指技术水平上的进步,更重要的是思维方式、沟通能力和职业态度等方面的全面提升。只有这样,才能成为一名真正的高手,在这个充满挑战与机遇的行业中持续成长。

    程序员编写程序能力的四种境界

    程序员编写程序的能力可以从四个不同的阶段来划分,这些阶段与心理学中的意识层次相呼应,反映出程序员在技术掌握上的深度和熟练度。以下是对这四个阶段的详细解析: **阶段一:无意识,无能力** 在这个阶段,...

    一个程序员的成长的六个阶段

    第四阶段被认为是程序员职业生涯中的一个重要里程碑。在此阶段,程序员已经能够直接在平台上进行深层次的开发工作,如编写驱动程序或修改操作系统内核。这不仅需要深厚的底层知识,还需要对硬件有一定的了解。这一...

    匠人的百宝箱--单片机C程序员的n层境界

    单片机C程序员的n层境界是一个逐步提高编程能力的过程。从第一层开始,每一层都涵盖了不同的编程技术和思想,旨在帮助程序员逐步提高编程能力,编写出高效、可读、可维护的代码。 第一层:目标代码的长度和执行效率...

    Java程序员上班那点事儿 作者:钟声

    - **修炼的第一层境界**:在这个阶段,求职者可能对职业薪酬有一定的期待,但往往缺乏实际经验和市场行情的认知。 - **修炼的第二层境界**:随着经验的增长和技术的提升,求职者逐渐了解到行业内不同角色和水平...

    java程序员上班那点事

    原名:《Java 程序员要上班!》1 前言8 第一卷生存法则9 第1章知己知彼,百战不殆10 1.1 问题1:这个职业赚钱吗?赚多少钱10 1.1.1 修炼第一层境界:剑指四方,试问天下谁与争锋11 1.1.2 修炼第二层境界:世界如此之...

    写给初学者:Java程序员工作总结.doc

    作者认为,高级程序员需要具备分析设计能力、技术攻关能力和某行业深厚背景。高级程序员需要积极参与项目的前期设计,思考分析问题,学习经验,并能粗略统计出一个功能的开发时间。 四、不要觉得业务代码一样很牛逼...

    2013-7-4程序员工作效率低下11大原因

    ### 程序员工作效率低下11大原因详解 #### 一、工作时不专心 - **开通信软件:** 在工作期间打开QQ、MSDN、淘宝客户端等通信或娱乐软件,容易分散注意力,降低工作效率。古语云:“蟹六跪而二螯,非蛇鳝之穴而无可...

    编程珠玑番外篇-G. 程序员心底的小声音

    作者将程序员分为新手、高手和中手三个层次,并指出,中手程序员通常在积累了大量实践经验或在高手团队中磨练后才能提升至高手阶段。 文章引用王国维的学术三境界来类比编程的三个阶段,强调了实践和团队协作的重要...

    程序员编程艺术第一~二十七章集锦与总结(教你如何编程)(by_July)定稿版

    其内容涵盖了从面试准备到高效编程技术的广泛领域,旨在提升程序员的基础技能和解决问题的能力。 #### 二、核心理念 本书的核心理念在于强调编程不仅仅是一种技能,更是一种艺术形式。通过不断追求更高效的算法和...

Global site tag (gtag.js) - Google Analytics