`
liuqimeng1
  • 浏览: 53173 次
  • 性别: Icon_minigender_1
  • 来自: 南昌
社区版块
存档分类
最新评论

心态和想法,是提高编程水平的关键

 
阅读更多
你是否有时候会觉得自己的技术水平停滞不前,想突破但又找不到门路?最近在stackexchange上看到了一个非常好的问答。有人问:你做过的最有效的提高你的编程水平的一件事情是什么?

回首作为一个程序员这些年来的生活和职业道路,我使用了很多种不同的方法来提高我的编程技能 —— 阅读代码,编写程序,阅读书籍,听讲座,看视频,等等。

我的问题是:你做过的最有效的提高你的编程水平的一件事情是什么?对于那些想提高水平的程序员,你的建议又是什么?

我希望你们提供的答案是各种各样的,并且不是那种“放之四海而皆准”的答案 —— 我希望得到适用于不同人的不同的答案。

  有很多人给出了自己的答案,这里挑选其中三种答案。

  回答一:学无止境
没有特别的先后次序…

和比自己更聪明的人一起工作
永远乐意听取他人的意见,不管对方是低级水平,一般水平,资深,还是大师。职称头衔并不代表一切。
学习其它的框架/语言,学习它们是的工作原理和思想,拿它们跟你已知的技术做比较。
学习各种设计模式,最佳实践理论,然后用它们检查自己先前的知识,在需要的时候使用这些模式。
结对编程
反对Joel说的一切。

  回答二:成为多面手
争取成为一个‘多面手万事通’。

在我职业生涯的早期,我在一种数据库和编程语言上是个专家。不幸的是,这种数据库在“数据库战争”中落败了,我才发现我的职业道路…很窄。在此之后,我下定决心以后决不能把自己封在一个小空间里。我开始学习所有手头上能接触到的东西:Windows,Unix,C,C++,Java,C#,Perl,Python,Access,SQL Server,Oracle,Informix,MySQL,等等。不管什么样的新的,不常见的工具或技术,我都成为“大拿” —— “去问克雷格(作者自己),他要是不会,他会去学会的。”结果,我做了各种各样的项目,从为环境监测做嵌入式系统,到为导弹防御做命令和控制系统。

我在各种的公司里唯一遇到的问题是:它们坚持要把我固定在一个专门的研究方向内,而我的专门研究是要成为一个多面手。(也叫做学识渊博的人或多才多艺的人或多领域专家。)

有些事情需要留意 … 高科技界里知识的半衰期是多少?根据摩尔定律(Moore’s law):18-24月内,半数你学到的知识都会过时。错误的遵循这种规律的专家会轻易的在这种技术发展的压力崩溃;一个多面手要做的事就是不断的丰富自己的技能,并从应用这些技能的经历中吸取教训。

  回答三:不要跟臭棋篓子下棋
我一直认为自己在不错的程序员中也算是个“灌篮高手”。直到有个家伙——我们叫他艾伦——被招进团队。艾伦很显然在很多方面都比我优秀。也比我年轻。他让我认识到,在过去的这些年里,我没有多少长进。我是一个特定技术方向的程序员,而且是水平一般。

这惊醒我应该自觉的不断提高自己的水平,特别是我写的代码的水平。

艾伦引导我学会了很多东西。他告诉我,大部分我写的代码在今后的数年里都将一直维护和进行扩展,写代码时要将这点铭记在心。我应该为我的代码写自动测试程序。艾伦说代码的开发一定不能停止在第一版上,应该不断的重构,提炼,让它达到完美。我发现,我对这些语言和工具的使用都还有还很大的改进空间。

从艾伦那我学到的最重要的一件事情是:永远不要停止学习。

数年后,艾伦离开了公司。我的心里突然感觉空荡荡的。这些年与他为伴让我在技能上提升到了一个全新的水平,我知道现在我比团队里的其他人优秀很多。他们仍然写着糟糕的代码,犯着以前犯过的错误。我努力教育他们,但他们对此不感兴趣。事实上,他们讨厌有人这样傲慢自大的指出他们犯的错误。

于是,几个月后,我也离开这这个公司。我去了一个很小的公司,在一个很出色的团队里工作。那里每个人都渴望学习更多知识,我喜欢这样的。

我很幸运能遇到艾伦。没有他,我也许现在仍然待在那家死气沉沉的公司和那帮食古不化的家伙在一起,哪都去不了,想的全是自己的私利。

  这个讨论在stackexchange网站上的地址是这里。

  我觉得上面的回答都让我有所收获,很多时候我们需要一种觉悟,才能做得更好。希望上面的回答也能让你有所觉悟,在以后的工作中做得更好。

分享到:
评论

相关推荐

    编程修养(编程习惯养成).txt

    保持一颗平和的心态有助于更好地吸收新知识,同时也更容易得到他人的认可和支持。面对失败和挫折时,应该冷静分析原因,从中吸取教训,避免重蹈覆辙。 #### 五、写出的代码质量高 代码质量是衡量程序员专业水平的...

    浅谈编程-浅谈编程-浅谈编程

    在编程的世界里,深入理解和构建个人心智模型是成为一名优秀程序员的关键。心智模型是对某一领域知识的理解框架,它帮助我们组织信息,区分相关与不相关,预测未来可能的发展趋势。在编程这个快速变化的行业中,拥有...

    软件测试——心态

    1. **了解整个行业流程**:测试人员不仅要熟悉黑盒测试等基本技能,还应努力扩展知识面,包括但不限于编程语言、架构设计等,以便更好地理解和评估整个系统的运行情况。此外,测试人员还需要对业务逻辑有深刻的理解...

    素质课(连锁销售).doc

    这些素质和心态是个人在职业生涯中取得成功的关键因素,无论是在传统的销售领域还是在技术密集的IT行业中。 1. **素质**:素质涵盖了文化、心理和精神三个方面。文化素质体现在一个人的知识水平和修养,这在IT行业...

    如何成为优秀的软件人才.pptx

    1. **学习并应用强势知识**:持续学习新的编程语言、框架和工具,保持对最新技术的敏感度,是保持竞争力的关键。同时,将所学应用于实际项目,解决实际问题,可以积累宝贵的实战经验。 2. **提高表达能力**:软件...

    参加美赛的一点心得.doc

    在这种情况下,保持平和的心态尤为关键。作者提到了自己备考英语六级的经历,尽管前期做了大量的准备工作,但由于心态不佳,导致最终成绩并不理想。这表明,即便准备充分,如果心态出现问题,也可能影响到最终的表现...

    计算机专业大学生职业生涯规划.doc

    为克服这些不足,你需要保持开放心态,尝试新事物,提高灵活性,并学会接纳不同的观点。 职业规划的核心在于设定明确的目标。对于计算机专业而言,成为一名软件工程师是一个常见的职业目标。实现这一目标需要分步骤...

    感恩节感恩教育国旗下演讲稿.pdf

    同样,在进行技术项目或是问题解决时,清晰的思路和积极的态度是推动创新和提高效率的源泉。 综上所述,虽然我们的演讲稿主要探讨了感恩和成长的主题,但其核心理念——持续学习、自我提升、感恩与团队合作、积极的...

    如何准备软件工程师的面试

    在IT行业的激烈竞争中,软件工程师的面试准备显得尤为重要,特别是对于C语言这一基础而关键的编程语言。根据给定的文件信息,我们将深入探讨如何有效地准备软件工程师的面试,尤其是针对C语言方面的能力提升。 ### ...

    微软笔试面试整理题.txt

    根据给定文件的信息,本文将围绕“微软笔试面试整理题”的相关内容进行展开,重点解析微软笔试面试中的几个关键方面:技术基础知识考查、智力题目、英语能力以及想法类题目,并给出一些建议。 ### 技术基础知识考查...

    一名计算机讲师对计算机本科专业学生的寄语.pdf

    这样的想法早已过时,计算机科学需要扎实的理论基础和持续的学习。长时间的编程工作可能会带来身体上的压力,如肩周炎、颈椎病等,因此保持健康的生活习惯和工作方式至关重要。 理解计算机科学与技术的区别至关重要...

    用心作文500字四篇.docx

    通过反复实践和不断反思,IT从业者能够提高自己的技能水平。 2. **问题解决**:在文中提到的舞蹈比赛中,作者面对困难和紧张,学会了调整心态,这在IT问题解决中同样重要。遇到编程难题时,需要保持冷静,分析问题...

    讲座资料(2021年-2022年收藏的程序员个人述职报告多篇.doc

    对于程序员而言,了解团队中每个成员的角色和职责,能够有效地与他人交流想法和解决方案,是提升个人能力及团队效率的关键。 面对问题时,报告的主人公所展现的积极态度和解决问题的能力也值得借鉴。在实际工作中,...

    嵌入式软件工程师自我提升策略

    - 利用MOOC平台(如Coursera、edX)学习在线课程,提高理论知识水平。 - 动手实践,构建自己的小型项目,将理论知识应用于实践中。 **软技能:** - 提升沟通技巧,有效表达技术想法。 - 学习时间管理和问题解决的...

    《数据库开发这点事-Java快速入门》

    通过不断地挑战自我和解决实际问题,个人的技术水平会逐步提高。 - **态度决定一切**:无论是在学习还是工作中,积极的态度都是非常重要的。保持乐观和主动,能够帮助克服困难,取得更好的成果。 ### 5. 案例分析 ...

    01技术面试技巧.rar

    面试是双向选择的过程,保持平和的心态,把面试看作是了解公司和职位的机会。自信而不傲慢,谦虚而不自卑。 通过以上这些技术面试技巧,你可以更好地准备面试,增加成功的机会。记住,关键在于充分准备、积极沟通和...

    《蓝桥杯的介绍及心得》

    因此,保持良好的心态和稳定的发挥是取得蓝桥杯大赛成功的关键。 **2.4 蓝桥杯大赛是一次难得的自我提升机会** 参加蓝桥杯大赛不仅是为了取得好成绩,更是一次难得的自我提升机会。在比赛中,参赛者不仅结识了许多...

    成为一个数学建模“高手”的八大奥秘.pdf

    综上所述,成为一名优秀的数学建模专家并非一日之功,它需要广泛的知识积累、创新的思维方式、简单有效的解决方案、适时的心理调节、强烈的学习欲望、有效的交流协作、高水平的编程技巧以及不懈的努力和坚持。...

    新入行程序员应知的十个秘密

    - **详细解释:** Ryan Waggoner提到了时间管理和提高工作效率的重要性。在快节奏的工作环境中,如何合理安排时间、高效完成任务成为了衡量一个程序员能力的标准之一。这包括学会设置优先级、避免不必要的干扰以及...

    2019年激励人的名言警句.doc

    "竞争颇似打网球,与球艺胜过你的对手比赛,可以提高你的水平",适当的竞争能够激发从业者的创新能力。与此同时,"众人的事业需要每个人的参与",强调了团队合作的重要性。在IT项目中,跨学科、跨部门的合作变得愈发...

Global site tag (gtag.js) - Google Analytics