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