什么是业务编程?

实习已经半月有余了。

1184.4

这是我人生中第一份薪水。

实习很辛苦,早上七点半起床,洗漱,吃饭,骑车到地铁站,坐地铁,骑车到腾讯众创空间,时间介于八点四十五到九点之间。

几乎日日如此。

实习的感觉就是在时间表上生活,工作内容当然不能由自己决定。公司会有业务上的需求,甚至会有一些脏活累活被分派自己身上。面对这些,我必须及时完成,不能有太多怠慢。因为这是我的工作,为了那份微薄的薪水,我其实是把自己卖了。

但是自己不能轻视自己的工作,因为轻视自己的工作等于轻视自己。所有人都是一步步走下来的,无非是有些人的起点高一些,平台好一些。但这些背后也都是有原因的,要么是熟人圈子互相引荐,要么是自己能力超群。

而我没有圈子,也没有超群的能力。我有的只是没有退路的处境和思虑清楚的心态。在编程这件事上,我还有希望。

我只能从业务编程入手,立稳脚跟之后,再图其它。

我现在从事的业务编程是抽丝剥茧加暴力破解,寻找到公司业务上需要的特定网络请求,再通过网络请求获取或传送目标数据。

那么,业务编程究竟是什么呢?我现在对于业务编程的理解是:在特定场景下,对某件事情进行妥善的安排,让其可以按照自己的意愿稳定有序地进行

为此,对于业务编程,最根本的是弄清楚已经发生的事情是怎样发生的,并明白事情除此之外还可以怎样发生。以及对于需要实现的事情,给出一套可以顺利发生并能稳定运行的设计方案。

是的,我想表达的核心是设计这两个字。有 UI 设计师,有硬件设计师,有软件工程师,也有软件运行设计师。业务编程,本质上不是编程,而是设计。

什么是设计?设计就是针对现有的可用元素和可用手段,组合出一个行之有效且富含创意的作品。对于业务编程而言,看似是在 make,其实是在 design。为什么呢?因为业务编程基本上是面对现实业务需求的最后一环,业务编程中会极力避免自己制造脚手架,也会尽量避免自己制造轮子,只负责造一些辅助性的器件。

毕竟,业务编程的核心工作是让事情顺利且稳定地发生

那么如何提高自己让事情顺利发生的能力呢?

很简单,搞理论或许还可以依靠冥思,但做事情必须依靠实干。实干的意思就是用肉身硬趟,获得第一手体验。也只有这种体验才称得上经验。

所以,做的事情如果自己假想出来的 demo,就应该面向理论深度。否则的话,基本很难入公司面试官的法眼。

换位思考一下的话,我自己面试也会是这样。毕竟小打小闹的不涉及真实业务需求的 demo 大多属于虚假编程,并不真实存在于现实世界,当然也就不是公司需要的。公司不需要,当然就不会多么待见你。

所以,小 demo 可以做,但要清醒地认识到做它们的目的:帮助自己理解概念

编程三部曲:


不知是该恭喜,还是该怎样,总之阅读到该文的,你是第 人。每一次刷新,都是不同的自己。