程序员的困惑与心情(转贴)

关于前进的困惑!当初的激情现在已经没有了,我该怎么办?

记得刚毕业时,满腔激情,一天14个小时的投入到工作中,满以为只要干得好,就有发展。但看着直辖我的领导升官后,又提拔了另一比我资格老的同事来做项目经理,我还是原地不动,我开始怀疑“干的好就一定有发展”这种理念。公司又招了一些很有经验的系统分析师,扬言不再招本科生,果然招了两个研究生。
    
我越发觉得没有发展的机会了。论资历和技术,这么多人在我之上;论学历,还有这些新来的研究生。我算什么,所以至今还是在原地,没有什么提高,就是按要求干活而已。
    
因为自己的口才不是很好,不会和领导处关系,所以我觉得自己还是往技术上发展吧。所以我也主动看书学习j2ee技术。但现在我又困惑了,技术是学不完的,学来学去,不还是一样干活吗?
    
比如,昨天以前我不会taglib编程,今天看看书,就明白了;昨天我不会EJB,今天看看书,也明白了。无非都是按照给定的接口和类实现或者继承。要说针对这些东西编程,真是一点问题没有。但会了又怎样,还不是干活。又比如,Log4j弄得很精,以前还引以为豪,现在想想,那算什么呀,不就是一个开源的东西吗?会了又怎样?别人不会的又怎样?还有很多开源的我也不会呀,不过那也没什么,没去主动搞会而已,只要想和花时间,就能弄明白。但明白了又能怎么样,还不是照样干活。而且,每个人分的模块不同,自然“学术有专攻”,如此而已。
    
那么究竟应该怎样做呢?我现在很困惑,已经没有学习的激情了,因为我看不到学会一样东西后给我带来的质的飞跃。当然我也知道量变到质变,但我写的代码已经很多很多了,我觉得继续写代码已经没有什么提高,没有什么兴趣。
    
我学设计模式,领导也这么说。但也说这个东西是要在编程中体会的。但他培养起来的那个项目经理,根本就没写过我那么多的代码,对设计模式也没有太多的钻研。所以我就想不通。还有,我前面的一个技术牛人,跟我一样上班时间看着同一本书《Java与模式》。我问过他,之前他也没怎么研究过。所以我突然觉得,我是不是又走入歧途了。不是对每个技术牛人,设计模式都是必经之路。那我为什么要学这个呢。难道学了只为了再继续写更多的代码在其中去“体会”吗?那个技术牛人写代码不如我(不是吹牛),有时还要请教我。但他厉害在对系统架构方面的设计。我很佩服这个,我也想拥有系统架构设计方面的能力,但又不知该如何做。我现在很困惑,就是因为我一直走的是渐进式道路,而且看不到未来。而我周围的成功人士。却几乎都不是这样过来的,甚至如上所说,他们可能还在补学设计模式。我想,这是不是机会的原因。那个被培养的项目经理,也没写过多少代码,当然沟通能力比较强。
    
所以我困惑,我该怎样做。难道我就一直这样为技术牛人和项目经理们写代码吗?我觉得自己更像一个人梯。技术牛人搞了个架构分析,然后东西就给我做了,当然我还是要详细设计的,只不过没有正式的文档了(完成后补);项目经理安排进度,充当工头的角色,每天都要“监督”我干活。我觉得缺少乐趣,我不甘心这种现状。
    
我想可能自身有些问题,但我觉得自己最重要的问题可能在于不会与领导处好关系。我也不知道这样想对不对,反正这种想法只会令自己更难受。
    
    
    
看我写了这么多,兄弟们看过一定要留点建议。无论你们是鼓励我批评我,我都乐于接受,更希望大家能给我实质性的建议和帮助。谢谢了!


==========
做軟件不是只看編碼如何如何,關鍵在于整體。
 你的編碼能力很強了,就應該去研究分析或者管理,多多吸取那些新的觀念,克服自己的弱點,多說話,多交流,多表現,埋頭是沒有多大用處的。

说说我这几年来的心得:

设计架构非要多做代码多做项目不可.
从量变到质变,切切!!!!!!!!!!
否则架构只是纸上谈兵!

我的建议是多写共享,
规模大约是一个软件100000行.
写十个八个的话,
什么文档,什么代码规范,什么代码优化,
什么接口规范,什么模块化...
自然而然都能够做到考虑到了.

这十个共享写完后,能够达到的目标是:
1.完全明白做代码之前写流程图的重要性,
  流程图不再是一纸空谈,所有代码都按流程图设计.
  所有没有想到的新问题都先改流程图再做代码.
2.完全明白自己只要没开公司就是个真真实实的代码工人,
  不再东想西想.
3.完全明白一星期能写出来的东西要两星期修改两星期测试.

我想这样的话不管你看没看过什么管理类的破书,
都有资格升职了.


自学能力很强的“技术牛人”

觉得工作没意思就去考研吧,能让你有重生的感觉。
    
拉车要看路,学会和人交往才能更好的生活。

建议看点哲学的东西可能会超脱一点,因为弥补思想上的困惑的时候,要么哲学,要么宗教。但是宗教对于搞技术的人有点不适合,那就看点哲学吧,换换脑子,会发现很多东西原来不是自己想的那样的。

