说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

三十功名尘与土——我的程序员生涯自白

HTML文档下载 WORD文档下载 PDF文档下载
作者在程序员岗位上工作了三十多年,在这期间他悟出了一些真理,比如,成功来自对失败的总结学习;条条大路通罗马,罗马并不在乎你用什么方式到达。你在生活中积累了哪些经验呢?不妨与我们分享下。

在程序员岗位上工作了三十多年,我学到了也明白了一些事情,希望在这里跟大家一起分享:

  • 看不到实物,客户不会知道自己想要什么

一个功能性原型系统的展示,能够省下无谓低效的赘述。

  • 只要给予足够的时间,任何安全措施都不安全

安全是目前系统运维的重大挑战,我们每时每刻都想方设法来保护系统和数据,但是黑客只要成功一次,我们所有努力就极有可能都付诸东流。

  • 系统被攻破后造成的影响,依赖于事前的准备功夫

如果能够预先估计防护系统失效的后果,做足准备措施,例如:把关键数据单独分离存储,对数据进行加密等,那么或许可以减少日后上头条的机会。

  • 良好的安全部署不仅仅是开销,而是战略资产,如果吝啬于此,代价将不菲

在工作中,我总会听到人们常常抱怨安全运维是多么的复杂和昂贵,因此,总不时看到某些企业为了蝇头小利,以牺牲安全性来节省开支,最后不得不多吞下N倍的苦果。

  • 复杂问题简单化,远比普通问题复杂化困难得多

在任何创造性艺术领域,如:编程,设计,这都是个常见现象。我会尽力把代码写得简单易懂,不论是为了自己还是别人;如果你想展示自己的聪明才干,而故意把代码变得复杂,那么维护会是件可怕的事情。当然从保护知识产权角度来看,这本无可厚非,但或许会失去开源软件的活力与创造力。

  • 成功来自对失败的总结学习,如果一再容忍失误,失败与成功注定是两条平行线

当人们对自己的错误习以为常,那么创造出来的可能是毫无价值的产品。我们需要订下目标:只允许自己犯同类型的错,一次。只有严控错误频率,才能不断提高软件开发水平。

  • 永远不变的是变化

仅根据今天的情况来制订明天的计划,是不明智的。特别是在编程的世界里,没有亘古不变的死路子。反对技术进步,闭关自守,不接受或尝试新事物,注定是不会成功的。

  • 终身学习

我最喜欢的一个说法是:我们背后都跟着一个大滚筒,只要稍微停下,就有可能给绊得人仰马翻,因此,我们必须比它跑得更快,不断前进。当我们自认已掌握一切后,殊不知其实是倒退的开始。

  • 整个软件业充斥着野驴猜想

古时候,先知者如果预言失败,会给石头活活砸死;而现在,即使预判失败,专家们都可全身而退,不过去做另外一次预判罢了。因此,野驴猜想盛行,人人都喜欢去预判下论断,一个浮躁的年代。

  • 条条大路通罗马,罗马并不在乎你用什么方式到达

客户不会关心你会遇到什么问题,他们只想你的软件能解决他们的问题。系统宕机,硬件损坏,黑客攻击,这些对客户来说毫无趣味可言。如果不幸发生这些囧事,老实交代是较好的做法,特别是被客户清晰知道你将如何解决这些问题前。

  • 客户才是最好的质量标准

不论你有多少的测量指标,进行了多少回代码回顾,通过了多少个验收清单,这些其实都是次要的;最关键是我们做到客户所期望的,没有做多余的无用的。记住,客户才是最后把关的QA。

  • 无记录,不成功

时至今日,我仍然觉得人们如果不去收集日志,崩溃报告等有用信息,是多么的我伙呆。我一直坚持做的是进行尽可能详细的记录,追踪崩溃情况,阅览复核报告和备注,和其它任何能迅速定位错误的事情。

  • 尽管存在更好的办法,但是时间不会停下来等你

在做评估时,最困难的是取得终止和继续之间的平衡。如果终止,或许会失去找出更好办法的机会,但如果这办法需要耗费过长时间,其实没多大价值。这是个艰难的抉择,但有时候今天做出的快速选择,会比明年才得出的好选择更管用。

  • 寻找有钱的金主

曾合作过的一名销售人员的观点让我印象深刻:找到一个不懂技术但有很多钱的人,如同找到了一个大金矿。聪明的人会问太多问题,贫穷的人不能给予你回报。我由衷地为自己成为程序员感到高兴!

  • 我的工作是对客户撒谎,你的工作是让我看起来是一个好人

还是前述的那名销售人员,他喜欢口头允诺客户完成不可能的任务,并在我们最终完成任务后,捷足先得我们的奖赏与赞誉。尽管挑战难题会很有成就感,但每次的副作用是无尽的痛苦。我的建议是:尽快寻找另外一个更好的销售!

英文出自:Thecodist

(责编/夏梦竹)

