#观点 所谓的幸运就是当你准备好了的时候机会来了。Luck is what happens when preparation meets opportunity. --两千五百年前,塞涅卡(罗马哲学家、悲剧作家、政治家) 说。
#观点 一定要知道自己喜欢什么, 选择爱人是这样, 选择工作同样如此。工作是生活的大部分, 让自己真正满意的唯一办法, 就是做自己认为有意义的工作。 做有意义的工作的唯一办法, 是热爱自己的工作。
每个人内心都充满了恐惧,所有的恐惧其实都源自于我们害怕未知。于是,恐惧是永恒的,因为我们永远不可能什么都知道。托马斯索维尔的类比特别精巧。他说,在茫茫而又无限的未知空间里,我们的“知识”不过像其中的星球,而星球与星球之间的空隙要比那些星球本身大出不知道多少倍。#观点
我们常常会过于迅速地得出结论:“这我已经知道了。”似乎认识几个关键词就足够了。这种想法很可能是一个陷阱,因为当我们发现对要学的东西早已熟悉时,可能就不会继续学习下去。因为我们觉得自己已经知道了,所以就对这些信息不再感兴趣。#书摘
很多雇主不愿意手下的黑客为开源项目工作。但是在Viaweb,要是你不愿意这样干,我们会很犹豫要不要雇你。如果你不爱一件事,你不可能把它做的优秀。要是你很热爱编程,你不可避免地会开发自己的项目。#书摘
“我们取得的成就并不全是我们打算做的事情。”市场千变万化,事物经常会出乎预料,有时候人们以我们从未想到的方式使用我们的产品,甚至意想不到的用户群——我们从未想到他们会成为我们的客户。计划本身并不重要,但随计划过程而来的思考过程非常重要。很明显,不思考的人怎会有想法?
无论你的想法是什么,你都必须为实现它干得比别人多——你把工作看成一种乐趣,你就会有更多乐趣。你干得多,得到奖励,得到奖励就干得更多,良性循环。我永远热爱我的工作,我在工作上投入大量的时间,这有助于我的成功。
我为那些不喜欢工作的人感到惋惜:他们在工作中挣扎,一点也不快活,业绩当然也差,恶性循环……
*短短的一生有太多令人愉快的事情,不每天早起根本干不过来。*——布隆伯格自述《信息就是信息》#书摘
无论你的想法是什么,你都必须为实现它干得比别人多——你把工作看成一种乐趣,你就会有更多乐趣。你干得多,得到奖励,得到奖励就干得更多,良性循环。我永远热爱我的工作,我在工作上投入大量的时间,这有助于我的成功。
我为那些不喜欢工作的人感到惋惜:他们在工作中挣扎,一点也不快活,业绩当然也差,恶性循环……
*短短的一生有太多令人愉快的事情,不每天早起根本干不过来。*——布隆伯格自述《信息就是信息》#书摘
设计人员必须研究如何把软件设计集成到整个软件开发过程中,集成到程序员、系统
结构设计师和技术管理团队的实际现场条件中。
一般来说,项目的编程和设计活动必须密切关联。在实现设计的过程中,会出现新的信息,在很多情况下这些信息会改变原来的设计。如果设计和实现都是封闭的,则会变成一场灾难,因为不能实施细化和变更过程。
设计和实现密切关联这种事实并不意味着两者是一样的,即使两种任务有时由同一个人完成。编写代码的技术要求常常要程序员如此投入,以至于程序员会看不到影响产品设计的更大问题。#书摘
结构设计师和技术管理团队的实际现场条件中。
一般来说,项目的编程和设计活动必须密切关联。在实现设计的过程中,会出现新的信息,在很多情况下这些信息会改变原来的设计。如果设计和实现都是封闭的,则会变成一场灾难,因为不能实施细化和变更过程。
设计和实现密切关联这种事实并不意味着两者是一样的,即使两种任务有时由同一个人完成。编写代码的技术要求常常要程序员如此投入,以至于程序员会看不到影响产品设计的更大问题。#书摘
很多认为自己是干软件设计的人恰恰缺少有效参与总体过程的技术基础。很自然,程序员很快就会失去对不能理解基本技术问题的人的尊敬。对这个问题的答案不是把设计人员排除在总体过程之外,而是要确保他们掌握技术基础知识,以便能够与程序员进行真正的沟通。
为学生设计人员设计的技术课程应该涉及计算机程序构建的原则和方法,包括计算机系统体系结构、微处理器体系结构、操作系统、网络通信、数据结构与算法、数据库、分布式计算、程序设计环境和面向对象的开发方法论。
设计人员必须具备至少一种现代程序设计语言(C或Pascal)的坚实的实用知识,此外
还要接触过很多不同的语言和工具,包括Forth和Lisp。(这本书真是够老,那会儿估计Java都还没有诞生)#书摘 《软件设计的艺术》
为学生设计人员设计的技术课程应该涉及计算机程序构建的原则和方法,包括计算机系统体系结构、微处理器体系结构、操作系统、网络通信、数据结构与算法、数据库、分布式计算、程序设计环境和面向对象的开发方法论。
设计人员必须具备至少一种现代程序设计语言(C或Pascal)的坚实的实用知识,此外
还要接触过很多不同的语言和工具,包括Forth和Lisp。(这本书真是够老,那会儿估计Java都还没有诞生)#书摘 《软件设计的艺术》
什么是设计?什么构成设计要解决的问题?设计就是脚踏两个世界,即技术的世界和
人及其意愿的世界,设计人员努力要做的是把两者结合到一起。
我们来看一个例子。
建筑师(不是建筑工程师)是一种专门职业,全面负责建筑的修建。建筑与工程作为学科是相互对等的,但是在实际设计和修建建筑的过程中,工程师要接受建筑师的指示。
工程师在这个过程中要发挥至关重要的作用,但是他们要服从建筑师所确定的建筑设计的基本要求。
当人们想要设计一所房子时,首先要找建筑师,不是工程师。为什么?因为成为好建筑的要素在很大程度上不是工程所要解决的问题。人们要求卧室安静以便能够睡个好觉,要求餐厅靠近厨房。餐厅靠近厨房这个事实首先来自知识,来自厨房的用途是准备食品,餐厅用于消费食品。其次,有相关用途的房间在空间上应该靠近。这不是一种事实,也不是技术问题,这是一种设计智慧。#书摘
人及其意愿的世界,设计人员努力要做的是把两者结合到一起。
我们来看一个例子。
建筑师(不是建筑工程师)是一种专门职业,全面负责建筑的修建。建筑与工程作为学科是相互对等的,但是在实际设计和修建建筑的过程中,工程师要接受建筑师的指示。
工程师在这个过程中要发挥至关重要的作用,但是他们要服从建筑师所确定的建筑设计的基本要求。
当人们想要设计一所房子时,首先要找建筑师,不是工程师。为什么?因为成为好建筑的要素在很大程度上不是工程所要解决的问题。人们要求卧室安静以便能够睡个好觉,要求餐厅靠近厨房。餐厅靠近厨房这个事实首先来自知识,来自厨房的用途是准备食品,餐厅用于消费食品。其次,有相关用途的房间在空间上应该靠近。这不是一种事实,也不是技术问题,这是一种设计智慧。#书摘