10

三十功名尘与土——资深程序员生涯自白

 3 years ago
source link: https://blog.csdn.net/china_video_expert/article/details/39290085
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

三十功名尘与土——资深程序员生涯自白

叶广明_微信ye_guangming 2014-09-15 11:04:02 813
分类专栏: C语言进阶
摘要:作者Codist(网名)在程序员岗位上工作了三十多年,在这期间他悟出了一些真理,比如,成功来自对失败的总结学习;条条大路通罗马,罗马并不在乎你用什么方式到达。你在生活中积累了哪些经验呢?不妨与我们分享下。

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 永远不变的是变化

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

  • 终身学习

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

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

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

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

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

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

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

  • 无记录,不成功

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

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

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

  • 寻找有钱的金主

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

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

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

作者简介:

作者Codist(网名),目前从事iPhone 应用开发,拥有10年的Java架构师/开发经验,现已转投PHP;擅长Fortran、Pascal及各种汇编语言包括C、 C++、 SQL、Objective-C、Java、JavaScript、PHP;同时他还是一名Web设计师,专注HTML/CSS/Ajax等领域。

英文出自:Thecodist


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK