想要成为软件开发中的王者,需要明白的 21 条准则

简介: 想要成为软件开发中的王者,需要明白的 21 条准则

本文笔者收集了 21 条有关软件开发的准则和技巧:这些观点可能互相矛盾,但仔细品味也会发现其不同点,可以对软件开发者有一定的启发。记住,它们并不是真理,只是观点而已。

1、软件开发者的工作不是“写代码”,而是解决业务问题,“采用的新框架”常常不能解决业务问题。

2、我们与人一起工作,只是有时候写代码而已,所以人际关系是这份工作的重要组成部分。

3、软件开发人员也是人,他们和所有人一样都会受到认知偏差的影响。可以读读关于认知偏差、FAE(fundamental attribution error,基本归因错误)、特别是Kahneman 的书。

4、每一个新框架的出现,是因为前端开发者面临的问题我们没有理想的解决方案。每一个成功的新框架都有其创新之处,所以得想想“这个框架/库如何改变我的工作”这个问题。

5、软件开发者不“只是写代码”,而是参与开发过程。所以如果公司在使用敏捷(Agile),你必须对其认真对待,最起码也要对其保有尊重。

6、代码评审(Code review)是软件开发过程的重要组成部分。对代码评审有所疏忽就不能成为优秀的软件开发人员。

7、作为软件开发者,我们对自己部署的代码要负责。我们也负有道德上的责任,不要做不道德的事。

8、用户也是人。我们的产品和我们的失败都可能直接影响他们的生活,对你行为的后果要三思。

9、人与人并不相同,人们的思维方式也不同:有时候我们认为困难的东西从商业人士角度看来可能很容易。这是我们必须解决而不是逃避的矛盾。

10、对截止时间(deadline)负责。如果在截止时间前完成不了,你必须重新沟通新的截止时间。

11、任务有两种复杂性:内部和外部复杂性。内部复杂性不可避免,因为这是任务本身;外部复杂性来自重新架构系统过程中异常决定的后果。要格外注意外部复杂性超过内部复杂性的情况。

12、如果开发者在写代码或架构系统时选择容易而不是好的解决办法,他欠下的技术债迟早有一天是要还的。

13、“别人”写的代码几乎总是无法理解或着写得很差,但并不总是因为代码真的写得不好。有时候这些“别人”就是过去的我们。

14、有时候在不改变代码的情况下也能解决问题。

15、勇于改变需要改变的,接受那些无法改变的,用智慧来分辨其中差异。

16、有时候对开发人员来说不重要的事情却有极高的商业价值。商业是一个好的角度,不要逃避它。

17、很少有公司关心你的个人成长。如果公司对你目前的水平不满意,他们一开始就不会聘用你。

18、会议或者聚会的价值在于在场的人,其次是交谈内容。

19、面试都是双向的,不仅是公司在考察你,也是你考察公司。

20、我们选择这份职业是因为我们对其很感兴趣,但付我们薪水是因为我们创造了价值。了解一下公司的成本和利润,看看自己属于哪一个。

21、作为自由职业者,花钱请你是因为客户不具备这些技能:客户不会告诉你你代码哪里不好、也不会指出其中错误,客户用自己的方式提出这些意见。


相关文章
|
6月前
|
设计模式 算法 程序员
程序员为何需要反复修改Bug?探寻代码编写中的挑战与现实
作为开发者,我们在日常开发过程中,往往会遇到反复修改bug的情况,而且不能一次性把代码写的完美无瑕,其实开发项目是一项复杂而富有挑战性的任务,即使经验丰富的程序员也难以在一次性编写完美无瑕地完成代码,我个人觉得一次性写好代码是不可能完成的事情。虽然在设计之初已经尽力思考全面,并在实际操作中力求精确,但程序员仍然需要花费大量时间和精力来调试和修复Bug。那么本文就来分享程序员需要反复修改Bug的原因,以及在开发中所面临的复杂性与挑战。
170 1
程序员为何需要反复修改Bug?探寻代码编写中的挑战与现实
|
Java
编程中最难的就是命名?这几招教你快速上手(4)
编程中最难的就是命名?这几招教你快速上手
79 0
编程中最难的就是命名?这几招教你快速上手(4)
编程中最难的就是命名?这几招教你快速上手(2)
编程中最难的就是命名?这几招教你快速上手
47 0
编程中最难的就是命名?这几招教你快速上手(2)
|
Java 程序员 编译器
编程中最难的就是命名?这几招教你快速上手(1)
编程中最难的就是命名?这几招教你快速上手(1)
79 0
编程中最难的就是命名?这几招教你快速上手(1)
|
关系型数据库
编程中最难的就是命名?这几招教你快速上手(3)
编程中最难的就是命名?这几招教你快速上手
55 0
|
Java 关系型数据库 程序员
编程中最难的就是命名?这几招教你快速上手
编程中最难的就是命名?这几招教你快速上手
721 11
|
测试技术
软件测试怎么学 两种学习方式总有一个适合你
近几年随着国内互联网的快速崛起,IT行业也兴起了一个新的行业,叫做软件测试,因为各大企业越来越重视软件的测试了没,所以越来越多的人开始加入了测试大军中,但由于软件测试在我国的发展时间并不长,所以大家都想要知道如果要从事软件测试行业,该怎么学习呢?
160 0
软件测试怎么学 两种学习方式总有一个适合你
|
测试技术
软件测试好学吗 只要选对了学习方式,就并不难学
我们都知道,如今互联网IT行业,在国内可是非常吃香的,尤其是近些年随着软件的普及,人们对软件的要求也是越来越高,因此国内各大互联网企业,也开始大量招聘软件测试人员,但由于这个岗位在我国的发展时间并不长,人员需求也是供应不求的。
197 0
软件测试好学吗 只要选对了学习方式,就并不难学
团队里的妹子让阿粉跟她说说怎样写出好的代码
昨天,团队里的妹子很突然地就让阿粉跟她说说怎么才能写出一手好的代码 阿粉本着负责任的态度,专门写了一篇文章出来,妹子嘛,就是要宠的嘛
|
并行计算 Java Go
编程法则和现状:我们明白自认为明白的东西吗?
软件工程领域的知名专家Capers Jones,已经建立了涵盖20,000个项目的范围广泛的项目记录数据库,大部分都是大型的。有了这些数据支持,他经常写文章讨论,哪些活动和方法在实践中发挥着作用,以及如果可能,它们实际上提供多少提升幅度,它们的成本有多少。在这篇客座编辑里,他非正式地评价了一些编程和业务上的流行“法则”在面对软件开发现状时,是如何发挥作用的。
141 0