要回答者問題其實很簡單,咱們把眼光投射到具體的公司上。
首先先需要明確公司找一個人來是要做什麼?
顯而易見,就是要去負責一塊兒業務。
那麼,負責一塊兒業務應該具備哪些能力呢?
這個是基礎,無需多言,廚師不配刀還叫什麼廚師!
不同的公司有著不同的業務,或者即便是相同的業務,在不同的公司所應用的技術棧也有不同。
所以,有一點就很明確,就是你不可能學習到完美覆蓋所有公司技術棧的技能。
那麼此時又該如何呢?
主流、大多數、流行的技術棧最好能夠掌握,這樣你就能覆蓋80%需求。
至於什麼是主流的,大多數的,流行的,去看看那些大的網際網路廠商在用什麼就知道了。
學會了這些也只是具備了基礎的參與能力,或者說入場能力。想要標新立異,那麼就必須擁有自己獨到之處。
什麼是廣度,簡而言之,就是多一點,寬一點。
資料庫、NoSQL、中介軟體、應用框架、伺服器等等。
仰觀宇宙之大,俯察品類之盛。熟讀唐詩三百首,不會寫來也會抄。
很多東西你得先知道,才能拿來堆砌解決實際的問題。
舉個栗子:
以前見到過有人一個業務程式碼存了很多份,我問題你為什麼存這麼多份?他說,要保留歷史版本,以防以後有問題再用。
技術的廣度,可以讓你廣泛適配,但是業務能夠做的多精就需要技術深度來支撐。
比如一個介面當前的相應時間是1s,那麼怎麼才能優化到 500ms,甚至 200ms、100ms 呢?
這裡你就要從業務邏輯,基礎技術架構方面進行思考了。
是不是響應資料可以精簡?
是不是有的業務流程可以合併,或者並行?
是不是底層資料表可以拆分?,水平還是垂直?是不是可以做冗餘加快響應?
是不是可以把資料上移到快取層?快取用分散式快取還是本地快取?還是結合使用?
是不是某些非關鍵業務流程可以做成非同步?非同步那種中介軟體?
等等吧!
讓你負責了一塊兒業務,那麼你就要有擔負起一塊兒業務的負責人意識。
什麼是負責人?
簡單來說就保障業務良性運作。
有問題能夠快速及時解決。
這裡用了疊詞,快速及時,這很重要,記住這一點。
網際網路化的今天,任何業務面前都可能站著成千上萬的客戶。客戶拉肚子了,你廁所門打不開是不能容忍的。
技術方案確定,部門共同作業溝通,專案進度控制等等。
業務來了你能拿出方案,需要什麼樣的技術,多久的開發週期,能夠實現什麼樣的效果等等。
需要哪些部門配合,產品、測試、運維都需要共同作業支援哪些工作。
專案排期、進度控制、風險控制、驗收收尾等等。
什麼是持續優化?
技術服務業務講究快、穩、準,響應快,服務穩,資料準。
那麼持續優化就是永遠對當前不滿足!
還要更快、更穩,更準!
200ms 要看 100ms;4 個 9 要看 5 個 9;不實時的準要看實時的準。
這個尤為重要,你要明白是你要推著業務往前走,而不是別人推著你和業務走。
該你操的心你不操心,慢慢的你就不用操心了,慢慢的你也就不再被需要了。
可能會有人覺得這個有點虛,影響力跟業務有個毛毛關係啊!
確實,它跟實際的業務沒有直接的關係。但是它能影響關聯方對你的共同作業力。
什麼是共同作業力,這裡我把他定義為合作、助力意願。
你的影響力決定了你的輸出能夠被他們接受的程度。
當你有了權威,你說的就不需要再去解釋,你要做的就會有人主動積極的共同作業,追求的是事半功倍。
馬雲說的和你們村頭二蛋說的【夢想還是要有的】是不一樣的!!!