做了6年有余的程序员,没有真正想过程序员该做什么的问题,作为项目管理者带了一年多的团队和项目之后,从项目管理和保证项目按计划进行的角度,开始促使我零零碎碎的思考一些有关问题。最开始只是发呆的时候在电脑上打开一个记事本随手写下些能想到的点点滴滴,点点滴滴逐渐汇集起来后我发现它们其实可以归纳成几个方面的问题,剪切调整一番就成了这篇文章的一个雏形,昨天原发公司内部自由论坛,今天略做修改在博客园抛砖,希望和同行们讨论。
作为程序员,我认为我自己该做到或者做好下面这些事:
一、具有基本的兴趣和强烈的责任心
人在江湖最痛苦的事莫过于身不由己,人在职场最痛苦的事莫过于对做的工作没有一点点兴趣。如果迫于生计和大学几年的既成教育事实,没有转行的勇气或目标,那还是应该培养一些对编程工作最起码的兴趣。
责任心也很重要。
每个程序员,包括高程和系分,在专业上都是从不会到会,从不熟悉到熟悉,一步一步走过来,技术可以学习,工作能力可以提升,兴趣和责任心有一个最基本的好处——可以缩短这个过程。
人在江湖最痛苦的事莫过于身不由己,人在职场最痛苦的事莫过于对做的工作没有一点点兴趣。如果迫于生计和大学几年的既成教育事实,没有转行的勇气或目标,那还是应该培养一些对编程工作最起码的兴趣。
责任心也很重要。
每个程序员,包括高程和系分,在专业上都是从不会到会,从不熟悉到熟悉,一步一步走过来,技术可以学习,工作能力可以提升,兴趣和责任心有一个最基本的好处——可以缩短这个过程。
二、随时明确工作目标
关于工作目标,一个形象的比喻就是:一场不知道终点的比赛,不知该如何结束。不过,即使每个程序员都明白这个道理,但是真的就做到了吗?想想这几个问题:
1、项目组的工作目标是什么?
2、项目有几个阶段?每个阶段的目标是什么?
3、我的工作在项目中处于什么位置?
4、本月我的工作目标是什么?
5、本周我的工作目标是什么?
6、今天我的工作目标是什么?
坦白的说,在刚毕业的很长一段时间,上面的问题我一个都没有考虑过,从不考虑自己的工作在项目中是什么环节、什么阶段、重要程度。毕业半年时间,总是出差,我很长时间都认定我的工作目标就是出差,以至于现在回过头来印象最深刻的还是出差,不同的是现在我明白,当初的认识让我错过了一些重要的东西。
项目组由于各种原因一直加班很多,平时加,周末加。我发现,如果周末加班只是单纯的延续周五的工作,效率不高,而且大家情绪低落,如果简单的在加班开始前告诉每个人,今天加班,你做了什么达到什么目标就可以自行离开,不用管其他人和时间的时候,效率会有明显的提升。其实,我不过是明确了一下每个人当天的工作目标。
回到问题本身,能思考到上面列出的全部问题并得出肯定的结论,才能说是基本明确了工作目标。其实,要思考的问题还应该远不止这些,诸如:
今年我的工作目标是什么?
2年内我的工作目标是什么?
……
回想大学的教育,无论什么专业,开始的第一年一定是大量的基础课程。无论是功夫片还是武侠小说,进入江湖各门各派,开始武学之路的一定还是基本功。甚至,就连追女朋友,也要先做足准备工作。
计算机发展到现在,集成度很高的编译开发环境和面向对象的编程语言,已经带领编程人员进入了一个傻瓜工具和编码蓝领的时代,这对应用和业务是好事,但专业门槛降低对程序员未必见得就是一件真正的好事。工作中因为一开始就大量脱离底层的东西导致程序员对程序和计算机本身的理解急剧下降,代码逻辑混乱、程序效率低下非常常见,一个把C#、java使用得非常熟练的人员,恐怕对声明变量和声明静态变量的异同不见得能说清子丑寅卯。
不会编程的人也能编程,这正是IT技术发展要的结果,但是不会编程的人也能编出让不会编程的人也能编程的工具吗?——所以,IT业,我相信始终还是需要一些会编程的人来编程。
关于工作目标,一个形象的比喻就是:一场不知道终点的比赛,不知该如何结束。不过,即使每个程序员都明白这个道理,但是真的就做到了吗?想想这几个问题:
1、项目组的工作目标是什么?
2、项目有几个阶段?每个阶段的目标是什么?
3、我的工作在项目中处于什么位置?
4、本月我的工作目标是什么?
5、本周我的工作目标是什么?
6、今天我的工作目标是什么?
坦白的说,在刚毕业的很长一段时间,上面的问题我一个都没有考虑过,从不考虑自己的工作在项目中是什么环节、什么阶段、重要程度。毕业半年时间,总是出差,我很长时间都认定我的工作目标就是出差,以至于现在回过头来印象最深刻的还是出差,不同的是现在我明白,当初的认识让我错过了一些重要的东西。
项目组由于各种原因一直加班很多,平时加,周末加。我发现,如果周末加班只是单纯的延续周五的工作,效率不高,而且大家情绪低落,如果简单的在加班开始前告诉每个人,今天加班,你做了什么达到什么目标就可以自行离开,不用管其他人和时间的时候,效率会有明显的提升。其实,我不过是明确了一下每个人当天的工作目标。
回到问题本身,能思考到上面列出的全部问题并得出肯定的结论,才能说是基本明确了工作目标。其实,要思考的问题还应该远不止这些,诸如:
今年我的工作目标是什么?
2年内我的工作目标是什么?
……
三、打好扎实的专业功底
练拳不练功,到老一场空。
练拳不练腿,到老冒失鬼。
练拳不练腰,终究艺不高。
练拳不练功,到老一场空。
练拳不练腿,到老冒失鬼。
练拳不练腰,终究艺不高。
回想大学的教育,无论什么专业,开始的第一年一定是大量的基础课程。无论是功夫片还是武侠小说,进入江湖各门各派,开始武学之路的一定还是基本功。甚至,就连追女朋友,也要先做足准备工作。
计算机发展到现在,集成度很高的编译开发环境和面向对象的编程语言,已经带领编程人员进入了一个傻瓜工具和编码蓝领的时代,这对应用和业务是好事,但专业门槛降低对程序员未必见得就是一件真正的好事。工作中因为一开始就大量脱离底层的东西导致程序员对程序和计算机本身的理解急剧下降,代码逻辑混乱、程序效率低下非常常见,一个把C#、java使用得非常熟练的人员,恐怕对声明变量和声明静态变量的异同不见得能说清子丑寅卯。
不会编程的人也能编程,这正是IT技术发展要的结果,但是不会编程的人也能编出让不会编程的人也能编程的工具吗?——所以,IT业,我相信始终还是需要一些会编程的人来编程。