查看原文
其他

和软件开发相关的一些思考

liuyubobobo 是不是很酷 2021-05-31

1.


虽然有一句话叫“deadline 就是第一生产力”,并且在很多人身上还挺灵验的,包括我。但是这个“灵验”,其实是不考虑质量的。


如果考虑质量的话,通常 deadline 是没有用的。这是因为,在大多数时候,对于脑力劳动者来说,所做的事情,并非是对以前工作的重复。


永远有新的状况会发生,导致 deadline 无法完成。所以,真正良性的项目开发过程,不是拼命去赶 deadline。


当然,这不意味着制定 deadline 或者制定计划没有意义。但关键是,在项目执行的过程中,需要不断地根据实际情况去调整计划。


这本质给项目管理带来了挑战。因为项目管理者需要小心地分辨:deadline 没有完成,到底是项目成员怠工?还是项目计划制定不合理?亦或者是新的,没有预估到的情况发生所导致。


这些判断,分析,对项目的把控并合理做出调整,就是有经验的项目管理者的价值。


而一刀切地使用固定的 deadline,是没有技术含量的,随便谁都能做。


在软件开发的过程中,一刀切地使用固定的 deadline,结果也一定是牺牲软件的质量。



2.


以上这一条,同样适用于很多非软件开发的脑力活动。比如学习。


给自己制定计划,每周学习多少内容;每天背多少单词;每天看多少页书;等等等等,通常都是不合理的。


合理的学习计划不是在学习之前制定出来的,而是在学习的过程中,慢慢调整出来的。


否则,一味地坚持自己最初制定的学习计划,只能牺牲学习质量。


如果你经常主动学习,尤其是有质量的学习,一定会经常调整自己的学习计划,认真审视自己最初制定的学习计划的不合理之处。


慢慢的,你就能找到自己的学习节奏,制定出越来越合理的,适合自己的学习计划。


你就变成了一个“有经验的学习者”。


我曾写过一篇文章,叫《慢增长》,也聊过这个问题。



3.


永远不要让开发者估计开发时间。大多数开发者(在我看来是所有开发者,包括我)都会高估自己的开发速度,低估软件工程的复杂程度。


所以,再一次,有经验的项目经理是非常重要的。当然,前提是有经验。



这则漫画搜索自网络,我没有找到作者信息。侵删。



4.


不同的语言,平台,框架,IDE,系统,编程范式,等等等等,他们都只是工具而已。


因为这些工具而打架,是很幼稚的。


争执到底是 Java 好还是 Python 好,到底是面向对象好还是函数式编程好;已经暴露了你是一个初级程序员。


这近乎等于是在争论:到底是十字改锥好,还是一字改锥好,亦或者是扳手更好。


关键的问题不是谁更好。实际上,我们也无法定义出到底什么是“好”。


关键问题是:你现在的项目,你现在要完成的事情,你现在要解决的问题,使用什么工具更合适。


软件行业的经典结论,就是没有银弹。


不管你对什么技术疯狂的痴迷,都应该明白,这种技术不能解决所有问题。



5.


我有些怀疑,一门心思地只做技术,不与人做“真正的沟通”,会让人越来越自大。


因为技术是一个太有掌控感的事情。计算机一定按照你写的每一行指令去运行。而计算机运行出你所期望的结果,又是一件太有成就感的事情。


这两件事情在现实世界都不太会发生:


1)没有人会永远按照你的指令去做事情,哪怕你是总统,首富,或者 CEO;


2)世界不会按照你所期望的方式运转。


所以,很多人技术做得太久,会孤芳自赏,会自大,会渐渐“丧失”理解其他人的能力。


这里说的技术,是广义的,不仅仅局限于计算机技术。



技术人员也需要多和“人”做真正的沟通,而不仅仅是和计算机做沟通。


了解不同人的想法,不同人思维的差异,可以让你更容易地去接受这个世界存在着的不同。这将让你更谦虚。


在我看来,这种谦虚,是有力量的。



众所周知,乔布斯是一个自大的人。但是,请大家看看这段影片所展现的,到底是乔布斯更自大,还是提问的技术人员更自大?


这则录像来自 1997 年,乔布斯刚刚回归苹果不久,一次开发者大会上,乔布斯对这样一个问题的回答。


“乔布斯,你是一个聪明又有影响力的人。但是很遗憾也很明显,很多时候你根本不知道自己在做什么。我希望你能用清楚的语言解释一下 Java 编程语言以及其变种是如何阐述 OpenDoc 内置的一些想法。等你说完以后,你能不能跟我们说一说你自己过去七年都干了些什么?”



我们可以说乔布斯展示出的风度,在于他视野的广阔,经历的丰富,等等等等。


但在我看来,最根本的一点,还是在于:乔布斯关注“人”。


乔布斯可能是一个自大的人,但是,他尊重他的“用户”。


而技术,总归是要为人服务的。



以上。


大家加油!:)




本文相关阅读推荐:

慢增长

在惊讶中学习

我不埋怨奋斗 B

不会翻转二叉树的大神

如果喜欢我的文章,点个”在看“吧 

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存