【职业发展类】程序员职业生涯的四重境界,你处于哪一重?

导师:James
咕泡学院CEO,10年行业经验,7年互联网工作经验,曾就职于惠普、大众点评、互联网金融行业。三年面试官经验,有丰富的教学和实战经验。

程序员职场小白如何规划未来?

丸子:导师,我刚工作还不到半年,现在在一家小公司每天CRUD,感觉学校里学的东西在实际工作中能用到的地方并不多,想打破这种现状该做些什么努力?

James:其实程序员的职业生涯可以简单的划分成四个阶段,你才工作半年,有些知识确实有点匮乏,今天我就给你介绍一下程序员的整个职业生涯,希望你能够从中获得一些感悟。

01第一重境界:不知道自己不知道

这个境界一般都是刚实习或者就业1-3年的程序员,一句话概括就是初生牛犊不怕虎,它可以从很多方面反映出来。首先,在简历中到处都是熟悉Java、熟练Spring、精通安卓操作系统。

如果你认真审视自己,发现自己其实并不是很精通或者熟练某些技能与知识,那一定不要盲目的去写,要实事求是。刚刚进入职场的人要有自己学习方式、学习方法和专注力,其实这个阶段的程序员不需要什么都会,但是要会的明白

其次,这种阶段的人面试的时候会有一个非常大的问题,如果面试官提了一个他不会的问题,他会把自己脑海里面认为牛逼的技术全都说一遍:有可能是这个原因吧,有可能是因为那样吧,又有可能是这个吧。说完就表达出一个意思:我觉得应该有一个回答是对的,老师你就看着挑。

以上行为就反映出这类程序员的知识没有梳理得很清晰、很完善。他们在这个阶段应该具备的能力是逐渐把他的知识体系梳理得非常清晰和完善。作为一个工作1到3年左右的程序员,把自身的技术基础夯实起来是成长起来的一个非常重要的方向。

02第二重境界:知道自己不知道

就业3-5年的程序员大部分处于这一境界。什么叫知道自己不知道?就是至少知道这个技术我不懂,这个技术我不明白,知道天外有天,人外有人。他们在经过几年工作的历练之后,已经逐渐知道有哪些知识是重要但自己还没掌握的,知道自己不知道的话怎么办呢?那就一定要去完善自身的知识体系。

拿Java举例的话,首先要完善JAVA的基础强化。JAVA基础不仅包括反射基础、泛型基础、集合类源码分析、注解原理,还有网络IO、JVM、高并发、正则表达式、Linux基础,由于所有Serve的都是Linux操作系统,因此Linux也是非常重要的一个基础点。此外也不能忽视软件设计,关于这方面,就要接触一些设计原则和设计模式。

有了以上的基础之后,就可以开始了解Spring了,如果要出去找一份相对别人来说自身更有竞争力的工作的话,在这个阶段就需要有一定的面试经验、一定的使用经验,例如:Spring、Security、Quartz、Lombok、Swagger、Shiro、源码、Spring Boot等等**。拥有这些技能之后,你的能力相对在同级别来说会更加的突出**。Spring Boot是基于Spring的一个管理整体配置、简化配置的非常好的工具。如果要出去找一份不错的工作,以上列举的基础是必须要去夯实的。

丸子:如果看得懂代码但是自己却写不出来,只知道copy代码怎么办呢?

James:其实刚开始copy代码没有问题,关键是一定要动手。在企业当中,git是用来同步代码的。git你能明白嘛?git是用来干嘛的知道吗?

丸子:了解。

James:那你来跟我讲讲什么是git,如果这是面试的话,你能把git讲清楚,那这也是一个能力的体现。

丸子:版本控制工具。

James:那什么是版本控制工具呢?控制了什么版本?

丸子:控制了代码的版本。

James:那代码的版本为什么要控制?

丸子:有可能会修改更新。

James:对,那为什么要一个工具来控制呢?我们为什么要做版本控制?其实是因为我们要去做一个团队协作,一个公司不是一个人组成的,它是多个人组成的,所以他需要一个团队协作。

比如说我们在给我们的学员来讲课的时候,我们会讲到这个:公司产品从开发到最后的整个流程,专业术语叫做git-flow。大家回答问题先回答原理再回答细节,不要上来就整细节,整了细节到时候整错了也不好。讲这个是想告诉大家:我们在学习过程中要知道自己不知道。

03第三重境界:知道自己知道

这个境界一般都是就业5-10年的程序员了。他们在相关领域的知识技能已经掌握得差不多了。以前我有一个大学教授给我说了一句话让我记住了一辈子。一个人的认知就像一个圆周,当你知道的越多这个圆就会越大,这个圆越大你会发现你的接触面积会越大,接触面积越大你才知道自己知道哪些知道哪些不知道,你的知识才会不断扩大,当你知道的越多,你会知道你不知道的也越多

04第四重境界:不知道自己知道

能达到这一阶段的程序员就真的很不错了,通常都是有着10年以上的程序员经历了。武林当中有句话叫手中无剑,心中有剑。比如学习设计模式,我经常跟我们架构师班的学员讲,我们学设计模式要学到什么样的程度呢?要学到最后学忘了,这不是字面意思的真正忘了。而是学到最后真的学忘了,忘了是什么呢?就是所有的设计模式都在我这,但是我又不知道有什么设计模式,可是我写出来代码却都是模式。这个就叫做不知道自己知道。

所以我们大部分程序员可能停留在知道自己不知道和知道自己知道这两个层面,因此大家要不断努力地往上走,达到一个不知道自己知道的这这境界,在这个上升的过程中就需要非常多的历练!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值