程序员成长的三个阶段,一个Android高级程序员的成长历程

初级程序员阶段,并不是指刚开始从事编程工作的入门级程序员。而是可以出色完成 leader 安排的开发任务,具有独立排查问题能力,态度积极,乐于迎接挑战的程序员。在这个阶段最重要的是自我学习能力。有的人很幸运,刚一入门就有师傅带,但是好的师傅一定是倾向于先让你通过自己的能力来尝试解决问题,只在关键的时候给你指引方向。我曾经看到有程序员在带新人的时候,每当新人搞不定的时候,总是自己直接上场搞定,这样最终的结果是把自己搞的很累,新人也没成长起来。初级程序员的自我学习能力不仅要包括技术上的学习,还要包括沟通能力,业务能力方面的学习。这些也是为了以后进阶打下基础。总体上大部分程序员 1-2 年都可以达到初级程序员的阶段。随着技术能力与工作经验的提升,一部分人会成长到中级程序员。

中级程序员

=================================================================

自我学习能力:★★★★☆

专业技术能力:★★★☆☆

资源协调能力:★★★☆☆

中级程序员的标准是:独立负责完整的业务,具有架构设计的能力。熟悉业务全链路,并且有能力指导新人。这个阶段的程序员经常可以想出更好的技术方案来解决业务问题,可以轻松解决别人排查很久的问题。这就是技术能力的体现。

拿一个我自己的例子来说,几年前我在支付宝工作的时候负责 Web 容器的开发工作,当时 12306 火车票正在全面接入支付宝 Web 容器,接入之后发现应用冷启的性能一直不好,希望我们协助优化。当时我只花了一个下午时间,就在 12306 接入的基础上设计了懒加载优化,成功把冷启动速度减少 1 秒以上。这个优化没有给我带来任何绩效上的加分,但是却让几亿使用 12306 客户端买票的用户能更快的打开应用。为什么我可以这么快的解决问题呢?首先是技术能力过关,对业务(Web 容器)的深入理解可以让我快速定位问题。另外通过我平时不断的学习各种性能优化思路,才可以这么快的给出解决方案。所以在自我学习+专业技术提升的不断强化下,基本上可以顺利的成为一名中级程序员。

另外这个阶段对资源协调能力也会有一些要求,包括对产品,后端或者合作方的反向推动能力,初级程序员一般是完成产品或者是 leader 安排的任务。但是中级程序员已经可以把开发节奏基本掌握在自己手里,对业务各个链路的流程都比较清楚。会在业务发展的过程中比别人提出更好的设计方案,并且协调好整个团队的资源完成落地。

高级程序员

=================================================================

自我学习能力:★★★★★

专业技术能力:★★★★★

资源协调能力:★★★★★

高级程序员是一线程序员能达到的最高水平,在这个阶段三种能力都已经修炼到了极致。他通常拥有很强的自我学习能力,不畏惧新技术,了解多种编程语言与多个领域的专业知识,有非常好的技术前瞻性。同时专业技术能力过硬,通常是处理那些最紧急与最棘手问题的人。并且可以很好的协调公司内外部的资源,在进行项目推进时,可以游刃有余的协调资源与进度。成为项目中最关键的人物之一。高级程序员在技术选型以及工程实现上,会将业务发展与开发效率结合在一起。通常会在满足当下需求的前提下,预判未来业务的迭代方向,从而更好的设计目前的代码。往往在产品经理提出新的需求时,他的回答会是:“这个我们在代码设计的时候已经考虑到了,可以很快支持”。

相信很多程序员都有过这样的体验,从零开始开发一个项目的时候,在最初几个版本觉得架构设计合理,代码编写规范。但是随着业务越来越复杂,迭代速度越来越快后,代码变的异常复杂且难以维护。通常这样下去的后果就是没有人敢再动旧代码,最终整个项目成为一座垃圾山,而且还要不停的往山上运送新的垃圾,同时祈祷垃圾山不发生坍塌。导致这种结果我觉得主要有两个原因。第一是最早设计的架构没有很好的考虑对长期复杂业务的支撑,比如拓展性,可维护性。第二点则是在迭代的过程中,对代码质量,设计方案的要求不高,导致项目架构被破坏。最终随着烂代码的侵蚀,整个项目越来越难以维护。通常高级程序员的参与可以避免这种情况的发生或者通过重构将这种局面改善。

以上就是我自己对程序员成长阶段的理解。很多人看完可能会说:你说的我都明白,但是我该怎么成长为中高级程序员呢?这是一个很好的问题,我觉得这里面有自身的努力,也有运气,有坚持,也需要有贵人(好老板,好同事)指导。

欢迎大家关注我,后面的更新更多关于程序员如何成长的文章,感谢支持!

最后

==============================================================

在这里还分享一份收录整理的Android学习PDF+架构视频+面试文档+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料

这些都是我现在闲暇时还会反复翻阅的精品资料。里面对近几年的大厂面试高频知识点都有详细的讲解。相信可以有效地帮助大家掌握知识、理解原理,帮助大家在面试季取到一份不错的答卷。

当然,你也可以拿去查漏补缺,提升自身的竞争力。

有需要的话,可以直接 点击这里快速免费获取

总结

最后小编想说:不论以后选择什么方向发展,目前重要的是把Android方面的技术学好,毕竟其实对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!

这里附上我整理的几十套腾讯、字节跳动,京东,小米,头条、阿里、美团等公司19年的Android面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

由于篇幅有限,这里以图片的形式给大家展示一小部分。

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

技术进阶之路很漫长,一起共勉吧~
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

  • 14
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一个大学生从牛c到牛b的过程。 天已经七分黑了,屋里却还没开灯。这个全身黑衣服的男子突然像想起什么,从包里掏出烟,抽出一只,递给旁边的人:“兄弟,抽烟么?”――那烟是红塔山。 旁边那人连忙一边摆手,一边说:“不,不。”语气有点紧张,好像那黑衣服递过来的不是烟,是海洛因。 这个黑衣服的男子,后来的网名叫“绝影”。他旁边那个,后来被他们称为“土匪”。这件屋子,就是他们大学寝室。 第一天到学校,其实没有一点新鲜的感觉。绝影的舅舅和舅妈就在这里教书,早在这学校还不叫“大学”的时候,绝影已经在学校足球场学骑自行车了。 要说念大学,最忌讳的就是在自己家门口念。哪怕你就住北大院子,也一定要去清华。土匪觉得这学校不错,不光是土匪觉得不错,看就业形势,也的确不错。但是绝影就一肚子憋屈。 其实这间寝室和别的寝室也没什么特别,也就四张床四张电脑桌。电脑桌当然有,但是电脑就要自己往上面放。既然没有电脑,那要电脑着有什么用呢?还占着地方。唯一不同的是寝室里的一个人――和别的不一样,这间寝室有个不属于这个班的人――他叫王江。 王江他特别,不仅因为他不是这班的,还因为他吹的牛皮很特别。 大一晚上谈什么?当然是谈高考。 于是王江就叹息:哎呀,差一分呐。 土匪附和道:哎呀,就差那么五分。 王江:老天无眼,把我弄到这么个学校来。 土匪:凑合吧,四年后考研,又是条好汉。 王江:不行,我要让我老爸再想想办法。 。。。。。。。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值