最近在学习经济学的一些知识。我发现,在软件开发行业,发生的一些现象,其实都可以用经济学来解释。
1.前后端分离。
一开始,单一系统的开发是没有前后分离的。随着软件开发模式的演进,才出现前后端分离。这可以用比较优势的原理来解释。有了更明确的分工,每个人更专注于某块领域,单位时间内的产出变多,效率反而提高了。
2.关于架构师。这里有两点关联:
第一:资源有效配置。架构师的主要工作,其实就是针对需求或者业务问题,设计出恰当的方案,给出一个在当前条件下的最优解。因为求解的方案不同,带来的成本(人力成本、维护成本等)是不同的。架构师的职责,其实跟经济学的作用一样,就是将资源配置的效用最大化。
第二:稀缺。优秀的架构师待遇为何高?原因在于稀缺。好的架构师,既要求有一定的技术深度,又要有一定的技术广度,这样的技术人才是相对稀少的。人人都可以是架构师,但一个公司里好的架构师凤毛麟角。
3.CI/CD
其实这个就是参考工厂的流水线的模式。只不过早期没有这样的技术支撑,随着软件行业成熟,这个概念才被提出。
每个IT人员负责流水线的一环。一个需求到上线,其实就是从原料,经过人、机等生产资料的参与,诞生出产品的过程。
从产品、研发、测试到SRE。大家各司其职,形成一个“工业链条”。明确的分工和合作,目的就是为了最大限度地降低生产成本。所以,devops的发展是由市场趋势决定的。
再比如,敏捷开发、精益开发的理念,其实也都是从“成本”的角度出发的。
4.从程序员到架构师
程序员工作1到5年,可能随着技能的积累,程序员的级别也在慢慢+1,比如初级——中级——高级——资深等。
但可能过了5年之后,你会发现,开发的技能已经积累到了一定瓶颈。好像没有什么可以增长的了。每多一年工作年限,可能带给你的收益并不大。
其实,这个可以用“边际”的理论来解释。这是因为,单就程序员这个岗位来说,增长带来的增长是不断递减的。因此,我们不再满足于只做个程序员,我们要向架构师蜕变。毕竟架构师是稀缺的。
如果你觉得我说的有道理,就点个赞吧。