1. 程式人生 > >陳皓《左耳聽風》學習筆記一

陳皓《左耳聽風》學習筆記一

正文共:5020 字,預計閱讀時間: 13 分鐘

圖片描述本文是極客時間專欄《左耳聽風》學習筆記第一篇

1.如何讓自己的技能變現

第一,千里之行,積於矽步。任何意見成功的大事,都是通過一個個小的成功達到的。所以你得確保你有一個一個的小成功。

第二,關注有價值的東西。

  • 價值受供需關係影響的,供大於求,就沒有什麼價值,供不應求,就有價值。
  • 這意味著你不僅要看到市場,還要看到技術的趨勢,能夠分辨什麼是主流技術,什麼是過渡式技術
  • 關於市場需求:看看各個公司在做什麼,他們的難題是什麼
  • 關於技術趨勢:瞭解歷史,瞭解技術發展的軌跡,將一些老的技術的本質吃透

第三,找到能體現價值的地方。

  • 在一家高速發展的公司中技術人員的價值可以達到最大化。
  • 而剛起步的公司,業務還沒跑順,公司主要精力會放在業務拓展上,這個時候也不需要太高精尖的技術,所以,技術人員的價值也體現不出來。
  • 比較好的成長路徑是:先進入大公司學習大公司的技術和成功的經驗方法,然後找到告訴成長的公司

第四,動手能力很重要。

第五,關注技術付費點。技術付費點體現在兩個地方

  • 能幫被人掙錢的地方
  • 能幫別人省錢的地方

第六,提升自己的能力和經歷。付費的前提是信任,只有提升自己的能力和經歷後別人才會對你有一定的信任。

第七,找到有價值的資訊源。

第八,輸出觀點和價值觀。

第九,朋友圈很重要。

2.技術領導力

尊重技術和不尊重技術的公司案例

  • 亞馬遜、Facebook這樣的公司早期的業務型公司轉變為技術型公司,發展的很好。
  • 雅虎、百度這樣的公司從技術型公司變成了廣告公司,走下坡路。
  • 谷歌當年舉公司之力不做技術做社交,很失敗;拉里佩奇重新讓工程師重新掌權,才有了無人車和AlphaGo這樣的驚世之作。
  • 微軟在之前由一個做電視購物的銷售擔任CEO,出現了技術領導力不足的情況,導致走下坡路。
  • 蘋果公司之前聘任了一位非技術的CEO後也幾近破產。

什麼是技術領導力?

  • 直白點說:你還在用大刀長矛的時候,別人已經用上了槍支大炮;你還在用馬車的時候,對方已經用上了汽車....
  • 技術領導力不僅僅是呈現出來的技術,而是一種可以獲得絕對優勢的技術能力。
  • 從工業革命的歷史中推匯出技術領導力:

    • 尊重技術,追求核心基礎技術。
    • 追逐自動化的高效率的工具和技術,同事避免無效率的組織架構和管理。
    • 解放生產力,追逐人效的提高。
    • 開發抽象和高質量的可以重用的技術元件。
    • 堅持高於社會主流的技術標準和要求。

軟體工程師怎麼才算擁有技術領導力?

  • 能夠發現問題。能夠發現現有方案的問題。
  • 能夠提供解決問題的思路和方案,並能比較這些方案的優缺點。
  • 能夠做正確的技術決定。用什麼樣的技術、什麼解決方案、怎樣實現來完成一個專案。
  • 能夠使用更優雅,更簡單,更容易的方式來解決問題。
  • 能夠提高程式碼或軟體的擴充套件性、重用性和可維護性。
  • 能夠用正確的方式管理團隊。

    • 一方面,讓正確的人做正確的事,併發揮每個人的潛力;
    • 另一方面,可以提高團隊的生產率和人效,找到最有價值的需求,用最少的成本實現。並且可以不斷提高自身和團隊的標準。
  • 創新能力。能夠使用新的方法新的方式解決問題,追逐新的工具和技術。

