对程序员说点实在话

转载 2015年07月11日 07:40:54
  1. 我个人是一个程序员,关注web、分布式和数据处理。 
    我将web看做最流行的、天然跨平台的展现和可视化技术,将分布式看做程序协作、协作程序的最适架构,将数据处理看作需要基础、技巧、认知、视野以及领域知识兼而有之的事,所以做数据处理,会提升基础、技巧、认知、视野以及领域知识。 
    这些都是废话,还挺绕,但理解废话,对我来或,可能不是那么简单的事。

  2. 我认为能力的提升来自厚积,所以对于基础的东西,应该保持持续的热情。 
    认为基础应该包括但远不限于: 
    数据结构和算法、 
    算法、 
    网络(tcp/ip、p2p、http等等)、 
    计算机体系和操作系统(内存管理、高速缓冲与缓存、线程与并发、资源与争用、CPU周期、局部性原理等等)。 
    认为以上基础永远没有精通一说,至少在我这个智力层次看来。比如你看到严蔚敏数据结构了,挺好,你又看了算法导论了,更好,能看看普林斯顿的算法,你挺不错,你又看了些论文,而你确实又用vim、emacs、vs、eclipse或者sublime敲了,那你应该可以一眼就看出满世界的博客的算法文章中的纰漏和层次,那你还是有点功力了。

  3. 知识结构的重要性与项目经验会相互影响。同样的项目,类似的角色,因为知识结构的不同,带来的提升和总结也会不同,这种提升对于下一个项目或者更复杂的项目带来的裨益也会有所差别,更长的时间之下,这种差别巨大到值10W还是100W。 
    有十年工作经验,还是一件事重复了十年,差别可能就在这里。

  4. 认为类似“精通java”之类的说辞是存在的,但不谈JVM是耍流氓。类库和框架的熟悉来自工程和项目,可以熟悉一个简单的API,也可以追着理解AOP,可以应用地很简单也可以很复杂。如果关注性能的场景,那么应该自觉地关注JVM。但是JVM是浩大的工程,所以理解它是一个长期的过程,所以精通是一件比较困难的事。但是很多常用的场景,比如BufferedReader和FileChannel、mmap都可以是I/O的一种选择,何者更加适合,往往要看虚拟机里面和操作系统做了些什么,才会理出最佳实践,附带的,对Xss、Xmx、directMemory之类的简单配置也会有更深的理解。同时有助于看到基于虚拟机的语言的局限,比如HBase的BlockBuffer本身是提高读取的效率的设计,但因为JVM的堆和GC机制,这个设计可能会拖垮HBase。 
    这一点同样应该适用于C#&CLR。

  5. 工作了多年的人都会认为或者自恃自己在某些方面达到精通的水准,有的人的确达到了,但附带着会有些装、虚伪和极爱抖机灵,他不会和你好好地探讨问题。这种人可能会存在于朋友、同学、同事、上司当中,一个程序员不会活在独立的容器之中,除了在实力方面要保持自信和谦逊以及付出更多的努力之外,还要注重坚持自己的一些原则而不受一些不够正能量的企业文化、圈子文化影响,做自己,才能更好的对待技术,才能给雇主带来更佳的气场感受和实际价值。 
    这个世界不缺乏喷子,有的喷子本身也很厉害,甚至比自己厉害的多,这是他们活着的方式,情绪控制不是什么技巧,你理解的越透彻,你就越能看清什么是喷子,什么是恨铁不成钢。

  6. 关于技术实用论,总有一种观点是没去过美国就不应该知道星条旗。比如,不是每个公司,每个程序员都会接触到大数据,但是人类在没有飞天的远古,就已经通过图腾和壁画来开启文明的探索和解读了,这种东西,其实是信仰的力量,说俗一点就是兴趣所在,再俗一点,就是机会总是留给有准备的人,愿意不愿意准备看态度和理解,准备了能不能够将来用得上,看机遇,实力和运气都挺重要,但运气你控制不了。

  7. 人类的大部分知识来自间接渠道,比如阅读书籍、观看媒体、道听途说,离开了学校,但并没有离开知识的媒介。好的知识来源,比好的学习方法更加重要,这通常也是牛逼的院校和不牛逼的院校的主要区别。有的学校的老师在微博还在成长的阶段就开始讲授社会计算了,如果你没有这个知识渠道,应该不会认识到ETL、数据挖掘和倒排索引的意思,可能你已经熟练的修改、添加、编译lucene了。 
    但是,再好的知识,离开了实践,均不会得到升华,认为一个好的程序员,应该关注代码和实现,但应该摒弃简单copy原则,虽然copy大多数情况下对付工作够用了。私下里,一段关键代码写个十来遍真傻,挺蠢的,但如果每种写法有个思考和理解在里面,有选择地这么做了,再看设计模式和重构,哦,真是这么回事,用茴香豆的方式当傻子不是那么不堪忍受的事,至少理解了什么是错误,什么是差别,也给你创造了工作之外的提升场景。

  8. 很多人持这种观点,中国人,技术都是差的,也是写不出hadoop的,挣钱最重要,但自己又觉得自己很厉害。 
    其实将写出hadoop和挣钱作为标准,这个观点本身就太局限了,人这辈子,钱当然重要,写出能用的hadoop还是写出mini操作系统还是mini虚拟机,都不必太当回事,阅读源码和自己实现所营造出的理解深度天上地下,这种愚公移山的做法,更多在于逼迫你去了解更多、更准、更深刻。大部分hadoop专家,其实都是仅仅看了源码而已,就已经能出书了,事实上很多公司在实际中也只是跑一些很简单、很成熟的挖掘算法,爱奇艺的工程师做线性回归也是实用即可,大部分公司还是在处理日志,有时候想了很牛逼的算法,还没有换成SSD重要,所以没那个环境,没那个条件,就不研究了?我想不是的。 
    关于挣钱,我觉得,只要兴趣所在,能把事做好,钱自己就会来。收入上不去,往往是做的事情就不在高收入的那个区间,写程序很难出富翁。说实话,外围一天的消费可能就是你工资的好几倍,不用说外围的收入了。夜总会想玩的high一点不开两瓶路易十三,可能还会被小姐骂伪土豪,你不送你喜爱的红、蓝、绿牌花束,你都不好意思和她回小区或者宾馆探讨遗传算法。 
    那么和外围一起探讨遗传算法的王总、李工的收入更不是写程序的可以比的了。 

    所以不要太刻意地把写程序这件事和挣钱挂起来,局限了你挣钱的本事。

          转载自 http://blog.csdn.net/gsky1986/article/details/46556933

相关文章推荐

对程序员说点实在话

对程序员同行,说点实在话.

我是一个程序员,有些实在话想对你说

我是一个程序员,有些实在话想对你说 2015-6-24 11:09| 发布者: html5cn| 查看: 366| 评论: 0|来自: Web开发者 摘要: 我个人是一个程...

实在话

你总能用的着的话                                               实在话  经常有人问到华为的接班人问题,我想我是肯定说不清楚,我可以告诉你们华为的接班...
  • yucihai
  • yucihai
  • 2013年09月18日 14:14
  • 703

程序员技术练级实在攻略

这里仅仅是在分享Mailper和我个人的学习经历。(注:省去了我作为一个初学者曾经学习过的一些技术(今天明显过时了),如:Delphi/Power builder,也省去了我学过的一些我觉得没意思的技...

若说海航集团破产,实在太虚假

海航集团是一家健康发展的实力级企业,前段时间再次荣登世界财富榜,无论是集团整体还是各个产业子公司,都是一片蓬勃发展之势,如果要说海航集团破产危机,那委实太虚假,太不靠谱。   就说近日吧...

话说程序员的职业生(IBM软件集团大中华区总架构师 寇卫东)

IBM软件集团大中华区总架构师 寇卫东   有一些年轻的程序员向我咨询,将来的路应该怎么走?俗话说,条条大路通罗马。不同的路都能走向成功。到底选哪条路,取决于自己的兴趣。可能有程序员会...

杰出程序员永远都不会说的几句话

杰出程序员永远都不会说的几句话 转载自:http://www.yunyanike.com/?p=845 作为一名软件工程师和一个有着12年经验的项目组领导人,我有很多机会和...

【转】我想对所有新程序员说的一些话

原文:http://josephg.com/blog/what-i-tell-all-new-programmers/ 作者: Joseph Gentle    译文:http://blog.f...

数据说话:怎样的程序员最抢手?

在100offer程序员拍卖的日常运营中,我最重要的工作,就是定期对拍卖的数据进行分析与整理。今晚刚好整理了10月的拍卖数据,跟大家分享一下:怎样的程序员最抢手? 本文主要探讨三个部...

IBM总架构师寇卫东:话说程序员的职业生涯-IT程序人生-职业生涯规划

初级程序员和高级程序员时期,都属于职业生涯发展的第一阶段,我们可以称之为黄金时期。这阶段程序员的年龄在20~35岁之间,因为年轻,所以更善于学习,而且体力充沛,很多走过这个阶段的程序员有过通宵工作的经...
  • njsssch
  • njsssch
  • 2011年08月13日 00:52
  • 1657
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对程序员说点实在话
举报原因:
原因补充:

(最多只允许输入30个字)