这几天又在重操旧业,准备带一个外包项目,作PM。项目不大,面试了几家外包公司,真是颇有感触。
不敢说摆资格,但将近十年的程序员生涯,一路走来,还是想给这些初初入世的程序员一些建议。
1.编码是基础,不要忘本追管理,切记浮躁心态。
转向管理这个我不反对,也是一个不错的发展方向。但是最近的面试,大都2到3年就当项目经理。一问技术,连普通的程序员都不如,给我解释是好久没有编码了,忘光了。其实,我始终有一个感觉,如果你是学技术出身的,你技术跟不上,肯定管不好,至少无法服众,这个是很现实的。是,程序员是苦,是累,但是既然走过,就要把这个基础打扎实了。管理是不错的名号,不过也是表面的现象,看看PMP吧。没有经过足够的磨练,是不可能把东西管好的。倒反,急于带上管理者的帽子,过几年你会发现,实际没什么长进。大的工程管不来,技术也都丢光了,高不成低不就,不知能做啥。
2.向设计发展,多学学面向对象的设计方法
程序员,大家都直接的任务是coding了。如果把软件行业比作建筑,那么coding应该就是最底层的工地工人干的活。而设计,应该类比建筑行业的画图纸的人。
确实,纯粹的coding在我看来,不过就是一种打字运动,不用花费太多的脑力,中专人员都可以赶这些活。但作为一个程序员,总应该跨越这个限制。把做好一个设计,作为自己的一个目标。
面向对象,这个东西太抽象了,我不好解释。这是一个设计的思想,甚至可以认为一个哲学。思路和理念甚至和生活、做人、处世都有相通的地方。掌握他,你的境界就会提升。
领悟这个东西不好说,可能是一瞬间的事情。但是在这之前,我建议看看《设计模式》,再此之上,模仿着模式,自己动手。再就,平时接到工程项目时,设计多往设计模式上靠。多思考,为何这里可以这样用,有什么好处。多思考,逐步逐步脱离“模式”。这样,逐步逐步,面向对象的思路,就会在心中逐步形成。
回头再强调一下,程序员,就不要老停留在coding阶段。这次面试了好几个人,甚至有一个77年的。回过头来,连UML都看不懂,连类和类之间有多少种关系都搞不清楚。这样的程序员,也就只能coding,除了coding还只能是coding。
3.不要僵化。
这也是容易在某个程度上难以突破的地方。简单的说,就是太过教条化。把《设计模式》当圣经,把面向对象里面的什么扩展性什么重用性当作设计目的。
是的,软件设计有很多规则,但只是建议,不是公式。软件业,还没有成熟到象建筑一样,有相关定律可寻,有公式可算。
设计无“黑白”这我始终认为的。设计领域,没有所谓的对错。因此也没有一成不变的定律。所有所谓大师总结出来的规律,要应用,也要看具体情况。我们所要了解的,是这些个大师为何提出这样的规律。而不是把这些的规律本身,硬生生的搬到我们的设计上。为设计而设计,那么设计就会成为实现的负担!
实际上这也是因果识别的一个过程。大师门提出的内容,往往不是事务的本质,而是现象。我们找到其原因,抓住其本质。实际上,我们自然而然的就会遵守他们提出来的意见了。
然而因果,何谓因,何谓果。往往不被人发现。举个例子:人们常说“明师出高徒”,明师是因,高徒是果。但我却觉得反之。明师出高徒,这是果。高徒择明师才是因。
想想挺快,眨眼功夫工作就要第九个年头了,这几年积累了些经验。不过,很难表达,希望这些能对某些人有些启发。
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
给程序员提的9点建议.docx给程序员提的9点建议.docx给程序员提的9点建议.docx给程序员提的9点建议.docx给程序员提的9点建议.docx给程序员提的9点建议.docx给程序员提的9点建议.docx
老程序员给年轻人的建议和忠告 老程序员的共识 给程序员的20条建议
给程序员的建议.pdf
给年轻程序员的建议偶尔的,我会被人问道:如何成为一名优秀的程序员,更或者,如何成为一名程序员。每次人们问起,我都力图给出不同的答案。因此,我的答案是各种各样的。下面就是我认为的成为一名优秀的程序员需要...
今天看到一篇文章,深有感触,贴出来跟大家分享一下
本文将给出程序员及嵌入式的一些学习建议
某高级程序员的几点建议 来源:Java学习技术论坛 日期: 2006-08-14 我始终认为,对一个初学者来说,IT界的技术风潮是不可以追赶的,而且也没有能力去追赶。我时常看见自己的DDMM们把课本扔了,去卖些价格不菲...
给所有入门程序员的建议(1)--句句是诤言.wps
让我有感触的是这两年的坚持学习,在迎合公司的发展的前提下,有自己的学习时间,基于此给新入坑的程序员一点建议。 学习方向 我们知道编程从诞生到现在已经出现了几个阶段: 面向机器编程:早期的软件编程需要...
末位淘汰制怕不怕!亲历大公司是如何考核员工的__在职程序员聊聊绩效考核,给小伙伴们一些建议
网上收集的编程体会,很有感触。解释什么叫编程,指正现在人对学计算机误区,提出学好编程的方法
要想学好Java,首先要知道Java的大致分类。我们知道,自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。...
解释一下出色的职业生涯是什么样的,之后给程序员的15个顶级职业建议。
一个程序员对学弟学妹建议
老程序员送给北大青鸟毕业的一些忠告和建议
给想要开发Android应用的程序员十个建议,已经做android开发的同志们也可以看看。
摘录自51CTO.com,文章就程序员的生涯发表了一些想法,从成为一个程序员需要具备的东西到成长成为一个真正的程序员,以及关于程序员的职业发展等等做出了一些较好的建议。
程序人生--一个程序员对学弟学妹建议 程序人生--一个程序员对学弟学妹建议 程序人生--一个程序员对学弟学妹建议