怎樣讓自己擁有技術領導力呢?

  • 紮實的基礎技術。
  • 非同一般的學習能力。
  • 堅持做正確的事。
  • 不斷提高對自己的要求標準。

3.渴望、熱情和選擇

加班太嚴重完全沒有時間學習,怎麼辦?

  • 可能並不在於加班和工作強度大到沒時間,關鍵看你對學習有多少的渴望程度和熱情
  • 逆人性的事基本上都要付出很多而且還要堅持很久
  • 為什麼你能夠寫出這麼多東西?

    • 還是上面的問題,你對協作這個事情有多少的興趣和熱情
    • 我基本上經歷了幾個階段:

      • 第一個階段,學習階段
      • 第二個階段,利益驅動階段
      • 第三個階段,記錄自己觀點打自己臉的階段
      • 第四個階段,與他人互動的階段
    • 寫作的好處:收穫對自己表達能力的訓練和培養,讓我能夠好更漂亮地域別人交流和溝通

怎麼選擇自己的人生和職業發展?

  • 不同的人有不同的想法和追求,這是一個全完沒有正確答案的話題。
  • 總體來說,我把人生分成兩個階段:

    • 20-30歲,打基礎階段。在這個階段我們要的是開闊眼界,把基礎打紮實,努力學習和成長。
    • 30-40歲,人生髮展的階段。在這個階段需要明確自己奮鬥的方向,需要做很有挑戰的事,需要發展自己的技術領導力。
  • 一些建議:

    • 1.客觀地審視自己。
    • 2.確定自己想要什麼。
    • 3.注重長期的可能性,而不是短期的功利。
    • 4.儘量關注自己會得到的東西,而不是自己會失去的東西。因為無論你怎麼選,你都會有得有失。
    • 5.不要和大眾的思維方式一樣。因為覺得大多數人都是平庸的。

4.如何成為大家願意追誰的Leader?

概念

  • Leader 不是管理者,不是經理,不是職稱,而是一個領頭人。
  • 領頭人和經理或管理者最大的差別就是,領頭人(Leader)是被大家所追隨的,二經理或管理者(Boss)則是一種行政和職位上的威懾。
  • 說白了,Leader的影響力來自大家願意跟隨的現象,二經理或管理者的領導力來自職位和震懾

Leader和Boss的不同

  • Leader是大家跟我上,而Boss則是大家給我上
  • 一個在團隊前面,一個在團隊後面
  • 具體不同點如下:

    • Boss 是驅動員工,Leader 是指導員工。
    • Boos 製造畏懼,Leader 製造熱情。
    • Boss 面對錯誤喜歡使用人事懲罰的手段,而 Leader 面對錯誤喜歡尋找解決問題的技術或管理方法。
    • Boss 只是知道怎麼做,而 Leader 則是展示怎麼做。
    • Boss 是用人,而 Leader 是發展人。
    • Boss 從團隊收割成績,而 Leader 則是給予團隊成績。
    • Boss 喜歡命令和控制,而 Leader 喜歡溝通和協作。
    • Boss 喜歡說“給我上”,而 Leader 喜歡說“跟我上”。

如何成為大家願意追隨的Leader

  • 你需要一些徵兆:

    • 幫人解決問題。
    • 被人所依賴。
  • 有沒有技術領導力是成為 Leader非常非常關鍵的因素
  • 有了技術領導力可能還不夠,作為一個 Leader ,你還需要有其他的一些能力和素質,比如人格魅力

    • 贏得他人的信任
    • 開放的心態 + 傾向性的價值觀,傾向性的價值觀是別人是否可以跟隨你的一個基礎
    • Lead by Example,做示範
    • 保持熱情和衝動
    • 能夠抓住重點,看透事物的本質
    • 描繪令人激動的方向,提供令人嚮往的環境
    • 甘當鋪路石,為他人創造機會
  • 也許你不必做一個 Leader,但是如果你有想跟隨的人,你應該去跟隨這樣的 Leader。

