软件开发不只是API调用和基础语法,以下是应用开发的全貌:
一、相信数据
如果你觉得系统正常运转,你应该拿出数据支撑你的想法。更重要的是,当研究证明你是错的时,你应该欣然接受实事。
这就需要做测试来验证你的代码,也需要一些流程来生成对应的数据。
你做的任何事都需要数据来辅助你下一步的决策。否则你将不知道自己做的事是对还是错。
二、软件开发不只是编码
除了编码,开发人员还需要协调、沟通、分析、设计、测试、项目管理等
三、代码就是和人沟通
如果我们真的只是“为计算机编程”,那么我们都将编写字节码。计算机最能理解它。但我们用的是一种“折衷”语言,这种语言其他人可以理解,也可以翻译成计算机可以理解的东西。
好的软件开发是一个交流的过程。这是为了确保人们理解你在做什么。你的工作是与下一个阅读它的人交流。找到最好的表达方式可能需要同理心。
四、好的流程很重要
康威定律预言,你的软件注定要反映你的团队及其沟通结构。流程是沟通的结构。
想象一下一架起飞的飞机:飞行员、副驾驶、机组人员和空中交通管制人员之间有一段非常有条理的对话。这确保了每个人都关注关键问题,每个人都有发言权。“机翼还在飞机上吗?””“检查。“没有别的飞机挡住我们的去路吗?”“可以起飞了。”
五、用结果证明自己,而不是身份低位
最糟糕的开发组织要么等级森严,要么每个开发人员有太多老板。这通常反映了管理者对地位的渴望。
考虑“角色”,而不是“地位”。我工作过的最好的组织都首先认可那些推动事情的人,而不管他们在组织中扮演什么角色。
六、每个人都能从别人那学到
如果您认为人们的种族、性别或其他因素是判断他们的技能或他们必须教给您的东西的好方法,那么您就限制了自己作为软件开发人员的发展。
七、测试你所有的猜想,并随时准备改变这些猜想
当指导年轻的开发者时,我总是强调你不应该证明自己是对的,而应该证明自己是错的。我还鼓励他们用证明自己正确的热情去做这件事。
逻辑理论往往有一种方法可以证明你是错的。如果没有,这可能不是一个很好的理论。如果你不能证明它是错的,那么,只有那时,也许你可以试着证明它是对的。这与“相信数据”类似,但这不仅仅是关于数据,还有你使用数据的方式。