程序员思维转变

       本以为会经常更新一些技术专项的内容和一些技术经验分享。看样子我也是一个自律能力较差的人。今天想要保留点个人的思想转变以及一些个人总结经验。

序言

       本人程序员一个,工作也快十年左右了,应该算是表资深的程序员了。也见过比较多的同事,也面试过很多从校招到社招不通年龄段的程序员。经过这么多的程序员面试以及一些工作上面遇到事情的处理办法等总结了如下几点转变关键节点:1、专业技术的学习,单打独斗。(初级程序员)2、专业知识的运用,技术更加资深,接触面和深度开始增加,逐步团队作战意识。(中高级程序员)3、技术专精提炼,制定规范。思考问题开始全面技术和管理开始接触横向扩展(架构师和技术经理)4、利他共赢,授人以渔,提升自我。培养团队和利用团队作战,利用跨组织解决问题。开始由务实转变成务虚。(复合型人才,可做产品经理,可做程序开发,可做部门协调人员,可做资深架构师,不在局限一个领域的知识)。

一、专业技术的学习,单打独斗

       经过本人的成长经历和结合面试将近3000左右的人员情况,基本可以确定一般工作三年内都是这种情况。其实也不一定有些岗位或者专业也不用突破这个阶段,应为有些创造性的岗位需要此类人才。针对大部分的普通人来说还是需要跨过这个阶段。毕竟一个人的时间和精力非常有限。专业知识就不说了,基本上我们在读书期间就要不断地学习专业知识。但是如何正确的获取知识不同人可能有不同的办法。目前总结一个比较快速的办法,1、学习专业知识通过书本,重点是书本的大纲和评价,按照内容总结每一本书的核心思想。具体可以通过实操(java可以通过编写代码达到快速验证的目的,有时间的建议上午学习书本知识 ,下午和晚上编写代码。制定有效的计划-包含每日完成多少内容,什么时间点结束,需要掌握做好什么项目。)2、如果是市面上比较新一点的框架或者架构,重点关注文档,提升英文阅读水平(这个虽然很多人觉得没啥用,但是对于想要创新,知道别人不知道的建议多阅读英文文档,而不是翻译后的文档。亲身经历有时候翻译后的文档无法解决,甚至思想和用法都是比较片面不全,刚好歪打正着根本就不是这样的参数配置等问题。)3、利用碎片时间通过视频学习,视频学习的好处就是快速上手但是很难精通。毕竟视频作者的思维也有一定的局限性。尤其是新框架。(建议是购买书籍的视频会比较有质量保证,或者是专门的平台如:慕课等专业网站会靠谱一点点)4、如何快速掌握通过现在专业的网站上面下载开源的代码(如:git,gitee等)。这个阶段其实是打地基,能不能打好基础就在这个阶段,需要去可以培养自己的专业思维。如果能够在大学期间完成最好。毕业后最好不要超过两年。后续只需要保持习惯就行了。

      为什么要突破这种单打独斗的思维呢?其实在工作中往往复杂的系统和工作都是大量的人员协同完成的。进入社会基本无法单独完成一个项目。任何人都不行基本都是要做好分工。如果思维还在单打独斗你会觉得别人做的不好,我自己来做更快更好。别人什么都不是还是我最强的心态。(特别是工作两三年的时候,基本上大部分公司的开发功能你都没有问题的时候,在一家公司又是老员工尤为突出)容易出现你的事情也来越多,但是完全不知道为什么会越来越多的情况。在一家公司待的越久其实你做的事情会不自觉地就越来越多。但是如果你心态不改变其实没有人可以帮助到你,会被一些简单琐碎的事情占用大量的时间。为了自己的提升需要不断学习专业知识,但是工作的杂事也越来越多精力不能集中。所以需要将思维改变。

 二、专业知识运用和团队意识的形成

       专业知识学习到一定地步并不一定在当前公司能够使用到或者能够运用到。是否需要进入下一段工作呢?建议根据个人情况,去大一点的公司,应为大一点的公司可以有更多的资源和投入到研发当中。能够使用的场景也是非常的多,根据个人情况来看需要去大公司学习更多的知识。如果已经在大公司就需要自己找到明确的未来晋升方向架构师方向和管理方向。不管是架构师还是管理方向都需要有团队意识才能真正的达到,应为需要将事情分轻重缓急。不说太高大上的我们重点关注的是个人的成长或者说能给自己带来什么(回想一下上一年和今年是否有变化,如果回想起来只是单独的多做了一个项目那么基本就是原地踏步,很容易被淘汰。别幻想什么去创业可以成功啥的,连最简单的工作都做不好还想当老板除非是家里有矿哟。)。如果是架构师方向就需要关心公司使用到的框架1、框架为什么这样设计,2、框架为什么要制定这样的标准。3、公司的这套框架有哪些利弊。4、公司的架构部署,网络架构,应用架构,采购金额,成本人员配置等为什么是现在的这种情况。如果是管理方向1、为什么需要安排这么多人开发是否合理。2、公司为什么要使用各种考核审查机制目的是什么。3、为什么需要专门的这种开发岗位配置,各自存在的价值取决哪里。4、各种方案,计划,会议,上线,运营,成本等为什么这么分配,这种分配解决了什么问题。优劣在哪里。以上只是举例用于突破困境。

       为什么专业知识过关且有团队意识呢?专业知识是我们程序员的一个自我认可的工具。可以理解为成就感会让我们有更好的精力,更多的专业只是可以让我们更快速的解决项目遇到的问题。更快速敏锐的定位问题。运用专业的知识才能彻底消化知识。特别是不要相信理论上面的数字,理论永远只是理论而已实战才是根本(如:mysql理论可能是2000w左右才需要做分表,但是实际使用涉及到各种不通场景特性等判断是否为2000w分表的意见。)有时候我们学习的东西只有在使用当中才会了解到其中根本的运行逻辑,从而理解设计的优缺点。任何 设计都是针对单一或者多个场景设计,不可能做到通配。通配的设计只能是虚的作为指导,但并不能作为实际方案使用。人都喜欢简单的东西,但是往往设计和灵活使用专业知识是一个非常难得过程。不管什么阶段都需要不停地学习。团队意识,不是说在团队当中干活就是团队意识。需要知道的是整个项目的成败是一个团队的事情。(如:自己的开发完成,别人没有做完什么一直出错等。是否可以提前去了解问题并且解决问题的办法。其实在不断地这种遇到问题解决问题的过程当中才能不断地积累经验。快速成长)团队意识非常稀缺,其实就我经历过的这么多同事来看;其实在这一步已经有很多人停留在这一步很难在有突破。好多都觉得我为什么要做呢?

三、技术专精提炼,制定规范和方法;

       技术其实不管是本专业的技术还是管理的技术,其实都是需要进行提炼。最终形成可以执行的规范和方法。由这一步开始逐步的由务实变成务虚了。这一步其实是需要有比较长的工作经验。比较多的经验积累才能逐步提炼。制定规范是为了解决项目或者团队当中遇到的棘手问题以及降低成本提升效率。使用方法是遇到问题可以通过此类方法灵活解决困难问题等。

      在这一步就会出现分流为架构师和技术经理。往往架构师更多的负责一些技术的标准制定,有意识的提升归纳总结能力,更多更全面的了解最新最前沿的技术思想,更加多的提炼总结技术应用适配场景;如:提炼应用框架技术架构,部署架构等需要输出什么文档,什么内容,以及内容的量化规则。(如:接口响应时间多少s算慢,慢sql多长时间为慢,开发需要遵守的规范文档等标准)。技术经理更加多的工作开始偏向于功能方案设计,开发计划制定,团队成员的士气,团队成员的管理和效能,跨团队沟通将更多的关注到人而不是事上面。(目前我的方向处于这个阶段)两条路线没有优劣根据各自的偏向选择就好。至于说道方法其实我们在解决问题的时候会经常总结一些方法(如:5w2H,高效会议,时间分析发,smart方法等)根据实际情况采用不同的方法。

四、利他共赢,授人以渔,提升自我

       这个阶段其实已经进入到一个全新的领域,目前归结到自我价值实现。可以理解为自身责任和社会责任。这个阶段其实不管是工作还是生活度需要理解。由于个人的成功经验知识根据处理当前事情而做出的反应,或者第六感其实是由于平常学习的技术专业只是和经验形成的一种潜意识,有没有一种办法是能够将这些成功经验复制的呢。那么就涉及到我们需要利他思维的存在。需要在这个过程当中不断提升自我,总结自我的能力。将自己有用的办法和方法总结归纳,并且传授给其他人。当然这一步离我还很遥远。目前也只是看到一个边边角角的现象。就不做深入探讨。

总结

      其实本人也只是工作十年,刚到而立之年,其实最近程序员大环境不好。每个人都压力挺大,缺少了各种反思自己的时间,导致会出现不断地走偏的情况。我不希望自己一直停步不前。希望可以给自己留下一点自己的思想,以便后续自我反思。其实不管是工作还是学习我个人感觉这四步都是蛮有用的,或许未来我的思维还会再次转变。目前是发现这条路或者这些方法比较有用能够给我得到比较好的提升。希望也能给同样有困惑的人,没有方向和目标的大部分普通人。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值