秒速时时彩网址_为什么很多程序员没有升级到架构师?

  • 时间:
  • 浏览:0

    对一点人 程序员来说,发展的途径要么是走管理岗,从开发升级到项目经理甚至是部门经理;要么走技术升级路线。不过在技术路线方面,无法升级到架构师的程序员都没有少数。一方面,在不少公司的高级开发岗位上,无法让程序员实践甚至接触到架构师的技能,我每个人面,有不少程序员甚至不清楚架构师所须要掌握的技能和升级途径。所以从结果上来看,至少 有5成的程序员止步于“高级开发”的程度,这是非常令人可惜的。

    我这几年老会 努力地从高级开发升级到架构师,目前觉得职位上没达到,但好歹十几次 才能干些架构师方面的活了。在本文里,将结合我自身和其它一点程序员的经历,分析不少程序员无法升级到架构师的普遍愿因,由此向一点人 展示从高级开发升级到架构师的难点,并在此基础上给出相关的升级建议。

1 所以程序员在日常工作里无法接触到架构师的技能

    大多数的程序员能在工作中接触到高级开发的技术,所以从初级开发升级到高级开发,难度不不大,但架构师就不同了。

    比如在外包公司里,程序员大多是做重复劳动,业务变了,但用到的技术还是增完整版查。可能在一点规模比较小的公司,项目组出于成本和质量监控的考虑,所以必会让程序员从事架构方面的工作。哪怕在一点技术含量比较高的互联网公司,出于业务封装的深度1,一点高并发高可用的实现往往被封装进去去办法 里,程序员仅仅是通过调用办法 实现功能,不不能在代码层面,显式地看到架构方面的技能。

    接触不到相关技能,单靠看视频看资料积累起来的技能,在面试过程中往往会不堪一击,从而无法应聘架构师的岗位,这反过来制约了程序员向架构师发展的脚步。  

    我有就让在面试高级开发的就让,会深入问些架构方面的大问提,比如我问,一点人 系统里,模块间的通讯用的是那先 组件 ,不少高级开发甚至是一头雾水,可能在一点人 眼里,更多的是调用办法 实现功能。

2 不少程序员往往会深挖单机版的技能

    所以工作中得过且过的程序员,在实现的功能通过测试就让,或许就无所事事了,因此同类于于程序员都没有少数,在小公司或外包公司里,同类于于程序员往往会更多,说实现的,一点人 的竞争力和从培训班里出来的程序员没那先 两样,或许就更熟悉业务背景。

    可能一点程序员觉得上进,因此深挖单机版的技术细节,比如我问String对象的== 和equals办法 有那先 差别,可能,JVM虚拟机调优有那先 实践要点,此类回答一点人 会回答非常到位。这就有要是要比纯粹会写代码的程序员要好,但此类技能顶了天不到算高级开发的技能。可能在升级时过度追求这方面的技能,无异于缘木求鱼。 

3 列举架构师平须要干的活,觉得和高级开发有差距

   上文是从客观和主观一十几次 方面,讲述了架构师升级的难处,在讲述升级办法 前,一点人 先来看下架构师究竟要干那先 活,以此来明确努力的方向。

   1 须要搭建高可用的框架,比如就拿最简单的搭建数据库服务来说,得考虑可能一台MySQL服务器宕了,要怎样保证业务切换到另外一台机器上。

   2 须要考虑高并发的因素,从你这个点展开,架构师至少 须要会用nginx,mycat,netty,redis同类于的工具,以及考虑搭建实现负载均衡的集群。

   3 须要把设计好的架构部署上线,可能哪怕上线动作是由运维来做,但架构师至少 要知道要怎样把nginx集群等组件部署上线的活,由此架构师须要了解须要的linux命令和脚本,以及了解jenkins同类于的部署工具。

   4 上述技能就有简单会用即可,可能在开发部署和运行过程中由大问提,架构师得负责正确处理。这就要求架构师不到仅仅靠看视频知道要怎样搭建系统,更得具备针对netty等组件的debug能力,还得能通过看日志,知道集群的运作情形,可能集群出了大问提,还得知道要怎样快速正确处理。

    5 不到仅仅关注技术,更得结合业务,把诸如抢红包同类于的需求通过架构实现,这就要求架构师得知道各种组件的优劣,以此能选型并设计方案。

    从上述对架构师的需求来看,从高级开发升级到架构师真难,也在情理中了。