5.時間管理

主動管理

  • 告訴大家,我們什麼時間段在做什麼事,請大家不要打擾我
  • 要求你的同事,重要的事情不要發微信而是郵件
  • 做好資訊管理

學會說“不”

  • 當你面對做不到的需求時,不要馬上說做不到,你先想一下,給出另一種做得到的方案
  • 當你面對過於複雜的需求時,不說我不能完全滿足你,但我說我可以部分滿足你
  • 當你面對時間完全不夠的需求時,你要想辦法把這個壓力還回去,或是讓對方來和你一同分擔壓力
  • 給回三個選:

    • a.我可以加班加點完成,但是我不保證好的質量,有 bug 你得認,而且事後你要給我1個月的時間還債。
    • b.我可以加班加點,還能保證質量,但我沒辦法完成這麼多需求,能不能減少一點?
    • c.我可以保質保量地完成所有需求,但是,能不能多給我 2 周時間?

加班和開會

  • 開會不是討論問題,而是討論方案
  • 作為與會者,如果你發現沒有提案,大家海了去了,那麼你有兩種選擇

    • 跳出來幫大家理一理
    • 可以說一下:如果會上討論不清,要不先線下討論,有了方案再來評審

投資自己的時間

  • 花時間學習基礎知識,花時間讀文件,不要把時間都浪費早查錯上
  • 花時間在解放自己的生產力的事上
  • 花時間在讓自己成長的事情上,晉升並不代表成長,成長不應該只看一個公司內,在行業內的成長才是真正的成長
  • 花時間在建立高效的環境上,工欲善其事,必先利其器

規劃自己的時間

  • 定義好優先順序
  • 最短作業優先
  • 想清楚再做
  • 關注長期利益規劃

用好自己的時間

  • 專注的把時間投入到有價值的事上
  • 知道哪些是更有效的路徑,是花時間改變別人,還是花時間去尋找志同道合的人
  • 形成習慣
  • “做”比“做好”更重要
  • 如何將這些時間管理方法形成習慣?

    • 形成正反饋,也就是成就感,這有助於你完成一些看似難以完成的事兒
    • 反思和舉一反三,覆盤

6.識別表象和本質

關於興趣和投入

  • 興趣是學習的助燃劑,對一件事有興趣是是否願意對這件事投入更多的前提條件

    • 一方面,興趣是需要保持的
    • 另一方面,興趣是可以培養的
  • 對一件事情的興趣只是表象,而內在更多的是你做這件事情的成就感是否可以持續

關於學習和工作

  • 學好一項技術和是否找到與之相匹配的工作有關聯,但不是強關聯
  • 通過工作才讓我們學習和成長的更快

    • 工作中能為我們帶來相應的場景和實際的問題,而不是空泛的學習
    • 在工作中有同事和高手幫助,和他們的互動討論可以讓你更快的學習和成長
  • 本質上來說,並不是只有找到了相應的工作我們才可以學好一項技術,有時間在工作中你反而學不到東西,工作提供的場景不夠豐富,需要解決的實際問題太過簡單,以及你的同事對你的幫助不大。

    • 找工作不只是找到這個技術的工作,更是要找場景,找實際問題,找團隊,這些才是本質
    • 不要完全把自己的學習寄託於找一份工作才會學的更好

關於技術和價值

  • 技術無貴賤,我們應該關注的是:

    • 要用技術解決什麼樣的問題,場景非常重要
    • 如何降低技術的學習成本,提高易用性,從而可以讓技術更為普及
  • 一項有價值的技術並不在於這項技術是否有技術含量,而是在於:

    • 能否低成本高效率地解決實際問題
    • 是不是眾多產品的基礎技術
    • 是不是可以支援規模化的技術
  • 對我們技術人來說,也可以找到相對應的技術點:

    • 低成本高效率的解決問題的技術,一定是自動化的技術
    • 基礎技術總是枯燥和有價值的
    • 支援規模化的技術也是很有價值的

