`
labile
  • 浏览: 43144 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

程序员的弱点

 
阅读更多
首先我得声名一下,我工作的时间不算长。本文的观点,只针对我本人与我所认识的个别人。
1       以前的教育方式,影响了软件业的创新
我们中的大多数人是一步一脚印地从小学,初中,高中。最后,高高兴兴地读上了自己梦寐以求的大学专业。我们,可以在二十年的应试教育中一关一关地闯过,实属难得。我个人觉得,这十二年,我都在委屈求存。得到的是一纸文凭,失去的,是与生俱来的不拘一格,自由创新的思想。一个金刚圈,套在头上几十年,还能脱下吗?
 
2       知识面广,想学的东西多
很多技术人把计算机技术当成时装一样,喜欢追赶最In,最流行的技术。这是人的天性,本无可非议。对于衣服,可以天天换上新的,只要你有钱。但技术则不同。每项技术从学习Hello world到学会运用到精通到成为大师,是需要时间的
 
对于大多数软件开发技术,在未被学习者精通以前,时尚的聚光灯已经离开它了。不过我觉得,让我不能从Hello world走到精通程度的原因不在此。在于学习目标与过程。我可以用半个星期时间泡完一本《Thinking in C++》但从未在实际软件开发过程中运用到C++。
 
可以学的技术那么多,行业又要求技术人的知识面那么广。“蜻蜓点水”式的学习是没办法中的办法。不过要记住,如果你明知道你要学的东西将会运用到工作中,请对你的用户,你的工资,你的职业道德负责。我也记不清楚有多少次,我在浏览个别同事的代码时,心里先是愤怒,再是可惜,最后是麻木。我们在自己放弃自己的事业啊!
 
我们的事业成于网络,也可能败于网络。你已经习惯遇到问题马上Google之。纵里寻她千“百度”。最后,你可能在某论坛帖子或某邮件列表上看到一段代码,一条SQL,一个设置选项。拿来一试,啊,问题解决啦。你高兴异常。情事到这就完了。至于为什么行了,你不知道,也没兴趣知道。这种态度用于生活,是无可非议的。但用于工作,特别是技术工作,就不行。一个程序员如果连自己写的代码将会怎么运行也不清楚,那是件很可怕的事情。我希望这种人快点晋升,这样我们可以小点求神拜佛,项目也可以小点“闹鬼”。
 
我身边的软件人总喜欢说“软件设计”“设计模式”“UML”“建模”。这些思想,充分地体现在文档中。但我发觉,文档永远不是让程序员看的,是让客户看的。有时我们的高级设计师甚至可以实现惊人的“代码与设计文档解耦”。
 
UML永远只用于文档,是让验收人看的。日常交流或会议中,说到程序中的流程或业务中的过程。技术人甚至我们的架构师,要么手舞足蹈地从口头直接说出,好点的,要么就是在白板上随意地画个示意图。下属在下面听,上司在上面讲。上司在指手划脚,下面的人在点头称是。其实,有很多情况把你的想法用一个草图画出来,或用一个UML图画出来,别人会更容易理解你的伟大构思。
 
3       技术人,请你在上司前不要只说“YES”,在客户前少点说“NO”
很多时候,我讨厌开会。我觉得,大多数会议,特别是技术人的会议,根本不能叫会议。叫广播或传达上级精神才比较合适。这又要归功于我们的教育模式了。从小,我们就为会议下了这样的隐性定义:会议就是来听上级讲话。出头鸟永远是让人枪打的。
 
如果,我们的设计师与PM们是神,是大师,我们程序员的确可以只作听众。但现实通常不是这样。我们的设计师/PM,不但不是大师,而且学了一大堆新潮的,听起来很美的技术或设计模式,他也乐于往项目中生搬硬套。我们底层的程序员,是要去实现功能的。很多时候,你清楚这样做只会让你的程序看起来像女人的裹脚布,又长又臭。但面对上面的设计师那运帱帷幄的自满的笑容,你选择了沉默。没法子,年终奖的评定还得靠他啊。

4       技术人,请你不要太中庸
我发觉包括我在内的很多程序员,喜欢把“应该”“好像”“大概”这些词常挂在嘴边。我觉得,我们是时候想一想,为什么我们总要用这些词。为什么我们对自己的作品如此的没信心?
 
软件编写技术的进步,让程序员可以站在更高的抽象层去编写代码。我们觉得自己已经可以不去了解,或者是少点理解下层的技术细节了。与此同时,你开始对自己的代码在非常情况下是如何运行的一无所知。结果“应该”“好像”“大概”这些词就被你常挂在嘴边。这也成了你逃避学习技术细节的理由。
 
JavaEE项目开发中,我完全感觉到不了解下层技术的危险。你应该遇到过:
l         由ClassLoader引发的问题:ClassNotFoundException。你常说闹什么鬼?我明明把那Jar文件放对地方了
l         我不知道听过多少人说:用Java,从来不用担心内存管理
l         我不知道听过多少Java代码,从来不在finally{}中关闭Input/OutputStream。有的甚至根本没有关闭IO流。他根本不去考虑异常出现时,代码会是如何地跳转的。
5       很多人对自己的工作不感兴趣
5.1    很少人把技术当是一种艺术或文化,没有人会在茶余饭后谈论技术人,技术事
我常在想,为什么我们的开源软件,创新软件这么少。为什么别人可以组成一个社区,一个团队,其中有人可以无私地贡献。
 
其实,他们的贡献不是完全无私的。他得到的,是社区,社会的认同。他们把技术当作一种文化甚至艺术。技术就在这种氛围中得到传播,创新思想也在这氛围中得到抨击,擦出火花。
 
有一件事让我感到失落。我身边的程序员,更喜欢谈论股市,而不是技术。
5.2    社会的大环境、人们的价值观,直接影响到技术人
我们不笨,或者说,是机灵过头了。很多人喜欢投机取巧,或吃公家饭。君不见公务员考试挤爆了头。开源社区门可罗雀。
6       结语
期望以上的看法只是鼠目寸光,中国股市一片红,让程序员不再为生活而忧;还有,我的老板或上司没看到这篇文章。
分享到:
评论
8 楼 fuwang 2007-08-10  
我也深有同感,我遇见过的程序员、项目经理中几乎没有愿意研究技术的,做得稀烂的东西也让客户去用。
7 楼 zhangfeiyu2005 2007-06-07  
我做了2年了,对楼主所说的深有同感!
6 楼 akane 2007-06-07  
很系统的提出疑问,我喜欢
5 楼 抛出异常的爱 2007-06-07  
刑天战士 写道
这么大的标题看着好别扭阿……


PS:换新工作了,压力好大,同事都在工作,没人上网……
干活去!少来灌水。。。。
4 楼 刑天战士 2007-06-07  
这么大的标题看着好别扭阿……


PS:换新工作了,压力好大,同事都在工作,没人上网……
3 楼 ray_linn 2007-06-07  
写得好啊~~
2 楼 ddandyy 2007-06-07  
又一个用XXX做主语的

最搞的是居然是一个并不太了解的人说出来的.........

现在的人啊...............
1 楼 抛出异常的爱 2007-06-07  
引用

1       以前的教育方式,影响了软件业的创新
2       知识面广,想学的东西多
3       技术人,请你在上司前不要只说“YES”,在客户前少点说“NO”
4       技术人,请你不要太中庸
5       很多人对自己的工作不感兴趣

A FQ :
1.教育碍你什么事了?人才不会由于教育的普及而变多。。人才!=大学生。
2动嘴总比动手要快的多。道理不一定是行为标准。
3现实是高程们总是用沉默来反抗暴力。。。
4高程不是神。。。PM不是,架构师也不是。。。。
5吃上饭再说其它的。。。。
6股市一片菜色。。。。
你的老板看到文章会加你薪水让你尝尝什么叫管理别人的苦。

相关推荐

    一个老程序员的心里话

    6. **心理素质提升**:克服工程师常有的心理弱点,如多疑、犹豫不决等,培养自信、果断和适应市场的能力。 7. **提前布局**:建立个人工作环境,进行实践操作,为创业或合作积累资源和经验。 8. **自我推销**:...

    程序员的思维修炼 PDF

    通过反思,他们可以识别自己的弱点并加以改进;通过分享,他们可以与他人交流思想,共同成长。 此外,书中可能还涵盖了如何提高代码可读性和可维护性的策略。编写清晰、简洁的代码是优秀程序员的基本素养,这涉及到...

    08-2019软考程序员真题及答案.zip

    学习这些内容,考生可以进行模拟测试,找出自己的弱点,有针对性地进行复习。同时,通过研究真题和答案,可以了解考试的出题风格,预测可能的考试趋势,从而提高应试能力。对于编程初学者来说,这些真题也能帮助他们...

    软考程序员2004-2010真题

    同时,持续关注上传的答案,将有助于考生查漏补缺,了解自己的弱点并针对性地加强学习。 总结来说,《软考程序员2004-2010真题》是一份宝贵的复习资料,它涵盖了程序员所需的核心技术,并且通过历年真题的练习,...

    Java程序员应如何做职业规划?.docx

    4.弱点克服: Java 程序员应该了解自己的弱点,努力克服它们,不让它们成为职业发展的绊脚石。 成功的职业规划需要 Java 程序员具备以下要素: 1.明确的职业目标: Java 程序员需要明确自己的职业目标,知道自己想...

    软考程序员历年真题解析.zip

    《软考程序员历年真题解析....通过《软考程序员历年真题解析》这样的资源,考生可以有针对性地复习,发现自己的弱点并加以改进,提高通过考试的可能性。同时,不断学习和实践,才能真正提升自己的编程能力和技术水平。

    程序员心理学

    10. 目标与规划:设定生活目标,有计划地行动,认识到人性的弱点,但相信真爱。依赖自己,保持希望,阅读和健康饮食都是提升生活质量的方式。 11. 朋友圈与支持:结交志同道合的朋友,尤其是女性程序员,找到可以...

    程序员 考试大纲 07 08 09 真题试卷(含有答案)

    通过这些真题的解答,考生可以发现自己的弱点,有针对性地进行复习和提高。同时,历年真题的答案也是检验学习效果的重要参考,可以帮助考生了解标准解题思路和评分标准。 总结来说,程序员考试不仅是对技术知识的...

    程序员学习参考:1万小时定律的不足之处

    刻意练习,作为替代的学习策略,强调在导师指导下,设定明确目标,专注于自己的弱点,并立即反馈,以便进行调整。 其次,编程领域的发展速度远超1万小时定律所假设的静态环境。新技术、框架和语言不断涌现,使得...

    程序员职业小白书 —— 如何规划和经营你的职业.zip

    书中强调了自我认知的重要性,包括了解自己的兴趣、优势和弱点。你需要确定自己在编程语言、框架或特定技术领域中的专长,并在此基础上设定短期和长期的职业目标。同时,了解当前行业趋势,如云计算、大数据、人工...

    程序员的思维修炼-开发认知潜能的九堂课-高清带详细的目录

    9. **反思与成长**:最后,本书可能会强调自我反思的重要性,如何通过反思来识别个人弱点,设定目标,并从中学习和成长。 总的来说,《程序员的思维修炼-开发认知潜能的九堂课》是一本深度挖掘程序员心智成长的指南...

    给新手程序员的10点忠告(精辟)

    ### 给新手程序员的10点忠告 #### 1. 规划职业生涯 - **核心要点**:作为新手程序员,重要的是明确自己的职业规划和发展方向。选择合适的行业入手,并逐步深入理解这个行业,避免频繁跳槽,特别是在薪资差异不大时...

    Java程序员认证-SCJP模拟题

    同时,模拟题的解答过程也可以帮助考生发现自己的弱点,以便针对性地加强学习。 总之,SCJP认证是Java程序员专业素养的初步证明,而SCJP模拟题则是通往这一认证的桥梁。无论是为了认证考试还是提高自身技能,深入...

    程序员必读非程序书籍

    2. 《人性的弱点》 by Dale Carnegie(推荐数:322) 这是一本经典的人际关系指导书,适合技术背景的人们学习如何更好地与他人交往。书中的建议即使在今天依然实用,对于改善沟通和建立良好的人际关系非常有帮助。 ...

    08年下半年软考程序员试题pdf

    通过练习这些试题,考生可以检验自己的知识掌握程度,了解自己的弱点,并针对性地进行复习。同时,试题集中的历年真题对于预测考试趋势、熟悉考试格式也具有很高的参考价值。此外,对于准备参加类似考试的后来者,...

    程序员复习题(软件版).rar

    通过这个软件版的模拟试题,程序员不仅可以检验自己的技术水平,还可以了解到自己的弱点,从而有针对性地进行学习和提升。此外,这种自我评估的方式也能提高应对实际工作或面试时的压力和自信心。因此,这个压缩包...

    公司网络程序员上半年工作总结报告.pdf

    3. **技术深化与弱点弥补**:程序员对jQuery和CSS进行了深入学习,解决了开发中的薄弱环节,提高了前端开发能力。这表明持续学习和提升技术能力是网络程序员日常工作的一部分,以适应不断变化的开发需求。 4. **...

    程序员求职第一书

    3. 非技术面试:关注沟通能力、团队协作、问题解决和领导力等方面,提醒面试者要准备好回答关于个人优势、弱点、工作经历等常见问题。 三、技术评估 针对技术面试中的编码环节,书中可能会讲解常见的数据结构(如数...

    程序员考试2008年例题.rar

    考生可以打开这些文件,逐题进行练习,同时参考答案进行自我评估,找出自己的弱点并加以改进。 总结起来,2008年程序员考试例题是一个宝贵的参考资料,它涵盖了计算机科学基础理论和编程实践的多个方面,为备考者...

Global site tag (gtag.js) - Google Analytics