不需要故意走弯路,但也不要害怕走弯路

来源:互联网 发布:cad软件有多大 编辑:程序博客网 时间:2024/06/10 09:28

> 是走弯路好?还是不走弯路好?这个“度”该怎么把握阿?
这个问题太难了啊,因为俺现在虽然已经努力学习、工作了5年,但是仍然感觉自己就像一个初学者。想来想去,应该是“不需要故意走弯路,但也不要害怕走弯路”吧。联系文中的观点,我想了这么几条:
  1. 打好基础。就像文中说的,数学、算法、计算机体系结构,这些知识似乎跟你的日常工作(在页面上放几个控件,写几个SQL语句)关系不大。但是如果你缺乏这些知识,你就只能在页面上放几个控件,写几个SQL语句。当你想作更多的事情的时候,它们就成了瓶颈——所以不如趁年轻时突破这些瓶颈。我就是这么想的,而且已经看了8个月的《算法导论》。不过不好意思的是,我8个月才看了100多页,因为里面需要的数学知识我全忘了(其实上学的时候压根就没深入地思考过,都是背题应付考试的)。
  2. 跟着兴趣走。发现感兴趣的书,就立即买来读,管它是不是会有用。大家可以看看这篇苹果之父乔布斯在斯坦福大学毕业典礼上的演讲。当然,这个时间要合理分配,不然容易被炒鱿鱼^_^
  3. 适度的独立思考。就是那句经典的“思而不学则罔,学而不思则殆”。大部分书里的内容都是结论性的,并不会过多地介绍思考或解决问题的过程。然而这个过程有时并不复杂,如果你能自己独立的做一遍就会对问题有更深的理解,同时可以增强自信。所以经常性地抛开书本独立思考解决问题的方法然后再和书上的观点进行对比往往能收获惊喜。
  4. 注意对思考方法的培养。思考的能力并不仅仅取决于IQ,它是一种可以不断提高的技术!所以应该主动地练习思考的技术,这方面可以看温伯格和爱德华.德.波诺的书。
  5. 培养写作能力。记得《程序员》里有一篇文章说“只有能说会写才能当领导,如果你不提高写作能力,就一辈子没出息。”提高写作能力的最有效方法是什么?写博客呀!而且一定要在博客园里写(这句是给dudu看的^_^).而且当你把心中的东西写出来的时候,会发现对它已经有了更深、更清晰的理解。
  6. 不断的挑战。这是最重要的一条。只有不断的挑战才能激发你对问题不断的思考和最大的学习动力。只有不断的挑战才能让你进入快速成长的循环。公司里最稀缺的资源是什么?是最具挑战性的工作机会。领导能给你的最好的东西是什么?不是2000元奖金,而是更有挑战性的工作。当然,挑战性的工作既然是最稀缺的资源自然不会总是给你,当没有挑战性的工作的时候,可以自己给自己设一些挑战,例如读一本很难的书,或是尽全力写一篇博文等等,都可以。

 


软件开发是一项工程,是工程就有合作分工,中国企业在这方面太差劲。就如哥们你和lovecherry一样学那么多又能精通什么呢?简历上写满还不如别人一个数据库调优专家,xml专家的一句话有作用。如果我们每个人都能专注一方面那么生活也不用那么累。学的东西自己而然会进入底层。就好比学英语你在中国学和在美国学能是一个效率吗?你还是你,为什么差别那么大呢,因为你用了学学了用。而且你时时刻刻在想着。如果你学一项技术能学了用用了学,天天想着只用一二年保证在中国你在一般的公司在这个方向是顶级的牛人。

 


有泛有专,并不是泛而不专,泛和专都是需要的。
我不知道我精通什么,我不知道什么程度算是精通。但是我可以保证我比我遇到过的大多数简历上写的“精通”的人的那方面技术来的“精通”。

 


本人认为大部分程序员就是混口饭吃,学东西还是顺其自然好,以工作为导向占大多数。很多时候根本没时间没精力,而且学得越好,机会越少,找到高薪的机会也越少,多数都是代码工人。得承认,利益是人们行动的趋动力。

 

《不要迷失在技术的海洋中》和本文最好只是建议,一定要学什么东西,与现代小孩从小要学唐诗和钢琴有什么区别?会让人失去兴趣,是否学了这些才是好的程序员么?在实际中挖掘,找出自己感兴趣的基础,也是途径之一。

 

实际上,程序员一开始一定要学那么多么?发展到后来,一定会是机器是工具,它应该适应人的脑袋,而不是人适应它,不能本末倒置,花费了很多时间,而浪费了程序员多数聪明的大脑寻找其它快乐的机会,死在自己的专业上了。真是可惜,本人看到太多不愉快的同行,为什么我们不拿来这些时间精力多陪陪家人呢?一辈子那么短,在中国做程序员和在外国做是不同的。

 

尽可能快找到问题的解决方案,良好的客户沟能,迅速的反应,全面的测试,这些也能更重要些,以趋势来说。

 


编程最基本最该研究的就是数据结构,编译原理,操作系统等基本的课程,都学精了没啥可能.哎~~~~因为他跟日常的编程有直接关系,举个很简单的例子(知道啥意思就行了,别跟我研究每个字啥意思啊~),10+10 = 20 如果没学过数学,一样没问题能算出来,把手指头脚指头加起来就知道了,但不是最好的方法.就像没学过基础知识,同样一个程序的实现就会用比较笨的办法解决.再比如1000X1000=1000000 如果没学过数学,那可就不一定能算出来了,手脚指头不够用了 又没耐心肯定没戏,就像开发人机对战的游戏(AI)一样,没学过的只会用1大堆的if去判断各种情况(能不能做出来还未知呢),但学过的人就会知道什么是传说中的搜索(最简单的极大极小,α-β等呗).学过基础东西和没学过的编代码思想肯定是不一样的~
现在不都号称面向对象开发么,设计模式咋也都被的滚瓜烂熟了,为什么要看,不还是因为他是程序设计的基础么.那编代码的基础就是上面说的那些了.该怎么成为优秀的技术人呢,各有各的想法,谁也不服那就走着瞧呗.
要就为混口饭吃,对编程没啥兴趣的话,我觉得还是多研究新技术哇,喷的多点,好工作也就好找点拉.
哎 还是C高手才是真高手呀~~~

 


1:同意楼主说的,基础很重要.
2:如果不能把技术变成产品变成金钱,技术就是垃圾.因为我们没有拥有核心的技术,
我们只是掌握外国的技术,有本事自己写个操作系统,自己写个编程语言.所以大家
应该把核心放在产品分析上,而不是成天研究算法,数据结构.我见过许多产品代码
很烂,但是人家能卖出好价钱.不要和我说:钱不重要呀?

 


我同意一楼朋友说的:
1, 你必须干什么
2. 你最想干什么
3. 你能(不能)干什么
4. 别人不能干什么,你却能
想清楚了,就是牛人。一念地狱,一念天堂。
顺便我在加几条:
对自己今后的人生,自己到底要怎么活!
至少我的认为就是:
以为我要比别人活得更好,所以我得不断的努力
我不想对自己的人生就这么平淡的拜倒。。。。。
所以有了这么一个明确的目标,有了这个动力。现实就会不断的驱动我
去学习新东西,搞清楚任何对我今后有帮助的东西。基础,研究,思考,坚持.....

原创粉丝点击