从出道以来,就一直和程序打交道,现在看看我写的代码还挺多的: C, JAVA, C#, ASP, PHP, RUBY, PYTHON, SHELL等等,有些都快想不起来了。现在虽然已经抛开了这些代码的工作,但是还是偶尔要敲敲键盘写写程序,就比如现在的这个Swan。回首自己走过的程序道路,忽然有些话想对将要踏进或者正在努力中的程序员们说。
1. 多则乱,少则精:
这个道理很简单,但是很多人都做不好,总想学的越多越好,所以什么都想学,什么都想涉足。这个本身没有错,多学总是好的,但是每个人时间都有限,从事一门技术从入门到精通需要大量的时间和精力,这往往是以年为单位的,反过来想想程序员的生命周期有多长?最多3-10年吧,超过10年你就已经OUT了...在这有限的时间里,你学了很多技术很多语言,但是却很难真正的了解一样,难道这不算悲剧?我们把完全精通掌握一门技术比作100的话,在你的程序生涯中,至少要有2个以上的技术你需要超过70。所以,不需要的就先放一边,不要顾此失彼,你应该知道你最需要最重要的是什么。这一点很重要,也是最优先的条件,我把它放在第一条。
2. 技术是手段,不是目的:
很多程序员会陷入这样一个误区,在项目的开发过程中总是会在具体技术实现上花费大量的时间,而且乐此不疲,从而缺乏总体的把控,导致项目的超时或者质量问题。这是每个入门程序员的通病,你越是热衷于编程,就越容易陷入这个误区。解决这个问题的办法还真不好说,但是首先你必须要有大局观,要有高度,你要知道技术是实现目的的一个手段,你可以用很多技术和方法实现同样的目的,那么请选择最快最好的那个,而不必把时间浪费在和某一个方法死磕。
3. 明确自己在做什么:
做到以上两点,说明你已经入门了,接下来就是自我的锻炼了。当你在敲代码的时候,每输入一行都要有明确的目的,要想着自己在做什么,切记不要在大脑一片混乱的时候写代码。然后我们再把这一点引伸到整个项目上,其实也是一样的,创建每一个文件每一个类都要有明确的目的,一个项目不需要没用的代码,更不需要为没用的代码浪费时间。同时,做到这一点之后,你会发现整个项目的可控性大大加强了,每一个文件你都知道他的用处,每一个流程都有很强的目的性,这样是不是很舒服?
4. 出路:
上面的3点基本就是一个程序员最值得骄傲的特点了,如果你已经具备,那么你可以说是一个高级程序员了。绝大部分人走到这一步,大约已经快过程序员生命周期了,你可能写的代码越来越少,你可能会独立构架一个大型项目,你可能已经从程序员这个头衔中走了出来。恭喜你成功了,这时候你的薪资可能上了五位数,你可能坐在宽敞的独立办公室,你可能带领着一帮和你当时一样的程序员,做着和你当时一样的事情。
x. 脱离技术的束缚:
当然也有人不愿意抛弃程序员的头衔,那么接下来是什么?当然路无止境,程序的道路也是一样的。这个时候你要学会思考,程序来源于需求,需求来源于生活,那么可以这么说,程序就是来源于生活。程序里每一行代码都在做着数学运算;程序的每一次文字输出都需要你的语言组织能力;程序的界面无时无刻的在考验你的美术功底;复杂的行业算法需要你的各种知识(物理,积分,三角等等...)。这些往往与人的环境和先天条件所决定,所以在高级程序员之后有着一道很高的门槛,能越过这道门槛的人实在寥寥无几。这时候你需要脱离语言和技术的束缚,让程序溶于生活。当这一切都变得得心应手了,你不会再去考虑用哪门语言或者技术去做一个项目,你的每一行代码都是经典,你的每一个程序都是艺术品。
后话:
这些是我前几年作为程序员所得出的一些感慨,当然我现在已经不再从事程序方面的工作。但是写程序就像画画一样,是一种从无到有的艺术,在空闲的时候我还是会敲几行代码玩玩,大家也能发现我的代码都有着很明显的个人特点,这也许算是程序员自我意识的另一个表现吧...
献给各位程序员
- Announce
-
Swan不支持IE6及其以下版本浏览器!
( 为什么... )
- Archives
- August 2010
- June 2010
- May 2010
- April 2010
- July 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- September 2008
- August 2008
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- October 2006
- September 2006
- August 2006
- July 2006
- June 2006
- May 2006
2 Comments
写的好,技术只是手段,不是目的。要想真正把一个项目做好,程序员的思维就得上升到一个高度。
程序只是程序员考虑的事情……
写的很好,程序的最终目的还是去满足需求,不过也是很难调节的一点,在企业内部也经常有这样的问题,Business person不懂得技术,他们只知道提出各种要求,而IT guy又是觉得是无理取闹,这点明显的反应在了企业内部的ERP实施上,每一个ERP实施都是吵出来。。。