logo

张华山

南京同心圆教育科技有限公司合伙人

职业信息:

领域:


张华山(网名:良人),现任南京同心圆教育科技公司合伙人,博主,自媒体人。 互联网知识型社群试水者,资深互联人和传播者。
目前从事教育行业应用开发,拥有15年的架构师/开发经验;擅长多种语言包括C#、PHP、JAVA、Python、Golang、nodejs;同时还是一名Web设计师,专注HTML/CSS/Ajax,Vue.js,Angular.js等领域。
把程序员作为毕生的事业。

在程序员岗位上工作了近二十年,我有一些心得和大家分享:

1、 看不到产品,用户不会知道自己想要什么

一个功能性的展示,能够省下无谓低效的口述。

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

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

3、 系统被攻破后造成的影响,依赖于事前的预案

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

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

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

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

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

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

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

7、 永远不变的是变化

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

8、 保持学习习惯

 我们都在逆水行舟,必须不断前进。当我们自认已掌握一切后,其实是倒退的开始。

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

 一个浮躁的年代古时候,人人都喜欢去预判下论断。

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

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

11、 客户才是最好的质量标准

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

12、 无记录,不成功

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

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

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

14、 寻找有钱的金主

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

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

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