從技術思維角度聊一聊,『程序員』擺地攤的正確姿勢
本文轉載自微信公眾號「 碼大叔」,轉載本文請聯系 碼大叔公眾號。
有人說程序員這個職業,三年升高工,七年做架構,十年送外賣。對此雖然我也曾非常認可,但現在我可以前瞻性(馬后炮)地說四個字,杞人憂天!目光膚淺!正所謂天生我材必有用,用完再把外賣送,現在,新的風口——萬億【煙火經濟】來了,除了送外賣我們又多了個新選擇:擺地攤!一個人一輩子只有那么幾次機會可能實現財務自由,機遇稍縱即逝,一定要牢牢把握住。所以,今天我們來嚴肅認真地聊一聊程序員擺地攤的正確姿勢。
01 技術儲備
程序員是誰?
- 一群志存高遠立志要靠技術改變世界的人!
- 一群囊螢映雪時刻站在技術風口的人!
- 一群鏤月裁云面試可以造火箭的人!
- 一群居安思危28歲就時刻焦慮未來的人!
正所謂打鐵還需自身硬,在我們決定投身擺攤大業之前,一定要認清自己找準定位,了解自己在擺攤行業能夠達到什么級別?根據程序員這些年來面試招聘的經驗我可以給大家一點參考,我認為一個合格的P6級別地攤員應該具備改變全球宏觀經濟走向的能力,具有將各類地攤貨抽絲剝繭再從0到1的能力。
P6級別地攤員面試題舉例:
- 請說說擺地攤背后的經濟學原理。
- 畫一張從家到擺地攤地點的地圖,0表示可以走,1表示不可以走,請編寫一個程序,用合適的算法找到最短路線。
- 擺地攤可以有很多工具:一塊布、地攤三輪車、私家車后備箱、五菱宏光、藍翔挖掘機,請對比一些這些工具的優缺點?并講講你最熟悉的一個工具的運行流程。
- 擺地攤的過程中,億級流量過來怎么辦?高并發怎么辦?高可用怎么做?
這幾道題熟悉嗎?如果你答不出來,建議你再回去多看看書,推薦幾本:
- 《擺攤人員的自我修養》
- 《擺攤的二十三種設計模式》
- 《深入源零件,了解擺攤車的工作原理》
除此之外,還需要多讀一讀國外大佬的英文原版著作,特別是一些諾貝爾經濟學獎大佬的,比如凱恩斯的《就業、利息和貨幣通論》、約瑟夫·熊彼特的《經濟發展理論》、薩繆爾森的《經濟學》、西蒙·庫茲涅茨的《各國的經濟增長》等。
“你先回去吧,正常我們會在兩個星期左右給你答復。”
“碼大叔,恭喜你通過了我們的面試,你接下來的工作就是和我一起搬羊肉串”
原來所謂的合適,只是你能不能和我一起吹個很爽的牛,然后干件平凡的事。
我是擺地攤的,但是我就想和你聊一聊八千里路云和月!
02.找準方向
做好技術儲備認清自己后,接下來就是找準方向,好的方向是成功的一半。很多人也想去擺地攤,但無奈不知道該做什么,導致自己始終邁不出擺攤的第一步。這件事對于程序員就比較簡單,無非三個選擇。
選擇一:技術導向型創業
大多數程序員是有技術情懷的,通過自己的技術去改變或影響一批人,從而帶來自己的商業價值。所以如果選擇這個方向的擺攤,完全不需要考慮,看自己擅長什么,可以去制造擺攤車,可以去制造一些小商品,取決于自身能力。
選擇二:技術入股型創業
做好你技術分內的事吧!用程序員的專業術語來說,就是單一職責,解耦合。至于什么方向交給你的合伙人,讓專業的人做專業的事!
選擇三:加入一家牛逼的擺攤公司
我們需要做的就是做好業務抽象和建模,設計一套通用的擺地攤架構,賣什么不重要,重要的是我們什么都能賣。具體賣什么由產品經理和運營大佬去商量。這個時候選擇一個好的團隊很重要,我們團隊就很好,就有一個資深產品經理,可以和程序員打成一片。
“那邊兩個人在做什么”
“穿格子的是程序員,還有一個是產品經理。產品經理說擺地攤一定要注重用戶體驗,簡化用戶的操作。舉個栗子假如我們的地攤貨是手機殼,你不能讓用戶挑來逃去這樣體驗太差,效率也很低。你得能根據用戶的心情自動變換顏色、背景,說完兩人就開打了,打了一年多沒停手。”
你看,對于程序員,選擇是如此簡單!
困住我們手腳的,是顧慮!
早已成年的我們,需要的可能是那么一次年少輕狂、肆無忌憚!
03.微服務架構
首先,我們來看一張圖:
看出什么問題沒有?
對,太明顯了,這還是傳統的擺地攤方式,最初級的單體地攤架構!這樣使得地攤服務過于臃腫,全部集中在一個人身上,不利于管理;容錯性差,一旦出點小問題,就會導致整個服務宕機。比如用戶要用支付寶付款,結果手機沒電了,你得等著他呀,其他客戶怎么辦?而且這樣也不利于擴展,擺攤事業做大了怎么支撐?還有一個最大的問題,就是它不符合當今地攤行業的潮流,
所以,最正確的姿勢應該是:拆!將整個地攤的架構微服務化。你別管它合不合適,這都2200年了,順應潮流、順流而上,你才不會被潮流淹沒,不會被這個時代所拋棄。不然你只能回去繼續寫你低端的代碼,干不了地攤員。
如上圖所示,微服務化后就成為上面這樣的,有人管銷售,有人管結賬,有人管商品,有人管庫存,有人管開神車。這樣拆下來,它使整個地攤的分工更加明確,責任更加清晰,每個人專心負責為其他人提供最專業的服務。
- 獨立的可擴展性,每個微服務都可以獨立進行橫向或縱向擴展;比如上面提到的收銀服務慢,再來一個人唄;
- 獨立的可升級性,每個微服務都可以獨立進行服務升級、更新,不用依賴于其它服務;比如五菱宏光要升級成藍翔挖掘機,升級就是了。
- 易維護性,每個微服務的只專注于完成自己業務范疇的事情;你不用同時擔心庫存夠不夠,錢會不會算錯等等,每個人專注自己的一部分。
- 故障和資源的隔離性,在系統中出現不好的資源操作行為時,例如銷售忙到癱瘓導致內存泄露,后續的結賬還可以繼續進行。
- 等等
術業有專攻,專業的人做專業的事,你們我們像不像一個個微服務?當我們夸夸其談其先進性的時候,以為自己走在技術前沿的時候,以為自己支撐了一整個服務集群的時候,我們可能已經忘了,這個事情我們已經做了很久很久,這個地方我們已經待了很久很久。我們以為自己是一個獨立的服務可以獨立地運作,卻從來沒有想過脫離了這個服務體系的時候,其實,一無是處!
單體應用,還是微服務?
我們需要什么?
這個世界需要我們什么?
04.放眼未來
作為具有程序員背景的地攤員,我們的目光不能局限于當下,要充分考慮未來地攤事業發展對當前架構的依賴及可能存在的風險,提前做好風險預案。比如:
- 萬一有億級客戶流量來訪問我們的地攤呢?我們該如何做好流量控制?熔斷降級?
- 要不要再準備一隊地攤員做好主備和負載均衡等?
- 我們的地攤貨要不要分庫分表呢?
- 要不要做讀寫分離,專門安排人員負責客戶詢價、地攤貨咨詢等?
- 要不要引入排隊機制?要不要給他們發個令牌才能來我們的地攤呢?
- 等等
還有很關鍵的一點,地攤事業未來會不會遭遇某些人的封禁或者打壓,比如:
- 萬一有人說地攤是他們國家的物質文化遺產,是他們發明的呢?
- 萬一有人覺得紅火的地攤事業影響到了他們的安全,要將我們列入實體清單進行管制呢?
地攤,作為一個炙手可熱的風口產業,一個充滿無限可能的產業,讓我們一起去擺攤吧。雖然我的想象力不足以想象地攤業的未來,但我的心里有火,眼里有光。即將投入地攤事業的程序員們,請接受我的祝福,
奔涌吧,地攤員
我們在同一條奔涌的河流。
它是一個地攤,
它是一個機會,
它是大千世界,
它是我們的內心。
夢想還是要有的,萬一實現了呢?
夢想還是要有的,至少這樣當我們想努力拼搏一把的時候,知道該往哪個方向!
寫著寫著我忽然想起來,這個擺地攤的架構好像還有優化空間,要不要再上個中臺系統呢?
得好好考慮考慮一下!