手机版

有30多年编程经验的程序员总结

时间:2021-09-09 来源:互联网 编辑:宝哥软件园 浏览:

在我做程序员的30多年里,我学到了很多有用的东西。以下是我多年积累的经验精华。我经常想,如果以前有人能给我一些关于这些经历的建议,我相信我现在会站得更高。

1.客户接触产品后,才会真正了解自己的需求。

这是我在第一份工作中学到的。只有当我们向顾客展示产品时,他们才会意识到什么是必要的。给出一个功能原型设计远比一个长文本表格好。

2.只要有足够的时间,所有的安全防御系统都会失效。

当今,安全防御是全世界都在关注的重大问题和挑战。我们必须一直积极改进,因为黑客一旦成功就能彻底打败你。

3.安全防御是否失败取决于早期规划。

假设黑客会彻底摧毁你的防御系统,你必须提前做好准备。这样,即使他们真的入侵了系统,他们也不能窃取任何有价值的东西,因为您已经为服务器进行了安全设置,例如加密数据库中的内容并隔离每个可能受到攻击的服务器。

记住,再强的防守也会有弱点,关键是要做好准备。

4.一个好的安全防御体系不应该在乎它的成本,因为它是一种战略投资;安全防御失败是浪费资源。

在我的职业生涯中,我经常听到人们抱怨安全防御是多么复杂和昂贵。他们没有意识到的是,如果辩护失败,公司将损失超过数十亿美元。存几块钱导致破产无疑是非常愚蠢的。

5.把复杂的东西组织成简单的东西是非常困难的,但是把复杂的东西组织成更复杂的东西是很容易的。

这条规则适用于编程、设计和几乎所有的创意领域。我总是希望我的代码尽可能容易理解。如果您的代码过于复杂和晦涩,它就不太可能正常工作。我非常幸运地看到一些程序员努力工作,使得代码更加难以捉摸。

6.成功来自失败中的学习;失败是由于对错误的宽容。

有很多程序员总是争论“程序这么难,出错是正常的,软件变差是必然的”。这种理由已经听过很多次了,所以人们也逐渐接受了这些无稽之谈的借口。但是作为程序员,我们真的不应该让这些借口阻碍我们的进步。我们应该记住,错误只能犯一次,我们应该从中吸取教训。换句话说,程序员希望下次能修复一次代码。但没有人是完美的,但至少我们正在朝着这个方向前进。

7.唯一不变的是变化本身,这是任何人都无法改变的规律。

认为明天的世界和今天一样是愚蠢的。尤其是在编程界,没有什么是永恒的。人不能两次踏入同一条河。

8.永远不要停止学习。一旦你停下来,技术的浪潮就会在沙滩上把你打死。

成为无敌程序员的唯一方法就是不断学习,不断进步。因为一旦你放松下来,你所有的优势都将随风而逝。

9.整个软件行业都是基于“百家争鸣”的理念。

在我的职业生涯中,我见过很多程序员认真对待各种事情:预计完成时间、规模等等。有些人会犯错误,一次又一次地战斗。一些以前被批评为“行不通”的技术,如今已经牢牢占据了人们生活的一席之地,并且正在向另一个高潮冲刺。

10.适合你的不一定适合他。

在软件项目中,我们可以做出许多选择。有些是明智的,有些是坏的。但是适合自己和自己现状的选择,可能对别人完全不适用。我们经常听到有人说他们在做伟大的创举,但如果他们说这是唯一的好办法,我会嗤之以鼻。

11.在这个不断变化的世界里,评估是最重要的技能。

有些人可能不知道这一点。但是如果你愿意了解新事物,看到别人的努力,比较做事的方式,然后最好地利用它们,那么不仅是你,你的团队、你的项目和你的公司都会受益匪浅。但是很多人并不擅长这个,很多负责人甚至在这方面表现得很差。别人说什么做什么都很容易。然而,如果我们想全方位地看待问题,然后根据自己的需要选择相应的最优方向,这是非常困难的。做软件行业的选择是必须的,但是如果你在不得不评估分析的时候,却迷茫了,最终的结果只能是随机选择一个或者盲目从众。

12.不管是黑猫白猫,抓老鼠都是好猫。

只要你的软件能够实现客户指定的功能,他们就不在乎需要解决什么问题。系统出了问题,发生了异常,硬件坏了,程被女朋友甩了,黑客偷号:用户永远不会对这些东西感兴趣。如果发生了意想不到的事情,你最好坦率地告诉它,但你最好确保它不会持续下去,因为你总是把最终的产品给客户。

13.顾客的意见决定质量。

不管你设置了多少指标,检查了多少表单,检查了多少代码,写了多少测试,都不是关键,除非客户看到软件运行正常。关于代码质量、性能、设计和可用性,客户的意见是决定质量的唯一因素。

14.对某事的无知可能会让你失败,因为你没有这方面的经验。

即使在今天,我仍然感到惊讶的是,一些同行仍然没有收集足够的日志、崩溃报告和使用信息来控制他们自己的软件。大多数忽视这些信息的人会高估他们产品的质量。因为如果你不采取措施,不记录结果,你就会对当前的情况一无所知,包括你的客户。我反复强调,详细有用的日志记录,程序崩溃跟踪,评论和意见,各种能让我尽快知道事情经过的方式方法都是可行的。不过,我也知道很多人认为“这种事跟程序员有关系吗?”。

14.总有更好的办法,但时间不允许。

评估中最难的节点是什么时候停止头脑风暴,开始工作。也许我们会错过更好的方法,但如果时间长了,就不值得了。但这很难定义,但有时今天的一个小选择可能会在明年击败更好的选择。谁知道呢?

以下两点引自一位销售人员,他是我很久以前的同事。有些事情我不完全同意,但也可以给我们一个不同的视角。

15.顾客在找愚蠢的。

这是我最喜欢的句子。这位销售人员在一家咨询公司工作。他认为,要找到那种不懂技术却有足够资本挥霍的黄金所有者。聪明人总是问很多问题;没钱的人买不起我们的服务。很高兴我是程序员,哈哈!

16.我的工作是欺骗客户,而你的工作是支持我。

第二句话来自同一个销售人员。他总是喜欢不断地承诺一些不可能完成的任务,然后当我们终于努力加班并且摆脱掉的时候,他就会收获我们成功的果实。挑战是令人兴奋的,但它太痛苦了,不可能每次都是如此不可能的任务。我的建议是换一个更好的销售人员!【译者注:这不就是传说中PM和程序员的“和谐”关系吗?】

版权声明:有30多年编程经验的程序员总结是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。

相关文章推荐