程序员成长的点线面

Posted flystarfly

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序员成长的点线面相关的知识,希望对你有一定的参考价值。

作为一名已经很老的程序员中的菜鸟,是的,过了这么多年还是菜鸟。比起大厂的程序员来说技术上毫无优势,甚至都没做过大并发量的项目,一直在各种技术要求不高的公司里面混,是不是很失败?

然而毕竟也做了这么些年了,经历过了许多公司,被面试和面试过了许多人,也接触了不同性格的各种程序员,可以说对这个行业有一定的了解。

程序员是一个入门容易,精通很难,而天花板特别高的行业,可以说并不是一个适合大多数人的理想职业,并不是很多人想象中只要通过培训机构学了几个月就能精通,就能直接拿到高薪。

万物形态都能归于点线面,程序员这个行业也是如此,点线面可以概况程序员的职业进阶生涯,也可以给想入行的广大未来的IT大佬们一点参考。

从入门开始作为初级程序员,公司要求做的肯定是各种功能点,就像业内的流行语 “增删改查”,做的就是最基础的体力劳动,在架构师写好的框架的技术上不同的添砖加瓦,程序员经常自嘲的“码农”就来自于此。但是如果仅仅只是满足于此,或者只是会这些肯定是不够的。即使能够保障自己写的程序代码不出错,但是跟其他功能点之间的交互就会有问题,甚至可能会影响整个模块的正常运行。本人就经常遇到一些初级程序员写代码的时候不问清楚过程,给任务就直接开始写,最后不停的被提BUG,修改BUG,改BUG的过程中还产生了更多的BUG,最后搞的自己也疲惫不堪又不知道问题出在哪里。

中级程序员的水平,技术上也许并不用提升太多,但是在写程序的时候必须能独立负责一个模块,清楚整个模块各个功能点之间的调用关系。自己的功能模块和别的功能模块的交互情况。充分理解需求的情况下要理解背后的逻辑关系,做到自己写的模块心中有数,必然清楚整个调用链。和初级程序员最大的区别就是着眼点不在只是关注自己的功能点,而是要能够用线把功能点串起来。

想要继续提升到高级程序员的技术水平,至少要能对自己负责的系统的功能点,模块和整体架构都有一定的了解和把握,要有能够指点初级和中级程序员的技术,对于系统有一个比较全面的考虑。在接到项目需求的时候要明白哪些很快可以开发的,哪些是需要一定的工作量,对于需求中的难点有自己的考量,既要有深度也要有广度,由线编织成了面。

以上是关于程序员成长的点线面的主要内容,如果未能解决你的问题,请参考以下文章

作为字节跳动的一名 Android 程序员,谈谈工作一年之中的成长与收获(附上面经整理)

金九银十目前最全的Java架构师成长路线

初入开发组--一个程序员的成长史(16)

吹爆这份HTTP顶级教程,论程序员成长的正确姿势

程序员的成长之路

单片机成长之路(51基础篇) - 017 C51中data,idata,xdata,pdata的区别(转)