假设我们用笔在纸上画一条线,就像这样:
看起来很丝滑。但如果有一个放大镜,放大到 4 倍再来看看,这时可能就会发现一些断点了:
如果再放大到 8 倍,这些断点就会更加明显:
但其实它们是同一个事物,变化的只是观察的方式。远看和近看,近看和细看,会有不同的风景。
So What?
我想起这几次去日本让我印象深刻的一点:把一些小事做到极致。比如只做乌冬面的「山元面蔵」,很小的店面,营业时间也很短,可选的也非常有限,但面就是好吃,就是要排队才能吃的上;又比如腌菜,一听名字就 low low 的,但居然大老远带了几包回来,因为路过一家叫「大安」的腌菜店,试吃了下,居然被征服了。
不就是乌冬面么,不就是腌菜么?这就好比切换到了 1x 视角,乍看之下那条线确实是连续的,你的判断没有错。但有心的人会拿起 4 倍镜甚至 8 倍镜去看,真的没有瑕疵么,没有改进的空间了么?这就进入到了「不仅仅是」模式了。
客户端编程有什么难的么?不就是 MVC 架构加一些常用库再调调系统 API 么?差不多还真就是这些,怪不得 iOS 开发没人要了,不如换一个朝阳产业吧,听说 AI 比较火?
这就是 1x 视角带来的问题,他会影响你的判断,让你放弃一些本来有机会做出一番成就的领域。其实开一下 4x 视角就会发现并没有那么简单:如何优雅地实现动画效果;如何让布局代码更加直观;如何让写出来的页面更容易维护;如何提高多人协作的效率等等,如果发现类似这些问题都已经有成熟的解决方案,也就是这条线在 4x 放大镜下,依旧保持着很好的连续性,或许可以考虑换一条线试试。
如果还不甘心,那就开一下 8x 视角。高性能图片处理、图片滤镜系统有不错的方案么?高频的本地数据读写及服务端同步有好的实现么?网络通信安全及二进制包加密有没有新的玩法?等等,通常会有那么几个有挑战的,看看自己有没有兴趣和能力搞定。
所以,客户端编程不仅仅是「MVC 架构加一些常用库再调调系统 API」,自然后端开发也不仅仅是「CRUD 工程师」。只要调整下放大倍数,就会发现那些「断点」,这些都可以作为切入点。
内心产生的浮躁感,往往是倍数调得不够高,放眼看去就是一条完美的线。「我的天才女友」里,埃莱娜问莉拉:为什么要学习拉丁文?莉拉回答:因为她美。如果这是你在乎的领域,如果你觉得她还不够美,那就让她变得更美吧。在别人眼中她可能「不就是 xx 么」,但在你的眼中,她「不仅仅是 xx」。