聊聊程序员的成长

    

    最近公司开会的时候聊到了程序员的成长是怎样一个过程,每个人的见解都不太一样,这里我就说说站在我自己的角度,我对程序员的成长过程是怎么看的。

    在我个人看来,因为不同时期每个人所处于的层次不一样,所以每个阶段认识都会不一样。可能因为我是计算机专业的,从大学开始就一直接触的软件开发这个行业,之后实习乃至工作到现在都是一直在写代码,算起来前前后后写了将近7年的代码,大约花了两年时间写服务器端语言,包括c,c++,java,android,php等,之后到现在的近5年时间都是在做前端开发,说起来也是一个前后端都算有接触的开发者吧!说完了这些废话,现在就言归正传,说说我个人站在现在的角度,是怎么理解程序员成长阶段的。    在做技术阶段,我个人想的是分成4个阶段,大约就是初级,中级,高级,以及资深;
    那么如何划分这四个阶段呢,个人见解就是如下:
    初级阶段,这个阶段大部分就是大部分同学刚进入软件开发行业开始做码农的阶段,这个阶段的同学基本就是只了解单方面的或者单语言的基本开发技术,知道基本的语言的语法和简单的函数调用,开发上也只能做一些简单的功能开发,遇到一点技术方面的小问题就去百度,然后从别人的网页上copy来相应的代码,经过一番调试,卧槽,成功了,就算是任务开发完成了,对代码规范也没有个人的理解和要求,这个阶段的同学做的事情也大部分就是帮主研发的技术人员做一下打杂的事情,但是这个阶段的同学一般都是成长最快的(当然也是因为自身的起点低);
    中级阶段,进入到这个阶段的同学,懂得良好的编码规范的作用,在编码的过程中知道怎么去做封装和逻辑规整,方便之后更快的进行方法调用,此外,最终要的一点就是具备了一定的独立思考问题和解决问题的能力,遇到问题会先思考用自己现有具备的能力能否解决,如果不能解决也是会去专门的程序员博客或论坛寻找答案,而不是简单的百度,找到答案之后会自己加以理解然后整理成自己需要的方法调用;工作之余,会花时间整理自己所掌握的新的技术知识,对自己不懂的开发语言本身的一些底层实现去寻找见解,有些善于记录的同学就开启自己的博客之旅了,一是分享自己的一些见解和收集技术方面的各种问题解决方案,二是可以督促自己不断的在技术方向前进,学习更多技术知识;
    高级阶段,进入到这个阶段就不能叫同学了,一般至少工作了3到5年时间,算是是一个编码老手了;这个阶段的开发人员一定不只局限于一种语言的使用了,一般至少了解了3种以上的编程语言,而且至少精通了2种语言的开发使用,基本上可以说是一个全栈工程师了;而且随着对编程语言精髓的交接深入,他们开始越来越多的去了解算法和web开发框架的底层实现,甚至有些已经加入了开源框架的开发协作,去贡献自己的代码,觉得那才是自己的追求;再工作层面,如果这些人有一定的团队管理和项目管理能力的话,可能会成长为团队leader或者project manager了,当然这要看公司的规模和开发人员所表现出来的能力而定的;
    资深阶段,这个阶段的开发人员一般至少有10年左右的开发经验了,能hold住常见的所有的前后端疑难杂症,这时候语言对他们来说真的就是一种工具而已了,因为他们已经得到了编程的精髓,至于用什么语言实现,纯靠他们的个人兴趣;这个阶段开发人员可以说是可遇而不可求了人才了,是各大互联网公司要获取的对象,而且基本上也不参与业务层次的开发了,他们要么成为架构师,要么成为团队管理者甚至CTO,编码对他们来说,只是一种业余爱好罢了;

    以上,就是我对程序员的成长过程的一种见解吧!也不一定符合所有人的意愿,单纯就是站在个人角度的一些看法。有些同学可能会问资深之后的成长呢?我觉得资深之后就不是成长了,而是沉淀,酒还是陈的好,大概就是意思吧!


猜你喜欢

转载自blog.csdn.net/playboyanta123/article/details/79796809