`
canonical
  • 浏览: 366446 次
  • 性别: 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。如果你不知道该怎么创造,那就先从捏造开始练习吧----事物之间总是可以建立关联的。
分享到:
评论
24 楼 Godlikeme 2007-12-09  
ozzzzzz 写道

我想至少在JE这个地方,没谁敢出来说:“我是技术高手!”当然疯子和傻瓜除外。而楼主居然敢写一个帖子,专门给别人讲如何做高手,你说这个是啥意思?


文无第一,武无第二。
来文的,辩来辩去也难有个究竟。
来武的,就不一样了,站到最后的就是第一。

拿个高手来说事,怕又是一个大坑,引来一场水仗,不了了之。

lz文章开篇第一句就已经道明文章主旨,本文不解何为高手,只谈个人体会,o6z怕是曲解了吧。

以前看o6z的文章还好,现在是越看越晕,不知言之何物,有点宇宙流的味道,思维逻辑完全不在一个层面上。
23 楼 canonical 2007-12-09  
你特习惯啥也没搞清就按照自己的逻辑乱发挥.

在我们的公司里只要你做好本职工作,就能得到信任. 我当然局限在我们公司内的情况说话. 我会意指全世界吗? 我没有那么深刻的人文关怀.这里也只是列举我经历的事实. 请把"我经历的"这个定语安全的放置在我所有的话语之前. 而且我原文的逻辑是"只要不失去别人的信任, 越来越", 你把这个句式搞反了. 不失去信任才会得到机会. 把本职工作做好在我们公司就会提供给你机会.

瞎整没用的,指的是每天除了学习各种流行语言之外,再也不再关心任何其他基础的东西.在大二这个阶段做这种选择是不适当的.

怎样才能成为技术高手 这是别人问我的问题.我并没有说自己要回答这个问题. 也许它应该改成: 有人问我如下问题,我如下回复?

原本是有人在我blogjava上的博客留言,我回复了一下,顺便发在JE的论坛上. 我没必要把所有语境都交待清楚. 原本就是仁者见仁,智者见智的东西, 看客们根据自己的理解各取所需就可以了. 但是如果你攻击我, 我只有回应了.

我不是要写励志文, 我只是陈述一些我的小世界中的事实.
22 楼 lot1 2007-12-09  
其实就孔子的两句话:学而不思则惘,思而不学则殆

只要在学和思上下功夫,不是高手,也是半个高手,其他的就懒得谈了。
21 楼 gigix 2007-12-09  
canonical 写道
其实这里的问题和我无关. 你的信心并不是其他技术人员的信心,它只是你个人的信仰,是你个人活着的动力.

我明白你的意思……
我的意思是,买车买房是一个很不错的动力,因为它很容易达到
但另一方面如果一个人把买车买房当作自己一生努力的目标,那他才真的会有大麻烦
因为这个目标太容易实现了
而一生努力的目标轻易实现,这是非常令人苦闷的
所以在谈到例如一生的目标或者活着的动力之类超级宏大的东西时,宁可想得奢华一点
因为只有到死的时候你才知道自己达不到了,那并不太令人苦闷
20 楼 canonical 2007-12-09  
其实这里的问题和我无关. 你的信心并不是其他技术人员的信心,它只是你个人的信仰,是你个人活着的动力.
19 楼 gigix 2007-12-09  
canonical 写道
但是非常显然,并不是所有的技术人员都能够买房买车。你是否直接无视了他们,认为他们不配勤奋学习技术,不配称为技术人员?

这个……
我觉得,以目前中国经济的发展态势
只要平平安安的做个小白领
二十年内买房买车都是情理之中的事
更何况软件行业本身就是收入比较高的
倒是你啊,这么早早的就说什么一辈子不能买车买房
究竟是对中国经济没信心呢,还是对技术人员们没信心?
18 楼 canonical 2007-12-09  
但是非常显然,并不是所有的技术人员都能够买房买车。你是否直接无视了他们,认为他们不配勤奋学习技术,不配称为技术人员?
17 楼 gigix 2007-12-09  
canonical 写道
浪漫主义使我意识到人们的困惑总是存在的。比如现在你勤奋的学习技术,就是为了将来出人头地,买房买车,但是要是有人告诉你,那已经是永远不可能的事情了。你是否会深受打击,丧失前进的动力。但是如果你调整自己的价值目标,改变为努力做好每一天的工作,得到同事的尊重和公司的信任,也许就能坚持做到逐步进步,最终走出困境。

那你就应该赶快转行
有很多工作可以让你踏踏实实的买房买车,要是连这都做不到还扯啥勤奋学习技术
16 楼 Godlikeme 2007-12-09  
个人会有价值定位,这种长期的目标总是会充满理想和富有浪漫主义情怀的,而实现的过程那是相当现实的。

就如同共产主义是一个远大目标,现在还要长期生活在中国特色社会主义中,解决好现阶段问题,朝着目标不断前进。


15 楼 canonical 2007-12-09  
浪漫主义使我意识到人们的困惑总是存在的。比如现在你勤奋的学习技术,就是为了将来出人头地,买房买车,但是要是有人告诉你,那已经是永远不可能的事情了。你是否会深受打击,丧失前进的动力。但是如果你调整自己的价值目标,改变为努力做好每一天的工作,得到同事的尊重和公司的信任,也许就能坚持做到逐步进步,最终走出困境。
14 楼 Godlikeme 2007-12-09  
引用
总的来说同意godlikeme,除了:
--概括的知识多是百无一用,实用的知识又容易过时
大师的概括远胜自己多年的总结
容易过时的知识谈不上实用


这就是所谓“道”和“术”的区别,不是么?

引用
--研究好的开源项目源码是个不错的选择
好的开源项目非常难找。也许只有0.1%的开源项目的代码有学习价值。
即便是名声在外的spring,代码也非常陈腐。
只有unix,bsd,linux,gcc,apache这种级别的才具有学习价值。


如果说spring的代码“非常陈腐”,看来我的差距还是比较大的,还是要努力学习的。
好的开源项目,junit,common-collection,spring,hibernate等等,比较好找吧,
比例非常低,但还是很显而易见的。感觉这里的分歧在于 好的标准是什么?
又是一个仁者见仁的问题,呵呵。
linux这种级别的代码不打算去学了,把自己定位在J2EE层面。
linux vs j2EE 技术的不同层面,系统级vs应用级,如何说那一个更有学习价值呢?还是看自己的定位吧。
apache代码似乎随意性大一些。


引用
--浪漫主义不适合培养程序员
缺乏浪漫主义的程序员不会有灵性

个人的一点看法了,在这是说培养程序员是采用Canonical所言 浪漫主义还是采用实用主义好些,
而不是说程序员本身不需要浪漫主义。


13 楼 saneblue 2007-12-09  
robbin 写道
canonical 写道
有人认为我的这片帖子中显得很自以为是,只是在嘲弄初学者。可我事实上是在非常认真的回答问题,介绍我所知道的相关的事实。

难道现在的小孩都只能接受安抚的话语,而不能聆听一些真正的事实?


我觉得你的帖子写的不错,不过你似乎过于敏感了吧? 请问哪个回贴说你自以为是了阿?

http://www.blogjava.net/canonical/archive/2007/12/08/166190.html
他说的是这里吧。
12 楼 robbin 2007-12-09  
canonical 写道
有人认为我的这片帖子中显得很自以为是,只是在嘲弄初学者。可我事实上是在非常认真的回答问题,介绍我所知道的相关的事实。

难道现在的小孩都只能接受安抚的话语,而不能聆听一些真正的事实?


我觉得你的帖子写的不错,不过你似乎过于敏感了吧? 请问哪个回贴说你自以为是了阿?
11 楼 leondu 2007-12-09  
canonical 写道
有人认为我的这片帖子中显得很自以为是,只是在嘲弄初学者。可我事实上是在非常认真的回答问题,介绍我所知道的相关的事实。

难道现在的小孩都只能接受安抚的话语,而不能聆听一些真正的事实?



说的还是很有道理的,只不过canonical在这里的名头还不够吧,难免会显得人微言轻,blogjava.net/canonical也是你吧?

给5个精华
10 楼 seen 2007-12-09  
总的来说同意godlikeme,除了:
--概括的知识多是百无一用,实用的知识又容易过时
大师的概括远胜自己多年的总结
容易过时的知识谈不上实用


--研究好的开源项目源码是个不错的选择
好的开源项目非常难找。也许只有0.1%的开源项目的代码有学习价值。
即便是名声在外的spring,代码也非常陈腐。
只有unix,bsd,linux,gcc,apache这种级别的才具有学习价值。


--浪漫主义不适合培养程序员
缺乏浪漫主义的程序员不会有灵性
9 楼 seen 2007-12-09  
dlee 写道
解决问题的能力并不完全等同于个体的编程能力。《人月神话》中说软件开发的复杂性和成本大部分是在沟通方面。

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

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

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

关于如何解决问题,我到是推荐这位同学去读一下《麦肯锡方法》、《麦肯锡意识》两本书,这两本书并不是砺志书。


总结一下dlee的观点,1.同意老庄的观点-算法不算老几,2.martin fowler不怎么懂算法,而且这是光明正大的,3.麦肯锡的方法论是有效的。

哈哈 有趣
8 楼 Godlikeme 2007-12-09  
canonical 写道
有人认为我的这片帖子中显得很自以为是,只是在嘲弄初学者。可我事实上是在非常认真的回答问题,介绍我所知道的相关的事实。

难道现在的小孩都只能接受安抚的话语,而不能聆听一些真正的事实?


看不出哪里有嘲弄初学者的意味,
对于这种想法,只能说仁者见仁了。
7 楼 lululau 2007-12-09  
我觉得最重要的是兴趣吧,要是没有兴趣就得有毅力
其次是能力
6 楼 canonical 2007-12-09  
有人认为我的这片帖子中显得很自以为是,只是在嘲弄初学者。可我事实上是在非常认真的回答问题,介绍我所知道的相关的事实。

难道现在的小孩都只能接受安抚的话语,而不能聆听一些真正的事实?
5 楼 Godlikeme 2007-12-08  
引用
大二的小孩不要每天尽整些没用的东西。认真学好自己的专业课。做软件开发并不需要什么高深的知识,但是接受知识传承,得到全面教育的时机却是一去不回的。


在学校里学到的知识不实用,学明白也不容易。干活不需要明白太多道理,想干的明白就不一样了。

引用
读书不是以数量取胜。一个领域中类似的书只要细读一本,完整的读下来,读的时候多方参照,做简短的笔记。读一些原始的文献,读大师的原著。尽量选用英文的经典教材。懂一点学科的历史,知道什么是文化。了解一些学术界的八卦,吹牛的时候多一些谈资。


也算看了一些经典书了,感觉没有理论指导不成,光理论也不成,概括的知识多是百无一用,实用的知识又容易过时。概括的知识实践中慢慢领悟,实用的知识用到哪学到哪。

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

挺有意思,自以为学的多还是因为知道的少。

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


j2ee design and development 上面粗略的给了一些trick。研究好的开源项目源码是个不错的选择。
同意,实践、研究源码、多看些经典书籍,站在巨人的肩头,多总结,多思考。

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


呵呵,还是现实主义好些,浪漫主义不适合培养程序员。

相关推荐

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

    在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