三十功名尘与土——资深程序员生涯自白
摘要:作者Codist(网名)在程序员岗位上工作了三十多年,在这期间他悟出了一些真理,比如,成功来自对失败的总结学习;条条大路通罗马,罗马并不在乎你用什么方式到达。你在生活中积累了哪些经验呢?不妨与我们分享下。
在程序员岗位上工作了三十多年,我学到了也明白了一些事情,希望在这里跟大家一起分享:
- 看不到实物,客户不会知道自己想要什么
一个功能性原型系统的展示,能够省下无谓低效的赘述。
- 只要给予足够的时间,任何安全措施都不安全
安全是目前系统运维的重大挑战,我们每时每刻都想方设法来保护系统和数据,但是黑客只要成功一次,我们所有努力就极有可能都付诸东流。
- 系统被攻破后造成的影响,依赖于事前的准备功夫
如果能够预先估计防护系统失效的后果,做足准备措施,例如:把关键数据单独分离存储,对数据进行加密等,那么或许可以减少日后上头条的机会。
- 良好的安全部署不仅仅是开销,而是战略资产,如果吝啬于此,代价将不菲
在工作中,我总会听到人们常常抱怨安全运维是多么的复杂和昂贵,因此,总不时看到某些企业为了蝇头小利,以牺牲安全性来节省开支,最后不得不多吞下N倍的苦果。
- 复杂问题简单化,远比普通问题复杂化困难得多
在任何创造性艺术领域,如:编程,设计,这都是个常见现象。我会尽力把代码写得简单易懂,不论是为了自己还是别人;如果你想展示自己的聪明才干,而故意把代码变得复杂,那么维护会是件可怕的事情。当然从保护知识产权角度来看,这本无可厚非,但或许会失去开源软件的活力与创造力。
- 成功来自对失败的总结学习,如果一再容忍失误,失败与成功注定是两条平行线
当人们对自己的错误习以为常,那么创造出来的可能是毫无价值的产品。我们需要订下目标:只允许自己犯同类型的错,一次。只有严控错误频率,才能不断提高软件开发水平。
- 永远不变的是变化
仅根据今天的情况来制订明天的计划,是不明智的。特别是在编程的世界里,没有亘古不变的死路子。反对技术进步,闭关自守,不接受或尝试新事物,注定是不会成功的。
- 终身学习
我最喜欢的一个说法是:我们背后都跟着一个大滚筒,只要稍微停下,就有可能给绊得人仰马翻,因此,我们必须比它跑得更快,不断前进。当我们自认已掌握一切后,殊不知其实是倒退的开始。
- 整个软件业充斥着野驴猜想
古时候,先知者如果预言失败,会给石头活活砸死;而现在,即使预判失败,专家们都可全身而退,不过去做另外一次预判罢了。因此,野驴猜想盛行,人人都喜欢去预判下论断,一个浮躁的年代。
- 条条大路通罗马,罗马并不在乎你用什么方式到达
客户不会关心你会遇到什么问题,他们只想你的软件能解决他们的问题。系统宕机,硬件损坏,黑客攻击,这些对客户来说毫无趣味可言。如果不幸发生这些囧事,老实交代是较好的做法,特别是被客户清晰知道你将如何解决这些问题前。
- 客户才是最好的质量标准
不论你有多少的测量指标,进行了多少回代码回顾,通过了多少个验收清单,这些其实都是次要的;最关键是我们做到客户所期望的,没有做多余的无用的。记住,客户才是最后把关的QA。
- 无记录,不成功
时至今日,我仍然觉得人们如果不去收集日志,崩溃报告等有用信息,是多么的我伙呆。我一直坚持做的是进行尽可能详细的记录,追踪崩溃情况,阅览复核报告和备注,和其它任何能迅速定位错误的事情。
- 尽管存在更好的办法,但是时间不会停下来等你
在做评估时,最困难的是取得终止和继续之间的平衡。如果终止,或许会失去找出更好办法的机会,但如果这办法需要耗费过长时间,其实没多大价值。这是个艰难的抉择,但有时候今天做出的快速选择,会比明年才得出的好选择更管用。
- 寻找有钱的金主
曾合作过的一名销售人员的观点让我印象深刻:找到一个不懂技术但有很多钱的人,如同找到了一个大金矿。聪明的人会问太多问题,贫穷的人不能给予你回报。我由衷地为自己成为程序员感到高兴!
- 我的工作是对客户撒谎,你的工作是让我看起来是一个好人
还是前述的那名销售人员,他喜欢口头允诺客户完成不可能的任务,并在我们最终完成任务后,捷足先得我们的奖赏与赞誉。尽管挑战难题会很有成就感,但每次的副作用是无尽的痛苦。我的建议是:尽快寻找另外一个更好的销售!
作者简介:
作者Codist(网名),目前从事iPhone 应用开发,拥有10年的Java架构师/开发经验,现已转投PHP;擅长Fortran、Pascal及各种汇编语言包括C、 C++、 SQL、Objective-C、Java、JavaScript、PHP;同时他还是一名Web设计师,专注HTML/CSS/Ajax等领域。
英文出自:Thecodist
三十功名尘与土——资深程序员生涯自白相关推荐
- 转载:一位资深程序员大牛给予Java初学者的学习路线建议
一位资深程序员大牛给予Java初学者的学习路线建议 java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来 ...
- (转)一位资深程序员大牛给予Java初学者的学习路线建议
一位资深程序员大牛给予Java初学者的学习路线建议 java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来 ...
- 漫谈程序员(五)20年资深程序员编程经验分享
20年资深程序员编程经验分享 原文作者乔纳森·丹尼可(Jonathan Danylko)是一位自由职业的web架构师和程序员,编程经验已超过20年,涉足领域有电子商务.生物技术.房地产.医疗.保险和公 ...
- 九年程序员生涯,我的一些经验教训
本文是来自一位国外资深程序员 托马斯·阿科米 工作数年的几点感悟.一篇很有趣也很真实的文章,颇有感触,也希望能够帮到你.(外文链接) 目录 1.与人交谈比与机器交谈更重要 2.了解你在做什么以及为什么 ...
- 一个程序员的自白:我为什么写博客
时间: 2011年 人物: 初出茅庐的臭小子, 臭石头一般坚硬的相信我将来一定会成为富二代他爹. 我来到一个大型互联网公司, 同事很nice, 管理很自由, 在这里开始了我的码农生涯. 我很敬重部门老 ...
- 九年程序员生涯一些经验教训,九年磨一剑奥里给!
目录 1.与人交谈比与机器交谈更重要 2.了解你在做什么以及为什么这么做 3.如果代码审查让你倍感压力,这可不是个好事儿 4.防患于未然 5.别害怕让别人看到自己的一无所知 6.学会分享 几年不见,打 ...
- 一位资深程序员大牛(4-5年经验)给予Java初学者的学习建议
这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议? 今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要 ...
- 一位10年程序员生涯的总结与经验忠告分享
展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告 走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的1 ...
- 资深程序员不一定当得了软件架构师
本文的作者Armel Nene是ETAPIX Global公司的首席架构师,他居住在伦敦,他参与过的开源项目包括 Apache Lucene,,Apache Nutch, Liferay 和 Pent ...
最新文章
- win定时关机_怎么让电脑定时关机,有多种办法
- 我们买得起nook,kindle fire可我们买不起书啊
- 批处理写入以及动态与参数化SQL,数据库的性能如何?
- linux shell 编程
- tcp协议和三次握手
- Nginx 实现封杀恶意访问
- 《著名企业求职面试指南》——揭秘顺利通过名企面试的“潜规则”
- 为什么使用close()关闭所打开文件
- oracle开机自启动、监听自启动设置
- MyBatis(五)------MyBatis配置
- 软件项目管理 6.6.三点估算法
- 统信UOS升级Python3及安装spyder5
- 力扣739题:每日温度
- pmap anon 内存泄露
- 数据结构基础之堆排序
- lzo的正确c语言代码,LZO 使用跟介绍
- vscode 下载慢解决方法
- Jquery弹出层,背景变暗 居中
- 想剑网三妹子最多服务器,萌妹子玩游戏之剑网三 国产网游经典大作来袭
- 解决端口被占用的方法(查看端口和关闭端口)
热门文章
- 【转】ABP源码分析二十四:Notification
- 【转】人工智能-1.2.2 神经网络是如何进行预测的
- Sharepoint学习笔记—架构系列
- 我们可以用SharePoint做什么
- mysql 第二大的数据_MYSQL – 从大表中的第二行中选择数据
- Pandas数据可视化工具:图表工具-Seaborn
- uniapp动态修改样式_uniapp样式动态绑定
- 正则表达式:获取一串字符串中,某个字符串到某个字符串之间的字符串,不包含左右,只取中间
- 【Python CheckiO 题解】Right to Left
- c语言 有趣的代码,分享一段有趣的小代码