4 从运维入手,熟悉架构师的入门技能

    升级到架构师真难,但绝非可能,对于高级开发而言,从运维入手,或许能熟悉架构师的技能。

     1 比如先从ant脚本,jenkins脚本和linux shell脚本入手,能知道系统的部署办法 ,以及熟悉必备的linux调试技能。

     2 通过观察nginx或dubbo或zookeeper配置文件,了解各组件的运作办法 ,才能通过那先 了解高并发高可用系统里负载均衡和失效转移等配置办法 。

     3 都须要观察线上相关的日志,了解系统部署的情形,以及从架构层面了解诸多组件间的关联。

     在上述步骤里提到的脚本和日志,在平时工作中倘若上点心,应该都须要看到,可能一点人 都须要和运维人员多交流请教,上述组件部署和配置的知识所以我难知道。在你这个过程中,暂时没涉及“修改配置”和“搭建组件”等技能,毕竟这属于熟悉阶段。

5 多正确处理实际大问提,了解组件的关键配置,并了解组件的底层代码

    程序员在熟悉基本的部署和架构方面的技能就让, 就都须要参与正确处理一点实际的大问提了。在公司里,测试和上线阶段跳出的大问提不到算少,其中也会饱含所以和架构相关的大问提,比如kafka没配好,愿因消息积压,可能dubbo超时时间配置过长,愿因调用链路超时失效,可能再如redis超时时间过长,愿因OOM异常。同类于大问提的种类五花八门,不到想不到的,真难可能跳出的。

    就让就让结速,程序员都须要跟在资深人员就让查大问提,可能找到大问提后,再手动复盘一下,学习架构师分析和正确处理大问提的入手点,一来二去,一定能熟悉组件的配置,并了解组件的底层代码,更能熟悉配置各种框架组件的实施方案。

    你这个阶段依然属于“见习”,但至少 能从实践深度1,掌握架构师所需的技能。对比我每个人通过看视频,以闭门造车的办法 积累架构师的技能,通过上述步骤得到的相关经验来源于实际,无疑值钱得多。 

6 必要时,得通过跳槽,争取架构师的实践可能

    觉得在小公司甚至是外包公司里,就有可能了解甚至实践上文提到的架构师相关技能。程序员通过上述步骤掌握架构师的相关技能后,可能加进去去以实践可能,就能快一点 成为名副觉得的架构师。

    你这个实践可能在大公司里真难找,但在小公司里或许就越多了,不过所以我要紧,这时可能再出去面试架构师的岗位,基本上就没那先 难度了。一点人 来看下架构师的面试大问提。

    1 要怎样部署nginx(或其它组件),从而实现高可用?

    2 Redis集群里,容灾一般是为什么做的?

    3 Kafka消息队列里,要怎样实现消息重复?要怎样确保消息不被重复消费?

    4 可能是问底层的大问提,比如说下netty里的读写索引工作办法 。

    可能在目前阶段,一点人 不不能回答好上述大问提,但一旦在运维层面了解过组件的搭建办法 ,可能通过排查实际大问提了解过组件的运作和交互办法 ,再专研下相关底层代码,哪怕没越多的架构师实践经验,此类大问提所以我难回答。

    或许一十几次 没越多实践经验的架构师,在公司里日子会真难过,都须要会让领导和组员感觉实践经验存在问题,但大多数架构师也就有通过实践一点点积累相关经验的,在你这个阶段里,可能再肯多听多看到大问提,升级到资深架构,就指日可待了。 

7 总结,升级到架构师后,会有更多的可能

    觉得对于一点人 做IT的人来说,升级到架构师不与否唯一的发展途径,但就有每我每个人都适合搞管理。可能走的是技术加成路线说说,从架构师到技术专家,或许是四根绳子 比较至少 的发展途径。

     对于高级开发而言,或许真有50岁或35岁大问提,毕竟高级开发所需的技能很容易被毕业生或培训生掌握,年纪一大了就没竞争优势了,但正是可能升级到架构师就有真难容易,到35岁时,或许还有竞争的能力。

    因此,一旦升级到架构师,退则都须要找个小公司做技术负责人,以求小富即安,从而不不像高龄码农那样被淘汰;进则都须要再到大厂里去磨练一番,因此再通过各种途径拓展影响力,真难真就都须要说成为技术大牛了。反之,可能止步于高级开发,觉得才能通过跳槽提升工资,但格局始终无法像架构师那样开阔了。

版权说明:

    可能要转载本文,请先征得我每个人同意。