从技术思维角度聊一聊,『程序员』摆地摊的正确姿势
点击上方蓝色文字[码大叔]关注我们吆
实战踩坑 硬核分享
图片来自互联网,版权归原作者所有
程序员是谁?
一群志存高远立志要靠技术改变世界的人!
一群囊萤映雪时刻站在技术风口的人!
一群镂月裁云面试可以造火箭的人!
一群居安思危28岁就时刻焦虑未来的人!
正所谓打铁还需自身硬,在我们决定投身摆摊大业之前,一定要认清自己找准定位,了解自己在摆摊行业能够达到什么级别?根据程序员这些年来面试招聘的经验我可以给大家一点参考,我认为一个合格的P6级别地摊员应该具备改变全球宏观经济走向的能力,具有将各类地摊货抽丝剥茧再从0到1的能力。
P6级别地摊员面试题举例:
请说说摆地摊背后的经济学原理。
画一张从家到摆地摊地点的地图,0表示可以走,1表示不可以走,请编写一个程序,用合适的算法找到最短路线。
摆地摊可以有很多工具:一块布、地摊三轮车、私家车后备箱、五菱宏光、蓝翔挖掘机,请对比一些这些工具的优缺点?并讲讲你最熟悉的一个工具的运行流程。
摆地摊的过程中,亿级流量过来怎么办?高并发怎么办?高可用怎么做?
这几道题熟悉吗?如果你答不出来,建议你再回去多看看书,推荐几本:
《摆摊人员的自我修养》
《摆摊的二十三种设计模式》
《深入源零件,了解摆摊车的工作原理》
除此之外,还需要多读一读国外大佬的英文原版著作,特别是一些诺贝尔经济学奖大佬的,比如凯恩斯的《就业、利息和货币通论》、约瑟夫·熊彼特的《经济发展理论》、萨缪尔森的《经济学》、西蒙·库兹涅茨的《各国的经济增长》等。
“你先回去吧,正常我们会在两个星期左右给你答复。”
“码大叔,恭喜你通过了我们的面试,你接下来的工作就是和我一起搬羊肉串”
原来所谓的合适,只是你能不能和我一起吹个很爽的牛,然后干件平凡的事。
我是摆地摊的,但是我就想和你聊一聊八千里路云和月!
02
找准方向
做好技术储备认清自己后,接下来就是找准方向,好的方向是成功的一半。很多人也想去摆地摊,但无奈不知道该做什么,导致自己始终迈不出摆摊的第一步。这件事对于程序员就比较简单,无非三个选择。
选择一:技术导向型创业
大多数程序员是有技术情怀的,通过自己的技术去改变或影响一批人,从而带来自己的商业价值。所以如果选择这个方向的摆摊,完全不需要考虑,看自己擅长什么,可以去制造摆摊车,可以去制造一些小商品,取决于自身能力。
选择二:技术入股型创业
做好你技术分内的事吧!用程序员的专业术语来说,就是单一职责,解耦合。至于什么方向交给你的合伙人,让专业的人做专业的事!
选择三:加入一家牛逼的摆摊公司
我们需要做的就是做好业务抽象和建模,设计一套通用的摆地摊架构,卖什么不重要,重要的是我们什么都能卖。具体卖什么由产品经理和运营大佬去商量。这个时候选择一个好的团队很重要,我们团队就很好,就有一个资深产品经理,可以和程序员打成一片。
“那边两个人在做什么”
“穿格子的是程序员,还有一个是产品经理。产品经理说摆地摊一定要注重用户体验,简化用户的操作。举个栗子假如我们的地摊货是手机壳,你不能让用户挑来逃去这样体验太差,效率也很低。你得能根据用户的心情自动变换颜色、背景,说完两人就开打了,打了一年多没停手。”
你看,对于程序员,选择是如此简单!
困住我们手脚的,是顾虑!
早已成年的我们,需要的可能是那么一次年少轻狂、肆无忌惮!
03
微服务架构
看出什么问题没有?
对,太明显了,这还是传统的摆地摊方式,最初级的单体地摊架构!这样使得地摊服务过于臃肿,全部集中在一个人身上,不利于管理;容错性差,一旦出点小问题,就会导致整个服务宕机。比如用户要用支付宝付款,结果手机没电了,你得等着他呀,其他客户怎么办?而且这样也不利于扩展,摆摊事业做大了怎么支撑?还有一个最大的问题,就是它不符合当今地摊行业的潮流,
所以,最正确的姿势应该是:拆!将整个地摊的架构微服务化。你别管它合不合适,这都2200年了,顺应潮流、顺流而上,你才不会被潮流淹没,不会被这个时代所抛弃。不然你只能回去继续写你低端的代码,干不了地摊员。
如上图所示,微服务化后就成为上面这样的,有人管销售,有人管结账,有人管商品,有人管库存,有人管开神车。这样拆下来,它使整个地摊的分工更加明确,责任更加清晰,每个人专心负责为其他人提供最专业的服务。
独立的可扩展性,每个微服务都可以独立进行横向或纵向扩展;比如上面提到的收银服务慢,再来一个人呗;
独立的可升级性,每个微服务都可以独立进行服务升级、更新,不用依赖于其它服务;比如五菱宏光要升级成蓝翔挖掘机,升级就是了。
易维护性,每个微服务的只专注于完成自己业务范畴的事情;你不用同时担心库存够不够,钱会不会算错等等,每个人专注自己的一部分。
故障和资源的隔离性,在系统中出现不好的资源操作行为时,例如销售忙到瘫痪导致内存泄露,后续的结账还可以继续进行。
等等
术业有专攻,专业的人做专业的事,你们我们像不像一个个微服务?当我们夸夸其谈其先进性的时候,以为自己走在技术前沿的时候,以为自己支撑了一整个服务集群的时候,我们可能已经忘了,这个事情我们已经做了很久很久,这个地方我们已经待了很久很久。我们以为自己是一个独立的服务可以独立地运作,却从来没有想过脱离了这个服务体系的时候,其实,一无是处!
单体应用,还是微服务?
我们需要什么?
这个世界需要我们什么?
04
放眼未来
作为具有程序员背景的地摊员,我们的目光不能局限于当下,要充分考虑未来地摊事业发展对当前架构的依赖及可能存在的风险,提前做好风险预案。比如:
万一有亿级客户流量来访问我们的地摊呢?我们该如何做好流量控制?熔断降级?
要不要再准备一队地摊员做好主备和负载均衡等?
我们的地摊货要不要分库分表呢?
要不要做读写分离,专门安排人员负责客户询价、地摊货咨询等?
要不要引入排队机制?要不要给他们发个令牌才能来我们的地摊呢?
等等
还有很关键的一点,地摊事业未来会不会遭遇某些人的封禁或者打压,比如:
万一有人说地摊是他们国家的物质文化遗产,是他们发明的呢?
万一有人觉得红火的地摊事业影响到了他们的安全,要将我们列入实体清单进行管制呢?
地摊,作为一个炙手可热的风口产业,一个充满无限可能的产业,让我们一起去摆摊吧。虽然我的想象力不足以想象地摊业的未来,但我的心里有火,眼里有光。即将投入地摊事业的程序员们,请接受我的祝福,
奔涌吧,地摊员
我们在同一条奔涌的河流。
它是一个地摊,
它是一个机会,
它是大千世界,
它是我们的内心。
梦想还是要有的,万一实现了呢?
梦想还是要有的,至少这样当我们想努力拼搏一把的时候,知道该往哪个方向!
写着写着我忽然想起来,这个摆地摊的架构好像还有优化空间,要不要再上个中台系统呢?
得好好考虑考虑一下!
— 【 THE END 】— 本公众号全部博文已整理成一个目录,请在公众号里回复「m」获取! 3T技术资源大放送!包括但不限于:Java、C/C++,Linux,Python,大数据,人工智能等等。在公众号内回复「1024」,即可免费获取!!