想要成为软件开发中的王者,需要明白的 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、作为自由职业者,花钱请你是因为客户不具备这些技能:客户不会告诉你你代码哪里不好、也不会指出其中错误,客户用自己的方式提出这些意见。


相关文章
|
存储 数据挖掘 大数据
详解阿里云数据中台,一篇文章全面了解大数据“网红”
一直想写一篇关于数据中台正面文章,现在有闲时做些总结,想充分诠释一下DT内部人如何看待数据中台。 数据中台的概念是最早由阿里巴巴首次提出,是为了应对内部众多业务部门千变万化的数据需求和高速时效性的要求而成长起来的,它既要满足业务部门日常性的多个业务前台的数据需求,又要满足像双十一,六一八这样的业务高峰、应对大规模数据的线性可扩展问题、应对复杂活动场景业务系统的解耦问题,而在技术、组织架构等方面采取的一些变革。
26673 0
|
Ubuntu Windows
Ubuntu Remmina 远程桌面提示 “无法连接到RDP服务器”
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.
4027 2
|
7月前
|
SQL JSON 关系型数据库
17.6K star!后端接口零代码的神器来了,腾讯开源的ORM库太强了!
"🏆 实时零代码、全功能、强安全 ORM 库 🚀 后端接口和文档零代码,前端定制返回 JSON 的数据和结构"
134 1
|
存储 Web App开发 运维
发布、部署,傻傻分不清楚?从概念到实际场景,再到工具应用,一篇文章让你彻底搞清楚
部署和发布是软件工程中经常互换使用的两个术语,甚至感觉是等价的。然而,它们是不同的! • 部署是将软件从一个受控环境转移到另一个受控环境,它的目的是将软件从开发状态转化为生产状态,使得软件可以为用户提供服务。 • 发布是将软件推向用户的过程,应用程序需要多次更新、安全补丁和代码更改,跨平台和环境部署需要对版本进行适当的管理,有一定的计划性和管控因素。
3626 1
|
11月前
|
XML 缓存 安全
PUT 请求和 POST 请求有什么区别?
【10月更文挑战第25天】PUT请求和POST请求在HTTP协议中有着不同的功能和应用场景,开发者需要根据具体的业务需求和资源操作的性质来选择合适的请求方法,以确保客户端与服务器之间的交互准确、安全且符合预期。
|
机器学习/深度学习 数据可视化 关系型数据库
基于机器学习的信用卡办卡意愿模型预测项目
基于机器学习的信用卡办卡意愿模型预测项目
255 3
|
12月前
|
IDE Java 测试技术
通义灵码测评报告
通义灵码测评报告
644 1
|
12月前
|
程序员 区块链
程序员职业发展路线图(完整版+珍藏版)
程序员职业发展路线图(完整版+珍藏版)
|
前端开发 UED
CSS——如何取消a链接点击时的背景颜色
CSS——如何取消a链接点击时的背景颜色
315 1
|
人工智能 智能硬件
如何在一周内摸清一个行业:ChatGPT + 麦肯锡关键词分析法
如何在一周内摸清一个行业:ChatGPT + 麦肯锡关键词分析法
2363 0
如何在一周内摸清一个行业:ChatGPT + 麦肯锡关键词分析法