你是哪一级的程序员?

xiaohui 戏称程序员分三级别:

1、入门级程序员:用第三方控件写出一个notepad(记事本);
2、高级程序员:能够不用第三方的控件,自己做出一个 NOTEPAD;
3、真正的程序员:能够做一个让别人掏钱买的 NOTEPAD;

比较一下,我觉得我在高级和入门之间。实在是惭愧,回想自己写程序也有8、9年,别说写个什么卖钱的“notepad”,就连为自己写个软件也没有,一直都在忙着工作的程序,非没有时间,而是没有用心去想,去琢磨。作家呀,艺术家呀都有自己的作品,而我做程序开发的,虽成不了什么“专家”,但好歹也要为自己出一个作品呀,回想起来,真汗颜,真的没有,有的只是没有系统的代码积累。

总结这些年技术经历的问题:
1、基础依然不牢,比如算法和数据结构方面,没有系统的学习和时间。这个问题依然困扰着我。
2、学习不系统。好像懂得不少,但发现没有自己精通的。
3、没有积累和总结。都不记得自己写了多少程序了,才发现没有认真的积累和总结,连自己写的代码都到处放(想找的时候巨麻烦),没有系统的收集。
4、是低水平的编程工匠,离真正的构架师还差很远。这恐怕是最严重的问题。

以上问题都是不紧急但非常重要的问题。今年一定要有个完善的计划,来逐步解决。

另外,还有个想法,把“为自己写一个软件”作为一个今年的计划,去认真的实践。

延伸阅读:一个程序员的成长的六个阶段

第一阶段

此阶段主要是能熟练地使用某种语言。这就相当于练武中的套路和架式这些表面的东西。

第二阶段

此阶段能精通基于某种平台的接口(例如我们现在常用的Win 32的API函数)以及所对应语言的自身的库函数。到达这个阶段后,也就相当于可以进行真实散打对练了,可以真正地在实践中做些应用。

第三阶段

此阶段能深入地了解某个平台系统的底层,已经具有了初级的内功的能力,也就是“手中有剑,心中无剑”。

第四阶级

此阶段能直接在平台上进行比较深层次的开发。基本上,能达到这个层次就可以说是进入了高层次。这时进入了高级内功的修炼。比如能进行VxD或操作系统的内核的修改。

这时已经不再有语言的束缚,语言只是一种工具,即使要用自己不会的语言进行开发,也只是简单地熟悉一下,就手到擒来,完全不像是第一阶段的时候学习语言的那种情况。一般来说,从第三阶段过渡到第四阶段是比较困难的。为什么会难呢?这就是因为很多人的思想变不过来。

第五阶级

此阶段就已经不再局限于简单的技术上的问题了,而是能从全局上把握和设计一个比较大的系统体系结构,从内核到外层界面。可以说是“手中无剑,心中有剑”。到了这个阶段以后,能对市面上的任何软件进行剖析,并能按自己的要求进行设计,就算是MS Word这样的大型软件,只要有充足的时间,也一定会设计出来。

第六阶级

此阶段也是最高的境界,达到“无招胜有招”。这时候,任何问题就纯粹变成了一个思路的问题,不是用什么代码就能表示的。也就是“手中无剑,心中也无剑”。

此时,对于练功的人来说,他已不用再去学什么少林拳,只是在旁看一下少林拳的对战,就能把此拳拿来就用。这就是真正的大师级的人物。这时,Win 32或Linux在你眼里是没有什么差别的。

每一个阶段再向上发展时都要按一定的方法。第一、第二个阶段通过自学就可以完成,只要多用心去研究,耐心地去学习。

要想从第二个阶段过渡到第三个阶段,就要有一个好的学习环境。例如有一个高手带领或公司里有一个好的练手环境。经过二、三年的积累就能达到第三个阶段。但是,有些人到达第三个阶段后,常常就很难有境界上的突破了。他们这时会产生一种观念,认为软件无非如此,认为自己已无所不能。其实,这时如果遇到大的或难些的软件,他们往往还是无从下手。

现在我们国家大部分程序员都是在第二、三级之间。他们大多都是通过自学成才的,不过这样的程序员一般在软件公司也能独当一面,完成一些软件的模块。

但是,也还有一大堆处在第一阶段的程序员,他们一般就能玩玩VB,做程序时,去找一堆控件集成一个软件。

本文地址:http://www.watch-life.net/life-thinking/write-soft-for-me.html



微信扫描下方的二维码阅读本文

你是哪一级的程序员?》有一个想法

  1. wzz

    谢谢大哥的话语,对于我这种初级的初级的程序员来说真的是太有帮助了,谢谢你让我自己找到了方向!!!

    回复

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注