买几本经典的励志书看看,或许能获得激情。

    

关键在于自己的心态。
有没有想过,自己适合干什么,自己喜欢干什么,这个社会允许我干什么?
还是你的价值观有问题。
建议你学习围棋,学会洒脱和豁达

关于技术、管理和职位,怎么说呢,我自己也拿捏不准。从我的性格来看,我觉得更适合做技术一些,而且从小到大我也没做过班级的管理人员。从高中学pasic,c开始,我就有一种强烈的以技术引以为豪的思想,这可能也和家庭环境有关。父母都是普通的劳动者,我觉得我没有从他们身上学到多少关系学和管理学。我坚信的是自己的努力。在湖北,这种努力就意味着在残酷的竞争中考上大学。家长们碰面问的话通常都是你家小孩学习怎样啊这类的话。我觉得什么都可以接受,就是不能接受学习成绩不好。高考报志愿时,所有的专业全是计算机相关的,我觉得这就是我的追求、我的兴趣。我的志向便是一名值得骄傲的软件人才。于是我学pasic,c,c++,java,Delphi,当时不知道除了编程外还有什么,除了技术外还有什么。但后来逐渐知道了。大学中,同寝室的有些成绩很不好,但很能混,会说话,一个个老师被他们搞定,考试也及格了。我开始怀疑。走上工作岗位这几年,我越来越觉得会干不如会混。我不知道这种想法是不是很堕落,也很不愿意这样想。但明显的能者多劳和一种被利用的感觉挥之不去。我能够习惯于整天整天编程的寂寞,但不能习惯于一种不透明的压抑的空气。

对于职称,我觉得更是身不由己。在国外,编程人员和设计人员和管理人员是基本没有等级区别的,更多的只是工种区别。但我们国家,我相信我这样一直编程到40岁,绝不会成为一名编程大师(可能不到40就被裁了)。因为中国没有编程大师,或者说在中国这是个贬义词。在中国,我不得不接受设计高于编程、编程高于测试,而管理人员最高的这样一个事实。所以,我觉得我不得不重视职称和岗位,因为那是与工资待遇、荣誉挂钩的。所以我开始讨厌自己程序员的身份,我想努力的成为一名设计人员。我不愿意我的那个领导重复他那句话:“我们都想好了,你实现起来,应该没什么的了”。这句话有一年多了,但我却至今深深的印在脑海里;我无法接受,但不得不接受。有时候我觉得我可能小题大做了,曾经搞过团队的培训,团队的目标是至高无上的。但我个人的不快乐也是不可能欺骗自己的。公司给我工资,团队给了我什么,给了我任务,给了我要求。基本没有开过会,任务像非典一样通过口头传播,随时可能找上我。
    
记得团队培训后,最高领导的一句名人名言是这样的:“光做不说等于没做”。我想我从小到大都是反过来理解的,我承认我不会表现,但这样的说法无论如何不能接受。
    以上是一些个人感想。


现在的软件已经不再是技术的问题了,随着各种技术、框架的出现,我们的编程技术正在逐步衰退,现在的很多项目不过是在使用别人的技术的基础上搭建起来的,比如我们使用J2EE,STRUTS,SQLMAP等等框架技术本身是个技术含量很高的东东,它简化了编程的也降低了我们的编程能力,要想真正体现编程技术能力那你就去做C做汇编开发那才是技术,J2EE技术不就是调用别人提供给你的接口,谁看了都会。既然谁都能会,那为什么有些人是项目经理有些人只能是编程工人呢,我想这就要跟工作经验有关,别人只相信工作经验,除非你很突出那就另当别论了;还有相关的就业务的熟悉程度,当然你的交际能力强拍对了领导的马屁你也能飞黄腾达。所以目前的软件行业技术重要但不是最重要的,会一点J2EE什么技术并不难,难的是让人相信你不至会还能用的很好,能够设计出很好的系统架构来,这才是关键


补充一点,
社会是人组成的,技术是为人服务的。不会和人打交道,那么技术毫无意义。
人要有大志,写程序最终是为了改善人群的生活状态。如果只是局限于眼前的事务,那么每天用Java语言写一段程序对人群丝毫没有好处,还不如当街道干部去调解邻里纠纷,每天解决一件事开心2家人。话说回来,真让你去调解纠纷,没点生活经验你还真干不了。
总之做什么事都要主动,看好的技术要主动学习,看好的公司要主动跳槽,看好的朋友要主动联系,看好的MM要主动搭讪。那种“他技术没我好,老板却让他干这个”的负面想法毫无意义,技术好只是一个参考条件,并不是充要条件。

很多人说跳槽,其实如果不锻炼自己,让自己拥有更多的实力跳到哪里都是一样。

中國企業目前普遍有個很大缺點,官本位,總認為搞管理的要比搞技術的強,所以搞管理的職位和工資比搞技術要高很多。在國外企業中,技術和管理是兩條路線,兩條都能很好的向上發展,也分別有對應的職位和工資,並不存在哪個更好的問題。


你可能感兴趣的:(Tips(持续整理中...),编程,设计模式,工作,delphi,log4j,struts)