關於趨勢和未來

  • 這個世界的技術趨勢和未來其實是被人控制的,就是被那些有權有勢的公司或國家來控制的
  • 技術的未來要去哪裡,主要是看這個世界的投入回到哪裡,基本上就是這個世界上有錢有權有勢的人把財富偷到哪個領域,也就是這個世界的大公司或大國們的規劃
  • 對於我們這些在人來說,只能默默的跟隨這些大公司所引領的趨勢和未來,能夠做的也許只有兩條路:

    • 1.用更低的成本來提供和大公司相應的技術
    • 2.在細分垂直市場上做得比大公司更專更精

7.故障處理最佳實踐:故障改進

故障覆盤過程

  • 對於故障,覆盤是一件非常重要的事情,因為我們的成長基本上就是從故障中總結各種經驗教訓從而能獲得最大的提升
  • 亞馬遜的覆盤過程(COE文件)

    • 1.故障處理的整個過程(log),把故障從發生到解決的所有細節過程都記錄下來。
    • 2.故障原因分析,需要說明故障的原因和分析報告。
    • 3.Ask 5 Whys,需要反思並至少 5 個為什麼,併為這些“為什麼”找到答案。
    • 4.故障後續整個計劃,需要對上述的“Ask 5 Whys”說明後續如何舉一反三地從根本上解決所有的問題。
    • 5.然後這個文件要提交到高層管理層,向公司的VP級別進行彙報,並由他們來審查。
  • 阿里的故障覆盤會

    • 1.把所有相關的人員都叫到現場進行復盤,這樣的好處:

      • 一方面資訊是透明的
      • 另一方面也是對大家的一次教育
    • 2.確定故障等級和責任人,對於比較大的故障,責任人基本上都是遊P9/M4的人來承擔,並且會懲罰引發故障的直接工程師
  • 為什麼不要懲罰故障責任人?

    • 首先,懲罰故障責任人對於解決故障完全沒有任何幫助。因為他們之間沒有因果關係,既不是充分條件也不是必要條件,更不是充要條件。這是邏輯上的錯誤。
    • 其次,做的越多錯的越多。會引發大家都學會保守,開始推諉,營造一種恐怖的氣氛。

故障整改方法

  • 亞馬遜和阿里的方法:

    • 亞馬遜方法:更多的是通過技術手段來解決問題,幾乎沒有增加更復雜的流程或是把現有的系統複雜化
    • 阿里方法:會有一些複雜化問題的整改項,比如加入檢查過程、審批環節、加入新的系統看著原來的系統
  • 整改方法的大致邏輯:

    • 第一,優化故障獲知和故障定位的時間。

      • 從故障發生到我們知道的時間是否可以優化得更短?
      • 定位故障的時間是否可以更短?
      • 有哪些地方可以做到自動化?
    • 第二,優化故障的處理方式。

      • 故障處理時的判斷和章法是否科學和正確?
      • 故障處理時的資訊是否安全透明?
      • 故障處理時人員是否安排得當?
    • 第三,優化開發過程中的問題。

      • Code Review 和測試中的問題和優化點
      • 軟體架構和設計是否可以更好?
      • 對於技術欠債或是相關的隱患問題是否被記錄下來,是否有風險計劃?
    • 第四,優化團隊能力。

      • 如何提高團隊的技術能力?
      • 如何讓團隊有嚴謹的工程意識?

根除問的本質

  • 問題的本質:

    • 一個技術問題後面隱藏的是工程師的能力問題;
    • 工程師的能力問題後面隱藏的是管理者的問題;
    • 管理問題後面隱藏的是一個公司的文化問題;
    • 公司的文化問題則隱藏這創始人的問題....
  • 一些原則:

    • 1.舉一反三解決當下的故障。為自己贏得更多的時間。
    • 2.簡化複雜、不合理的技術架構、流程和組織。你不可能在一個複雜的環境下根本地解決問題。
    • 3.全面改善和優化整個系統,包括組織。