掌握的越多,程序员的薪资越高
对于大多数的程序员,想要尽快进阶至架构师,可以从以下三个阶段来努力。
第一阶段:代码没有思维
三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人。
这一阶段,大部分人刚刚走出校园,迈入社会,成为一名程序员,正式从书本上的内容迈向真正的企业级开发。
我们知道如何团队协作、如何使用项目管理工具、项目版本如何控制、我们写的代码如何测试如何在线上运行等等,积累了一定的开发经验,也对代码有了一定深入的认识,是一个比较纯粹的Coder的阶段。
一个比较明显的分水岭就是初学人员在用计算机的思维写代码,而有一部分人精益求精,开始在用艺术的思维写代码,比如我接触到一个朋友在群里问的问题:
?
如果你认为这是一个初学人员常见的一个问题,而我是认为很多人染上了江湖恶习或者梁山好汉的臭气一样,一者是喜欢在代码里耍酷,二者是随意随性,只管实现了功能了事。
所以一个程序员是否能继续深入到第二个阶段,需要的是系统地知识和阅读优秀代码的能力,比如数据结构、Linux系统、各种组件(如Redis、MySQL、Zookeeper),了解了应用程序如何调用周边系统的接口,以及学习了一点周边系统一般的抽象方法。
第二阶段:不够深入
五年又是区分程序员的第二个门槛。有些人在三年里,除了完成工作,在空余时间基本不会研究别的东西, 热衷于研究各种技术实现细节、看了N多好书,但是大多都是人云亦云,没有技术的鉴别能力,没有深度的思考能力。
比如出去面试的时候:
面试官:熟悉TCP不?
程序员:熟悉!
【PS心理活动】嘿嘿!我这几天在偷偷看了TCP的三次握手四次挥手。
面试官:TCP的TIME_WAIT状态是怎么回事,如何解决?
程序员:TIME_WAIT,我记得书上是这么说的……
【PS心理活动】妈呀,都不按套路出牌啊,手心开始有汉,浑身开始不舒服......
面试官:你们这个游戏面临高并发时,网络IO处理的模型是怎么设计的?
【PS心理活动】没有深入了解TCP也没有关系,可能业务不涉及,问点跟项目相关的。
程序员:哦,我们当时采用多线程的设计,每个线程负责一个连接的socket,而且用了缓存队列。
【PS心理活动】终于问了我熟悉点的,这个项目的主程跟我关系好,给我讲解了他的代码。
面试官:嗯,那你还熟悉其它的IO模型不?
程序员:我们那个项目够用了,没有尝试过其它模型了。
这就是典型的菜鸟,你要说他菜他一定不服你,甚至口水战就要来了。
还有一类人以为会一些设计模式就是架构设计,可当你提起系统性能、业务可扩展性、系统一致性时,似乎也听见过一些设计,但是当写起代码来全然不顾,然后又一堆的Bug解都没有办法解。
从一个Coder逐步走向系统分析师或是架构师,成为项目组中不可或缺的人物,系统的学习必不可少!
第三阶段:十年
十年又是另一个门槛了,转行或是继续做一名程序员就在这个节点上。
如果在前几年就抱定不转行的思路并且为之努力的话,那么在十年的这个节点上,有些人必然成长为一名对行业有着深入认识、对技术有着深入认识、能从零开始对一个产品进行分析的程序员,这样的人在公司基本担任的都是技术专家、首席架构师等最关键的职位。
架构师应该具备的技能
以下列举的技能,如果你掌握得越多,那么你的架构设计能力就更强。
■ 源码分析专题 ■ 分布式架构 ■ 集群架构专题 ■ Linux系统 ■ 工程化专题 ■ 性能调优
当真正开始学习的时候难免不知道从哪入手,学习时频繁踩坑,导致效率低下影响继续学习的信心,最终浪费大量时间。
为了让学习变得轻松、高效!今天成都软件开发培训班给大家免费分享一套教学资源,帮助大家在成为架构师的道路上披荆斩棘。
不管是刚入门的小白,还是才高八斗的资深开发、架构,你都需要从这里开始:对于来说小白可以快速提升,对于资深开发人群可以加分!
相关文章
-
出去千万别说UI和美工是一个职业,千万别暴露你的缺点哦
文章来源:老铁商城2019-10-31 -
我优化多年的 C 语言竟然被 80行Haskell 打败了?
文章来源:老铁商城2019-10-20 -
当程序员遇到中秋节,会产生怎样的化学反应......
文章来源:老铁商城2019-09-18 -
淘宝、京东这些网站的哪个部分用了web前端技术?你能学会吗?
文章来源:老铁商城2019-09-18 -
Linux和哪些行业有关?2019Linux运维必备哪些技能?
文章来源:老铁商城2019-09-18 -
公认最具影响力的4种编程语言!平均薪资20K,Java第一
文章来源:老铁商城2019-09-18 -
PYPL 9 月编程排行榜:Python第一,继续称霸!就业薪资怎么样?
文章来源:老铁商城2019-09-18