显示动画鼠标图标-VB资料 修复VB5启动时可能出现的一个bug 修改IE的环境菜单-VB资料 修改安装向导生成的缺省安装目录 -VB资料 修改屏保口令 -VB资料 修改屏幕保护的口令 -VB资料 旋转字体 -VB资料 延时函数-VB资料 一个关于乘法溢出问题的探讨 -VB资料 一组VB实用小程序 一组VB应用技巧 隐藏和显示任务栏-VB资料 应用 WSH 读写注册表和建立快捷方式 -VB资料 VB用 IIF 和 SWITCH 以精减代码 VB用BASIC语言设计Windows风格的用户接口 VB用Form 的 Mouse_Move事件来检查鼠标是否在窗口内: VB用RND()函数加密 VB用SendKeys来捉屏 用VB4.0制作软件封面 用VB5 对Windows 95 任务栏提示区进行编程 用VB5读写注册表实例 用VB5开发商品软件的经验谈 用VB5设计多功能计时器 用VB5制作文字上卷效果 用VB6.0实现打字效果 用VB编写DirectX7.0游戏(上) 用VB创建Excel报表 用VB读取和控制Windows的中文输入法 用VB将命令行软件Windows化 用VB进行移位操作 用VB开发CAI软件的小经验 REDHAT LINUX 7.2下如何建立多个用户?多谢指点! 关于网线!高分!!!!! 关于生成文件的方法? 课程表开发 请问各位前辈,是否只有新增加的字段才有可能成为计算字段?谢谢! 俺要写一个简单的文本的报文,string类型的 关于生成文件的方法?..... 有谁能告诉一下我CVS和SSF是什么?,具体是指些什么?? WIN2K 的问题:1、怎么允许本地普通用户(user)关机;2、怎么能让本地普通用户开机后,客户机连接到SQL SERVER?3、为什么我的SQL量SERVER2K需要停止然后再启动客户才能用? 如何用VB把存储在ORACLE库中的图片字段取出成.JPG格式的图片文件????急在外出差呀多谢了~~~~~ 如何退出函数?exit function??? 测试2000的TCP/IP是否通,用什么命令 求助开发课程表提示 (*****向斑竹你提个小见意,大家最好都来看看,这个想法好不好!****) 为什么我做的增加功能有两个必须要按两次“添加”按钮才能新增一条记录啊? 很急,请教高手,如何把一个ip格式的字符串转换成ip类型,不是用getbyname(),而是像int和string转换一样的概念 请问如何让基于对话框的工具条一开始就浮在上面 来者有分,关于ado的 毛子青论文<<动态规划的优化>>,一个最长子序列的算法,请高手看过来(给出c实现代码的送20分!) 在鼠标单击时间中,可以使用什么函数取得鼠标点击处的坐标值 怎样在单击左键时弹出PopupMenu? 连续20多天加班,近来明显感到体力透支,做个调查!!!(有分) ASP调用VB编写的ActiveX DLL的问题 请教一sql语句 在Unix下用cc(实际上是cc_bundled文件)编译c程序时,报错“const" will become a keyword,或者告诉我“Function prototypes are an ANSI feature" 为何加入winsock2.h后会出现很多问题? 热烈庆祝:Kingron重出江湖!!!菜鸟们有福喽……散分 you shen me qu bie ? please tell me , xie xie ! [■■■Delphi猛料■■■]V1.3发布~~~~~~~更新到2001.12.12 提问:如何在ToolBar上加控件? 我在OLE里调用了word2000文档,为什么只显示第一页,我查了半天资料都没有解决,请帮我 哪里有多媒体软件制作论文啊? 继续请教各位前辈:能否将非新增加的字段定义成计算字段?谢谢! 软件创意、需求大汇集:列创意,拿专家分,120分值大赠送(以后可继续追加) 局渔网 巨简单问题~~~ 进来有分,回答多分,不够再加!!! 关于关闭和启动数据库的问题,很急的!! java VS c#^-^ ?? 请进 寻求QuickReport3以上版本 for Delphi3 的源代码或者安装包? 請問哪大俠用過 ibm 的 bridge2java啊,我把Excel的所有類都導出來了,但它的QuickExcel.java文件還是運行不了, 求救!新装了一块硬盘,为何找不到呀? SetWindowLong函数在delphi里可用,为什么在c++builder 中不能用??? 用弹出式菜单命令弹出一个dialog,可以响应键盘,可是不响应鼠标? 请教,Inserts类是拿来干什么用的? !!!急急急!!!怎样在WIN2000下把NTFS转换成FAT32啊。数据不丢失。 回复太短!或太长!!! visio2002的数据库建模,能不能生成SQL脚本? 急急啊,有關servlet的問題,源碼如下: 添加数据的问题 坐标问题 unix下的nfs 焊锡大多是63%锡的,另外37是什么?铅是有毒的啊!吸入焊锡发出的烟会不会中毒啊?市场上无铅焊锡很少啊!另外松香怎么用,用100%酒精混合使用? 海水可以结冰么?不可以,因为大海里的水含有盐分,有盐的东西都不会结冰的. 甲物体质量为乙物体的三分之一,乙物体体积是甲物体体积的2倍,求乙物体的密度明天就得交 哪里有卖无铅焊锡丝和吸锡线的?最好在小白楼附近,别的地方也行.大概什么价钱?吸锡线一定要小日本的,没办法质量好. 海水结冰温度是多少? 有甲乙两金属块,甲的密度是乙的5分之2,乙的质量是甲的2倍,那么甲的体积是乙的多少? 海水结成的冰是咸的马? 海水结冰问题冻牛奶时,冰和奶是分开的 冻豆腐会留下空室海水结冰盐会留在里面吗 甲物体的质量是乙物体的3倍,使甲,乙两个物体的体积之比为3:2,求甲,乙两物体的密度之比 海水结的冰是咸的吗? 关于海水结冰问题海面上的水结冰,结成的冰融化后与没有结成冰的水的含盐量大概是多少比多少,如果给出各是百分之几更好.还有把海水晒成盐这种工艺叫做海水什么? 有甲乙两物体,家的密度是乙的密度的三分之二,乙的体积是甲的体积的四分之五,那么甲的质量是乙的质量的多少倍,快 急 设计实验验证海水结的冰是淡的还是咸的.海水是淡的还是咸的,请利用厨房里的物品,设计实验模拟海洋环境制作“海冰”、并设计实验证明海冰是咸的还是淡的,要实验具体步骤。 中国那些地区海水结冰了? 澳大利亚东北部海域有大量的珊瑚礁,分析这些珊瑚礁的正面作用. 液体沸腾的条件是什么 为什么海水是咸的.而海上的冰却是淡的? 海水易结冰还是河水易结冰? 饮料冰冻之后再冷藏味道淡了.能喝吗、 海水为什么这么咸?南北极的冰是不是"咸冰"?这么咸对人类有什么好处?真的没想到,我第一次下海,就是这样的感觉.海水太咸.所以想到了这些. 家庭和实验室常用的温度计是根据什么的规律来测量的 为什么饮料冻成冰之后味道会变淡比如说牛奶、橙汁之类的 为什么海水不结冰呢? 固体密度大概是液体密度的多少倍? 怎样快速冰冻汽水越快越好啦 怎么提纯焊锡中的锡?在家搞实验. 固体密度大于液体密度? 汽水会结冰吗如题那会不会爆炸 如何从助焊锡中提取焊锡 河水和海水哪个更容易结冰 锡焊的锡有几种状态(比如焊锡丝、焊条)? 海是河流汇聚而成的,还又流道各个河流,为什么海水是咸的,而河水是淡的?为什么呢? 为什么海水比河水难结冰 压力表锡焊用焊锡量多少的焊锡丝 为什么海水会又原先的淡变咸 怎么样求固体,液体的密度用五种方法测量物体的密度,方法越多越好。、文字说明,最好有图画,要讲清楚,不能有遗漏, 如何在焊锡丝中分离出纯锡 为什么海水咸,河水不咸 540kg的水化成冰 体积是多少 焊锡丝焊接时为什么锡会飞溅 为什么海水是咸的而河水、湖水是淡的呢? 1kg的水化成冰它的质量、体积分别是多少? 液体沸腾的两个条件是: 海水为何是咸的 甲乙两木块的质量比为3:2,其体积比为1:2,则其密度比为多少? 液体沸腾的条件 金属温度计\电子温度计的原理 甲乙两质量分布均匀的物体的体积相同,它们的质量之比是5:3,则它们的密度之比是_________.若甲截去3/5, 海水为什么不会结冰? 温度计的原理问一下温度及时利用什么原理制作的?温度计的刻度是怎么画的?每一度之间的刻度是怎样计算的?为什么温度计选择酒精而不选择别的液体?是因为酒精防冻吗?希望可以说的详细 海水结冰是盐为什么会分离出来? 焊锡是锡铅合金,把铅加入锡中制成合金的主要目的是增加强度和抗腐蚀性生铁和钢是含碳量不同的铁合金,其中生铁的含碳量大于钢的含碳量这两句话 哪句对? 温度计的原理是什么? .冬天,小明在海边散步,发现路面上的水结冰了,但海水并没有结冰,他猜想:可能是海水中含有盐,导致凝固表格 制造焊锡时把铅加进锡中的重要原因 海水会不会结冰?如果不会结冰那为什么南极和北极会结冰? 某物质的密度是105kg/m3,该物质的状态是?a.固态 b.液态 c.气态 d.无法判断额,不好意思啊.密度是1.5kg/m3啊 制造焊锡时,把铅加入锡的主要原因 海水为什么不会结冰吗? 什么状态的物体密度大 固态还是液态还是气态
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn