重读⿊黑客与画家!
作者:池建强!
!
《⿊黑客与画家》这本书的中译本出版于2011年4⽉月,它的作者是美国互联⺴⽹网界"创业教⽗父",哈佛⼤大学计算机博⼠士Paul Graham,他的译者是著名blogger、译者阮⼀一峰先⽣生。!
这本书在2011年⼀一上市就受到了⼲⼴广⼤大⼈人民众的爱戴,我在第⼀一时间拿到纸质书后,通读了两遍,当时感觉很震撼,可以说本书是我近年来读过的最优秀的⼈人⽂文类技术图书,个⼈人⾮非常喜欢,所以在去年在图灵推出多看电⼦子书后,⼜又购买了电⼦子版《⿊黑客与画家》,放到⼿手机和Pad上随翻随看,最近⼜又开始重读。!
好书的特点是常读常新,⼀一本好书往往沉淀了作者⼏几⼗十年的岁⽉月,绝不是你草草翻上⼀一遍就可以理解和掌握的。虽然是同样的⽂文字,在不同的时间和环境阅读,往往给你带来不同的启⽰示和感悟。下⾯面是我重读的读书笔记。!
Redesign——设计永⽆无⽌止歇!
Paul Graham在⿊黑客的第⼗十四章-梦寐以求的编程语⾔言⾥里,写了⼀一节关于Redesign的随笔。什么是好的⽂文字?好的⽂文字来⾃自于不停的修改,好的编程语⾔言和软件产品同样如此,在个⼈人的⼯工作⽣生涯⾥里,我的体会是,再多的修改也不过分。可以说没什么软件产品是完美的,完美主义者都是不断打磨产品以趋近完美。如果不信,那么各位看官可以打开你们⼀一年前写的代码或⽂文章,如果脸红的话就吱⼀一声吧。!
同样,如果你想不断的调整⾃自⼰己的设计和实现,那你就需要保证你的⼯工作在某个特定阶段是可持续的。我的建议是⽆无论选择公司,还是在公司内部选择⼯工作,尽可能选择能够⻓长期投⼊入和完善的事情做,如果你半年做⼀一个项⺫⽬目,之后⼜又换成另⼀一个,然后再换,除了积累了⼀一⼤大堆项⺫⽬目经验之外,1、你个⼈人能⼒力没有得到提升,2、你永远⽆无法完成⼀一个优秀的产品。在产品公司,你可以为优化某个算法或Ajax效果花费⼀一个⽉月的时间,这在以单纯做项⺫⽬目或外包的公司是不可想象的。⼀一家程序员被当做天才和宝⻉贝的公司,去做可持续的产品…..!
推荐两段核⼼心⽂文字,⼤大家体会下阮⼀一峰⽼老师的翻译功底:!
为了写出优秀软件,你必须同时具备两种互相冲突的信念。⼀一⽅方⾯面,你要像初⽣生⽜牛犊⼀一样,对⾃自⼰己的能⼒力信⼼心万丈;另⼀一⽅方⾯面,你⼜又要像历经沧桑的⽼老⼈人⼀一样,对⾃自⼰己的能⼒力抱着怀疑态度。在你的⼤大脑中,有⼀一个声⾳音说“千难万险只等闲”,还有⼀一个
声⾳音却说“早岁哪知世事艰”。( You have to be able to think how hard can it be? with one half of your brain while thinking it will never work with the other. )!
如果你能平衡好希望和担忧,它们就会推动项⺫⽬目前进,就像⾃自⾏行⻋车在保持平衡中前进⼀一样。在创新活动的第⼀一阶段,你不知疲倦地猛攻某个难题,⾃自信⼀一定能够解决它。到了第⼆二阶段,你在清晨的寒⻛风中看到⾃自⼰己已经完成的部分,清楚地意识到存在各种各样的缺陷。此时,只要你对⾃自⼰己的怀疑没有超过你对⾃自⼰己的信⼼心,就能够坦然接受这个半成品,⼼心想不管多难我还是可以把剩下的部分做完。!
!
时间与流⾏行!
⼀一种编程语⾔言想要变得流⾏行,最后⼀一关就是要经受时间的考验——《⿊黑客与画家》!
!
时间有时候是很⽆无情的,很多流⾏行的东⻄西,随着时间的流逝将变得⾯面⺫⽬目全⾮非。美貌与时尚如此,技术同样要经历岁⽉月的洗礼。进⼊入21世纪以来,技术热点不断变更,每次的技术更迭,就像流⽔水冲刷河床⼀一样,虚⽆无的流⾛走,沉淀下来的才是有价值的东⻄西,我们要做的就
是那些能沉淀下来的东⻄西,这需要去判断和选择!
进⼊入21世纪,从静态语⾔言到动态语⾔言、⾯面向对象编程到函数式编程、从模型驱动设计到领域驱动设计、从SOA到云计算、从BI到⼤大数据、从BS到移动互联,⽆无论技术热点如何变化,站着挣钱的永远是那些踏踏实实做产品和技术的。2009年SOA⽕火热的时候,每家软件公司和互联⺴⽹网公司都号称⾃自⼰己⾯面向服务了,甚⾄至IBM、BEA等公司为SOA 确定了SCA和SDO规范,但3年以后,⽆无⼈人再提SOA,⽆无⾮非就是⽤用开放的技术实现原来的EAI么…!
有位在校⼤大学⽣生问,“我们下学期要学习数据库,以后想从事⼤大数据⽅方向,不知道从什么⽅方⾯面学习⼤大数据”。我的建议是,不要被现在⼤大数据的噱头忽悠了,等你两年后毕业出来,可能已经没⼈人提⼤大数据这回事了。如果真的对数据感兴趣,踏踏实实把关系数据库学好,有时间的话再学⼀一⻔门编程语⾔言,掌握数据结构,再有余⼒力学习⼀一些数据挖掘和推荐算法等知识,这就⾏行了,相信我,你没那么多时间!!
所以,正在流⾏行的东⻄西并不⼀一定值得投⼊入,流⾏行感冒倒是流⾏行,也没⼈人追啊......!
最⼤大化你的价值!
有⼈人问,你为什么要从事IT技术研发⼯工作?如果是乔布斯,可能的答案是改变世界;如果是⼈人⽣生导师,可能的答案是跟随你⼼心。如果是我
回答呢,答案就是如果不从事这个⾏行业的话呢,我还真不知道该如何养家糊⼝口:)!
每个⼈人进⼊入⼀一个⾏行业,有必然性也有偶然性,现在想来,我进⼊入软件⾏行业可能是兴趣使然。我⼩小时候就⽐比较喜欢电⼦子相关的东⻄西,这个习惯保持到现在就是喜欢电⼦子设备。⼤大学的时候电⼦子和计算机相关的课程都学的很好,其他专业课则⼀一塌糊涂。毕业后进⼊入⼀一个⼯工⼚厂做电⼦子设备测试,晚上则⽤用⻋车间的电脑学习编程,很快⾃自⼰己觉得可以到⼯工作了,就去⾯面试,⼀一⾯面之下进⼊入洪恩,稀⾥里糊涂算是进⼊入了IT⾏行业。!⼯工作了⼗十⼏几年,发现⾃自⼰己确实对技术⽐比较感兴趣,曾经有很多机会转岗成为纯粹的管理和业务⼈人员,但最终都没舍得放弃技术,当然技术也没什么⼤大成,爱好⽽而已。!
为什么做技术,技术是什么?我的观点是:!
1、与其他⼯工种⼀一样,技术可以谋⽣生。很多导师说看准⼀一件事情就全情投⼊入,不要考虑收⼊入,奋⽃斗不息财富会随之⽽而来。且不说只有你成事了财富才能来,就说没成事的时候我们总不能饿得头昏眼花去奋⽃斗吧。准确⼀一点是⼯工作初期不要过分考虑⾦金钱。总要解决温饱问题吧,那么做技术研发可以很容易达到这个⺫⽬目标。!
2、技术是⼀一种⼿手段和做事⽅方式。尤其是在现在这样⼀一个互联⺴⽹网和数据的时代,可以说技术⾯面前⼈人⼈人平等。你付出了多少,差不多就会得到多少。很多⼈人羡慕创业公司的⼈人获得的
财富,他们只不过是把你20年平稳的打⼯工⽣生涯压缩成4年艰苦卓绝的创业,当他们冒着成为炮灰的⻛风险在清晨的寒⻛风⾥里编程时,你正在温暖的被窝⾥里做着美梦。所以就别羡慕了,那是他们应得的。!
3、做技术需要终⾝身学习,如果你个学习狂,恭喜你到了⼀一份完美的⼯工作。有⼀一次⼀一个⼯工程师告诉我,每次感到恐慌的时候,就开始学习,掌握了⼀一⻔门⼜又⼀一⻔门语⾔言和技术。最后他成为了⼀一个通才之上的专才。书到⽤用时⽅方恨少,事⾮非经过不知难,有时间就学点东⻄西,没坏处,还能预防⽼老年痴呆。!
4、作技术可以最⼤大化你的价值。如果你是卖煎饼的,卖⼀一个是⼀一个,如果你开发了⼀一个千万⼈人使⽤用的软件,那你做这个软件的价值就放⼤大了千万倍。如果你做的互联⺴⽹网产品服务了千万个⽤用户,你做的这个产品的价值也就放⼤大了千万倍。如果你在做这样的⼯工作,那么你就最⼤大化了⾃自⼰己的价值,财富也会随之⽽而来。如果没有,就去这样的⼯工作。!
难易相成!
古⼈人云:有⽆无相⽣生,难易相成,⻓长短相形,⾼高下相倾。!
很早就想说说困难和容易这点事。⼈人⽣生⼀一世,我们到底是要选择做容易的事还是做难事?这个
想法源于春节前的业务讨论会,有两位经理各执⼀一词,⼀一个说,为了让部⻔门能够⽣生存下去,我尽可能去做那些简单的相对稳定的任务,因为这样可以保证良好的现⾦金流。另⼀一个说,为了能让部⻔门⽣生存下去,我尽可能去做那些困难的利润更⾼高的任务,因为这样可以保证良好的现⾦金流。!
一个新手怎么做黑客难易相成,困难和容易会在不同的环境下会相互转化,我觉得这两位经理在特定场景下说得都没错。!
就个⼈人⽽而⾔言,我觉得我们应该尽可能做那些困难的事情,让别⼈人变得不那么困难。⽆无论是做软件还是做互联⺴⽹网服务,其实终极意义就是你做出来的东⻄西能否解决⽤用户的问题,如果这是⼀一个容易解决的问题,那么很多⼈人早已经解决了;如果这是个困难的问题,那就意味着很多坑等着要埋你。咋选呢,似乎怎么选都是炮灰,权衡⼀一下,选择前者基本是⽆无⽤用功,那我们只好选择后者,我们本⾝身也是爱挖坑的⼈人,况且困难⾯面前⼈人⼈人平等么。!
JetBrains是⼀一家捷克的软件公司,他们做的事情就是为Java,Objective-C,Python,Ruby,JS等语⾔言写开发IDE,给程序员写⼯工具可不是闹着玩的,他们对IDE的挑剔基本⽐比肩⼥女性对化妆品,但JetBrains开发出来的⼯工具深受程序员喜爱,各种智能,各种效率,他们获得了极⼤大的成功,为啥,因为做着别⼈人很难做成的事。!
让⾃自⼰己困难点,让别⼈人容易点,说了半天,好像就这么点事。Paul在⿊黑客画家⾥里提到选择
哪种技术和语⾔言去实现软件的时候,同样选择了那些困难的有竞争⼒力的事情去做。!
逃离舒适区!
本来想起名为逃离技术舒适区,后来想想这个话题具备普适性,就把技术去掉了。上⼀一节谈的是困难和容易的取舍,这⼀一节的话题算个延续。!
什么是舒适区?如果你是个新⼿手,你就没什么舒适区,什么都不懂嘛舒适个⽑毛啊,在磕磕绊绊的学习中懵懂前⾏行,期间可能还伴随着⽼老⻦鸟的嘲笑和进度的压⼒力,终于有⼀一天你武功⼤大成,乾坤⼤大挪移练到了第五重,⼯工作中开始得⼼心应⼿手游刃有余,不断有新⼈人或⽼老⼈人来你解决问题,你微笑着迎接各种挑战,淡淡的送⾛走困难,你挥⼀一挥⼿手,不带⾛走⼀一⽚片云彩,这是什么境界?这就是你的舒适区,这和靠在沙发上看电视的舒适不是⼀一回事,通常进⼊入舒适区需要花费你很多的时间和精⼒力,需要你不断的练习,⼀一旦进⼊入,你会enjoy it!!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论