`
canonical
  • 浏览: 366440 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

有人问我"怎样才能成为技术高手"

阅读更多
有一位网友,今年大二,询问我怎样才能成为技术高手. 我并不确定如何定义所谓的技术高手, 但是既然问到我, 便列举一下可能相关的事实.

首先请明确以下事实:
A. 挣钱能力和技术能力相关,但不成正比。
B. 他人的信任与信赖和技术能力无关。
C. 泡妞能力和技术能力可能负相关,请谨慎面对。

   没有人知道未来是什么样子. 也没有人能够保证自己永远都是技术大潮中的弄潮儿. 如果你只是担心知识的老化, 担心能否长期的保有一份工作. 那么只需要不失去别人的信任,越来越熟练的做好本职工作就可以了。任何工作中当时用到的知识永远都只是很少的部分,只要别人给你机会重新学习,你的人生经验就会是你最宝贵的财富。

   大二的小孩不要每天尽整些没用的东西。认真学好自己的专业课。做软件开发并不需要什么高深的知识,但是接受知识传承,得到全面教育的时机却是一去不回的。

   不要怕学得多,更不要自以为学得多。我在学校的时候,横扫图书馆的哥们并不少。

    读了书并不意味着懂得了道理。用自己的语言能否讲述学过的内容?能否用个简图勾勒Unix内核的结构?学过一门语言到底它有什么不同,能否勾勒发展的脉络?你学过的东西并不是你的东西. 你既无法消费它,也无法贩卖它. 在书本以外你是否真的意识到这些知识的存在性? 最重要的问题是, 你创造的东西在哪里?

    读书开始的时候半知半解是正常的。这就如同张无忌背七伤拳经,总有一天你会懂得,只是需要不时的去回味。数学典籍中经常有这样的说法,本书内容是封闭的,只需要某某领域知识,但是掌握它需要数学成熟性。成熟是需要时间的。

    读书不是以数量取胜。一个领域中类似的书只要细读一本,完整的读下来,读的时候多方参照,做简短的笔记。读一些原始的文献,读大师的原著。尽量选用英文的经典教材。懂一点学科的历史,知道什么是文化。了解一些学术界的八卦,吹牛的时候多一些谈资。
    
    学习任何一个领域都需要深入, 需要掌握大量的相关细节, 因为只有这样才能够不再被细节问题所干扰, 而集中精力于真正的思想核心. 

    拳不离手,曲不离口。连Knuth老兄都在勤奋的敲程序,所以请不要找借口。

   天下没有免费的午餐。不付出相应的成本,无法得到相应的回报。学习没有捷径,只有方法。只是方法正确并不能保证你走到终点,毅力,机缘都是不可或缺的。你是否能够1天10小时以上持续地考虑同一个问题,是否能够保持同样的注意力坚持到每本书的最后一页, 是否一年365天对新鲜事物总是保有一份天真的好奇。

   在工作中除了抽象的思想和具体的技术知识之外,还有大量小的trick. 例如调用equals的时候把常量放在前方if(MY_CONST.equals(myVar)). 一般不可能通过书本学习掌握所有这些技巧,只能在编程的实践中观察总结,更多的时候是要你主动思考,重新去发现这些方法。一个人的工作效率很大程度上是受其工作习惯所制约的,你是否在随时随地的改进自己的工作?

    怎样才能做技术高手?这个问题我并不知道答案。公司里所需要的也不是技术高手,而是能够解决问题的人。不过如何培养合格的程序员,在公司内部也有两种看法。adun说要给他们指明职业发展的方向,关心他们遇到的困惑。这是P大的浪漫主义情怀。X罗说要给他们可以完成但是不易完成的任务,等待大浪淘沙后的结果。这是T大的现实主义精神。

    开源是不可阻挡的历史洪流,我们只能改变自己的思维方式,调整自己的行为目标来适应它。

    面对未来的挑战,Alan Kay有一句名言:The best way to predict the future is to invent it。如果你不知道该怎么创造,那就先从捏造开始练习吧----事物之间总是可以建立关联的。
分享到:
评论
4 楼 jjx 2007-12-08  
其实以现在的发展趋势,代码只会越写越少,而不会越写越多. 语言,框架和类库,各种模式的应用(典型的像builder) ,都会让代码行数减少.
因此,代码行数并不是我们要追求的

说来说去,就处理代码这个问题上,还是技术层次的问题,不同层次的人在同一个问题的可能就是两个完全不同的结果
3 楼 jjx 2007-12-08  
随便说几条
1. 时间, 付出和收获成正比
2. 学习方法 很重要,要勤于思考,多对比,多想为什么,多动手.
3. 足够广泛的兴趣 技术上没有门户之见, 其它的如经济,医学,宗教之类的都最好有感兴趣的领域

个人从业快超过10年了,感觉这领域没有真正的高手一说,术业有专攻,闻道有先后,人必须要像海绵一样不断吸取知识, 逆水行舟,不进则退,老话还是很有道理的
2 楼 dlee 2007-12-08  
解决问题的能力并不完全等同于个体的编程能力。《人月神话》中说软件开发的复杂性和成本大部分是在沟通方面。

举个例子:我们都是程序员出身,假设我们自己有能力解决任何编程问题。但是没有美工的支持,我们做出来的东西很难用,界面很难看,没有人愿意买。

将软件问题全部归结为编程问题,和将编程问题全部归结为算法问题一样,都是偏颇了。庄表伟以前曾经在JavaEye提出过强烈置疑:算法算老几?

把Martin Fowler拉来,详细问他《《计算机程序设计艺术》某一卷某一章中某一算法到底讲的是啥,他十有八九也讲不清楚。

关于如何解决问题,我到是推荐这位同学去读一下《麦肯锡方法》、《麦肯锡意识》两本书,这两本书并不是砺志书。
1 楼 dlee 2007-12-08  
我觉得保持长期的兴趣是很重要的。

另外,读完了一本书不等于完全掌握了书中的知识。有些初哥架构师很喜欢以读书多来傲人,例如:我读过DDD、我读过PoEAA、DDD上如何如何说、PoEAA上如何如何说。以这种炫耀的心态来读书,很多时候不过是获得了辩论时占据上风的快感,其实对于提高自己的技能,未必是很有效的。

当然我不是说不应该多读书,只是说不要满足于读完了很多书。

孔子说:“多闻阙疑,慎言其余,则寡尤;多见阙殆,慎行其余,则寡悔。言寡尤,行寡悔,禄在其中矣。”
孔子的求禄妙方,后面一句听起来很俗气,距离某些人心目中神化了的孔子形象很远。不过前面一句说的是没错的,这是正确的学习态度。

相关推荐

    如何成为编程高手如何成为编程高手

    在IT领域,特别是编程方向,成为一名真正的高手是许多人的追求目标。本文将基于提供的部分信息,深入探讨如何成为一个优秀的程序员,包括掌握基础技能、熟悉平台特性、理解系统架构等多个方面。 #### 一、掌握基础...

    如何成为单片机高手?

    浮躁是成为高手的大敌,只有踏实学习、坚持不懈的人才能真正掌握单片机技术。 掌握了单片机技术后,可以发现其在多个行业中的广泛应用,比如家用电器、医疗仪器、汽车电子等。随着技术的不断进步,单片机课程也逐渐...

    如何成为编程高手的八大奥秘

    总结起来,成为编程高手不仅需要深厚的技术底蕴,还需要创新思维、良好习惯和坚持不懈的精神。这八大奥秘相互关联,共同构建了通往高手之路的阶梯。通过持续学习和实践,任何人都有可能成为编程领域的佼佼者。

    如何才能成为市场营销高手.pptx

    具备创新意识和能力的人才能将知识转化为市场价值,他们不仅需要扎实的专业知识,还需要广泛的跨领域知识,以拓宽创新的视野。企业应当培养这样的人才,让他们有能力创造财富。 综上所述,成为市场营销高手需要全面...

    成为编程高手的秘诀

    ### 成为编程高手的秘诀 在当今社会,随着信息技术的快速发展,编程已成为一项非常重要的技能。无论是对于学生还是职场人士来说,掌握编程技术都显得尤为重要。本文将从多个角度出发,为大家提供一些实用的建议与...

    怎样成为编程高手 txt

    对于初学者来说,如何从一名编程新手成长为真正的编程高手是很多人关心的问题。本文将从几个方面详细阐述这一过程,希望能帮助那些希望在编程道路上不断进步的朋友。 #### 1. 广泛学习,奠定基础 - **广泛涉猎**:...

    成为JAVA高手的八大条件

    标题:“成为JAVA高手的八大条件” 描述:本文深入解析了成为一名JAVA高手所必需遵循的八个核心原则,尤其适合JAVA初学者。文章强调了基础知识的重要性、想象力的培养、追求简单性、避免钻牛角尖、对知识的渴求、...

    成为编程高手的八大奥秘

    没有任何人能够一夜之间成为专家,只有通过不断的实践和反思,才能逐步提升自己的技术水平。设定清晰的学习目标,制定合理的计划,并且持之以恒地执行,最终将收获丰厚的回报。 综上所述,“成为编程高手的八大奥秘...

    想成为编程高手的4点要求育儿知识.doc

    在成为一名编程高手的道路上,有几个关键的要求是必不可少的。首先,兴趣是驱动学习的最好动力。编程是一项需要长时间专注和耐心的工作,面对繁复的代码和无尽的调试,只有真正的热爱才能让人持之以恒。因此,如果你...

    成为编程高手的22条军规

    ### 成为编程高手的22条军规 #### 1. 学无止境:广泛学习,不要局限 编程世界博大精深,各种语言和技术层出不穷。作为一个编程高手,应该保持开放的心态,广泛涉猎不同的编程语言和技术。即便当前的工作只涉及到一...

    成为编程高手的12条军规

    在学校的实验室就算你做错一万次程序都不会有人骂你,如果在公司你试试看!所以多去实验室上机,现在错得多了,毕业后就错得少了。  11.从现在开始,在写程序时就要养成良好的习惯。  12.不要漏掉书中任何一个...

    如何成为一个数控机床操作高手.doc

    要成为一个数控机床操作高手,需要经历一系列的步骤和学习过程,包括成为一名优秀的工艺员、精通数控编程和计算机软件应用,以及能够熟练操作数控机床。在这个过程中,不仅需要深厚的理论知识,还需要丰富的实践经验...

    如何成为真正的PPT高手-2.pdf

    那么,如何才能成为真正的PPT高手呢? #### 二、PPT的基础知识 - **概念与用途**:PPT(PowerPoint)是一种用于制作演示文稿的应用程序,它可以将文本、图像、声音、视频等多种元素整合在一起,形成一套完整的演示...

    成为编程高手的二十二条军规

    ### 成为编程高手的二十二条军规解析 #### 1. 大学生活的难忘与学习的重要性 大学生活丰富多彩,确实可以让人终身难忘。对于计算机专业的学生来说,这种难忘不仅仅是因为大学生活本身,更重要的是通过这段时间的...

    年轻工程师的高手进阶之道

    他们不仅要有深厚的技术底蕴,还要懂得如何与人合作,推动项目的成功实施。 对于刚毕业2-4年的年轻工程师,文章提醒他们要保持谦逊,认识到自身的不足,不要因为完成几个项目就自满。成长需要时间,不断学习和积累...

    编写程序高手的造就的文章

    ### 编写程序高手的造就 ...对于想要成为高手的人来说,除了掌握必要的技术知识外,还需要培养自己的学习能力、解决问题的能力以及持续进步的决心。只有这样,才能在这个充满挑战的领域中脱颖而出,达到不败之地。

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

    ### 成为数学建模“高手”的八大奥秘 #### 一、扎实的基础 要成为一名出色的数学建模专家,首先需要具备广泛的知识基础。这不仅包括数学领域的基础知识...通过不断学习和实践,每个人都有机会成为自己领域的佼佼者。

Global site tag (gtag.js) - Google Analytics