上周末花了兩個下午的時間看完了《軟技能-代碼之外的生存指南》,用了15個番茄鐘。
簡介
這本書的作者John Sonmez是個有著健碩肌肉的非典型程序員。十八、九歲就開始投資房地產(chǎn),當過模特,為在線培訓(xùn)網(wǎng)站錄過50多期視頻課程。可以訪問他的網(wǎng)站Simple Programmer感受下,上面有很多視頻,包括自我營銷、編程、健身等等內(nèi)容。
這本書分七篇70章,分別從職業(yè)、自我營銷、學習、生產(chǎn)力、理財、健身、精神七個方面,針對程序員給出了建議。第1章名稱便是“為何這本書與你先前度過的任何書籍都迥然不同”。通篇讀下來,收獲比較大。有點像把70篇文章按主題總結(jié)在一起,有一定聯(lián)系,但是不影響分開閱讀。和一般雞湯不同,作者分享的大多是他總結(jié)出來的“干貨”,確實能開拓思路。更難能可貴的,在每章結(jié)束,通常會有一些可操作的相關(guān)練習,跟著練下去,收獲會更大。
第一篇 職業(yè)
你所能犯的最大錯誤就是相信自己是在為別人工作。這樣一來你對工作的安全感已然盡失。職業(yè)發(fā)展的驅(qū)動力一定是來自個體本身。記住:工作是屬于公司的,而職業(yè)生涯卻是屬于你自己的。--厄爾·南丁格爾
職業(yè)畢竟是作為程序員的基礎(chǔ),John用了17章來講職業(yè)。其中有一些我認為很棒的想法,比如:
把雇主當作是你的軟件開發(fā)企業(yè)的一個客戶,并學習如何像企業(yè)一樣思考:專注于你正在提供怎樣的服務(wù),以及如何營銷這項服務(wù);想法設(shè)法提升你的服務(wù);思考你可以專注為哪一特定類型的客戶或行業(yè)提供特定的服務(wù);集中精力成為一位專家,專門為某一特定類型的客戶體用專業(yè)的整體服務(wù)。
思考和設(shè)定目標,不要隨心所欲地生活,也不要隨遇而安地行走在職業(yè)生涯的漫漫長路上。
人際交往方面,用表揚代替批評;換位思考;避免爭吵,試著認輸(在非原則問題上);避免與“苛性堿人”交往。
通過面試最快捷的方式是讓面試官對你懷有好感,而這項工作大部分都可以在面試之前完成,比如通過評論開發(fā)人員的博客。修改單調(diào)乏味的簡歷,把它放到網(wǎng)上,要盡量有創(chuàng)意。
在任何公司里能讓你脫穎而出的最重要法寶就是承擔更多的責任。金錢也總是追隨著責任。沒人愿意涉足的領(lǐng)域是搜尋機會最好的地方。另一種間接承擔責任的方式是成為團隊中其他人的導(dǎo)師。遠離辦公室政治。
請勿陷入對技術(shù)的狂熱之中。努力嘗試過新東西后再評價。沒有理由去強烈堅持自己選擇的技術(shù)就是最好的,而輕視甚至無視其他技術(shù)。
書中還介紹了有關(guān)創(chuàng)業(yè)和遠程工作的相關(guān)內(nèi)容,介紹了選擇辭職的時機、如何開始創(chuàng)業(yè)、怎樣成為專業(yè)人士等內(nèi)容。
第二篇 自我營銷
營銷就是一場爭奪人們注意力的競賽。 --Seth Godin
在讀本書之前,作為一個程序員,至少我對于營銷是有偏見的。之前總覺得營銷往往和沒有誠信、不擇手段、急功近利掛鉤,書中也說“似乎每天都有無良的營銷人員為了一己私利而兜售新騙局”。
但其實在現(xiàn)實生活中,“優(yōu)秀的營銷會將人們的需要或者期待與能夠滿足此愿望的產(chǎn)品或服務(wù)關(guān)聯(lián)起來”。說白了,營銷只是讓人們認識你的產(chǎn)品的手段。它本身并沒有,只不過有好有壞,壞的營銷才會讓人們因此利益受損。
自我營銷,其實就是讓人們認識到你的才華--但首先你得有才華,能夠給別人帶來價值--這樣你的才華和能力才可能有更多發(fā)揮的空間。而成功進行自我營銷的關(guān)鍵在于:“如果想讓別人喜歡你,想和你一起工作,你就必須要為他們提供價值”。正如阿爾伯特·愛因斯坦所說:
不要努力成為一個成功的人,而要努力成為一個有價值的人。
自我營銷的方式有在博客上發(fā)表有價值的文章、在YouTube上傳分享視頻、給雜志投稿、著書、參加技術(shù)演講會、維護自己的微信公眾號等等。
書中尤其重點講了博客的重要性,如:
- 面試之前方便面試官了解
- 可能帶來客戶
- 推銷自己的平臺
- 為你帶來業(yè)界聲望
- 提升你的溝通技巧
以及堅持寫博客、提升訪問量的相關(guān)方法。
本篇的最后,作者也告誡我們,“如果你想成功,你必須要學會收起自己脆弱的自尊心,勇敢走出去,別害怕讓自己出丑。”
在我的職業(yè)生涯中,我一共錯失了9000多次投籃,輸?shù)袅私?00場比賽。我本來有26次絕殺的機會卻投球不進。我失敗了一次又一次。這就是我能夠成功的原因。 --邁克爾·喬丹
第三篇 學習
教育就是一個人把在學校所學全部忘光之后剩下的東西。 --阿爾伯特·愛因斯坦
學習的重要性不言而喻,作者在本篇中主要介紹了“十步學習法”,主要思路是LDLT,即“學習-實踐-掌握-教授”。
我總結(jié)如下,為了更好的說明每個步驟該作什么,我以最近感興趣的機器學習進行了舉例:
步驟 | 說明 | 舉例 |
---|---|---|
1 了解全局 | 一次性。粗覽內(nèi)容,基礎(chǔ)性研究,全局性的了解 | 機器學習概念,用來做什么? |
2 確定范圍 | 一次性。確定學習重點和學習范圍,將大主題分解成可控的子主題 | 學習機器學習的監(jiān)督學習和無監(jiān)督學習,掌握聚類分析 |
3 定義目標 | 一次性。定義可量化考量的成功標準 | 尋找白馬股的特征 |
4 尋找資源 | 一次性。書籍、博客、視頻、專家、github等 | 書籍、互聯(lián)網(wǎng)、優(yōu)礦、Kaggle |
5 創(chuàng)建學習計劃 | 一次性。思考如何從A到Z,可以參考多本書的目錄結(jié)構(gòu) | 1.了解基礎(chǔ)概念 2.Kaggle范例學習 3.上手項目練習 |
6 篩選資源 | 一次性。根據(jù)第5步的計劃,在眾多資源中挑選最有價值的資源 | 書籍、Kaggle、github |
7 開始學習,淺嘗輒止 | 循環(huán)往復(fù)。了解基礎(chǔ)操作后即可開始 | 了解python基礎(chǔ)庫和科學計算相關(guān)概念,使用Anaconda搭建Python科學計算開發(fā)環(huán)境 |
8 動手操作,邊玩邊學 | 循環(huán)往復(fù)。在實踐中學習,思考 | 上手Kaggle項目titanic |
9 全面掌握,學以致用 | 循環(huán)往復(fù)。深入學習,以第3步定義的成功標準檢驗是否完成。 | 白馬股的特征是什么,和業(yè)界共識是否一致? |
10 樂為人師,融會貫通 | 循環(huán)往復(fù)。撰寫博客、YouTube、演講、與朋友愛人對話探討、線上回答 | 博客、與朋友探討 |
實際的操作可在此基礎(chǔ)上做刪減。
第四篇 生產(chǎn)力
本篇講的是提升生產(chǎn)力相關(guān)的方方面面,包括思想理論、實際操作、注意事項。
提升生產(chǎn)力,其實相當于讓自己更專注于計劃做的事。“一切始于專注”,專注有非常大的魔力。在具體方法中,作者給出了自己的“私房計劃”:
- 季度計劃。先列出季度計劃,把想在每個季度完成的大項目列出來,記錄在Evernote中;
- 月計劃。在每一個月開始,根據(jù)季度計劃和之前完成的情況,列出月計劃;
- 周計劃。在每周開始,列出本周要完成的任務(wù),記錄在Evernote上方便檢查完成情況。作者推薦使用Trello或Kanbanflow。
- 日計劃及執(zhí)行。在每天工作之前,先準備好,比如做一些健身活動。之后就全身心投入到要完成的任務(wù)中。
番茄工作法
關(guān)于計劃的執(zhí)行,作者推薦了番茄工作法。番茄工作法的概念早就存在了,之前我也沒有給予足夠的重視,這次決定實際體驗下到底怎么樣。
從我自己的實踐情況來看,番茄工作法確實能夠提高我的生產(chǎn)力。在每個番茄鐘里(通常是25分鐘工作+5分鐘休息),能夠主動屏蔽干擾。一件事剛剛做了會兒,可能碰巧到了專注發(fā)揮魔力的時候,突然別人叫你去做其他的事,或者你看到了聽到了什么感興趣的東西,這時候放棄這種狀態(tài)真的是前功盡棄了。
番茄工作法還有一個作用是可以記錄你成功完成多少工作。上周末我使用番茄工作法用兩個下午的時間讀了這本《軟技能》用了15個番茄鐘,共7.5小時。如果沒有番茄工作法的幫助,我肯定是完不成的。
通過這兩周的實際體驗,我覺得在使用番茄工作法時,應(yīng)該注意:
- 必須對自己負責,誠實嚴肅地對待每一個番茄鐘,如實記錄。
- 番茄鐘的開啟要簡單,推薦手機App的方式,在開啟一個番茄鐘后,就把手機放在一邊(安卓推薦番茄Todo)
- 主動屏蔽干擾。必要的時候和身邊的同事、朋友、愛人說明情況,盡量不要在一個番茄鐘里受到太多干擾。
推薦大家使用番茄工作法。
本篇還講了一些其他提升生產(chǎn)力的方法,如定額工作法,規(guī)定好每天要做的事,按時完成。還討論了多任務(wù)并行的利弊、在職業(yè)倦怠時的解決之道(忽略倦怠繼續(xù)前進)、時間是怎樣被浪費的(最大的時間殺手-看電視)、分解任務(wù)的方法,以及當我們猶豫不決時,“任何行動都比不采取行動好”。
本篇總結(jié)下來,不管是設(shè)定計劃、執(zhí)行計劃、戒掉電視、培養(yǎng)習慣等等,最重要的就是對自己負責。我現(xiàn)在喜歡把一件大的任務(wù)劃分到很小的任務(wù)里,設(shè)定了不同的番茄鐘,每天/每周完成這些番茄鐘就可以了。“我覺得我不能完成這么大的項目”,“我覺得做這個時間太長了,我堅持不下來”。跑步的時候,堅持不下去了,我就想“就跑到前邊50米那輛汽車的地方”,“既然已經(jīng)到了就再跑50米到路口”,最終一步步到了終點。高手做俯臥撐一做就是幾百個,我不行,就從墻壁俯臥撐開始練,每組25個一共3組,還是撐不住,就5個一組5個一組的堅持下去。目標小到自己能完成的程度,堅持下去,總有能完成全部的一天。
第五篇 理財
金錢只是一種工具,它會帶你去往任何你想去的地方,但不會取代你成為司機。 --愛思·然德
程序員的薪資普遍不低,但這個薪資能持續(xù)到什么時候呢?外部大環(huán)境在變,我們本身也在一點點老去,我們怎么去做退休計劃、理財計劃呢?本篇給了一些建議。
首先應(yīng)該分清資產(chǎn)與負債。《富爸爸窮爸爸》的作者羅伯特清崎說“任何能把錢裝在你口袋你的東西才是資產(chǎn),而任何需要你把錢從口袋里掏出來的東西都是負債”。定義未免有點嚴苛,但就理財而言,就是最大化資產(chǎn),最小化負債。
其次作者談到了“薪酬談判”的建議,歸結(jié)起來,就是不要先出價,無論如何要讓對方先出價,這樣在薪酬上才不會陷入被動。
有了錢當然要投資,作者以期權(quán)和房地產(chǎn)為例,簡單介紹了投資的方式方法。做任何事都是有目標的,大部分人工作掙錢的目標還是以一個退休計劃作為目標的。所以設(shè)定一個切實可行的退休計劃也是必須的。
最后作者以自己“如何做到33歲退休的”為例,講了自己的理財投資故事。主要是投資房地產(chǎn),每年買一套房并租賃出去,在擁有多少套之后賣出,這樣保證有一定的存量。結(jié)合國內(nèi)實際情況,還是較難實現(xiàn)的。不過作者的思維可以借鑒。
以我自己的經(jīng)驗,平時養(yǎng)成記賬的習慣,知道支出的流向。時間長了,就會養(yǎng)成定額定量的習慣。理財上可以組合持有一些基金(貨幣基金、混合基金、股票基金按需分配)、股票、ETF等。可以去簡七理財多了解些基本的投資知識。
再說一句,“把錢看得越重,就越難以在理財方面做出明智的、成功的投資選擇”。
第六篇 健身
健身這塊其實是大部分程序員最需要加強的。但很多時候,因為目標的不明確,導(dǎo)致效果甚微。
可能的健身目標:
- 減肥(減掉脂肪)
- 增肌(增長肌肉)
- 增加力量(不一定是肌肉)
- 增加肌肉耐力(改善運動表現(xiàn))
- 改善心血管健康
- 在某項運動上表現(xiàn)更好
在選擇了一個大目標之后,一定要設(shè)定詳細可執(zhí)行的目標。比如先選擇減肥,再定“減肥10kg”,最后定“每周減掉1kg”,并作出可執(zhí)行的計劃。如果沒有什么計劃,就去跑步吧。
除此之外,作者還講了卡路里的相關(guān)知識,想增長肌肉進行舉重練習的同學可以學到舉重的基礎(chǔ)知識,以及獲得完美腹肌的要素。
作者關(guān)于“不要過早獎勵自己”的理論我和認同。比如我們準備去定期跑步,可能就先給自己準備一雙不錯的跑鞋。然而買了跑鞋真正開始跑,可能過不了幾天就堅持不下去了,跑鞋也扔到了鞋柜里吃土。其實可以反過來,先讓自己堅持兩周,如果跑了兩周沒有任何松懈,到時候再獎勵自己一雙跑鞋。這樣效果可能會更好。
第七篇 精神
終于來到了最后一篇(如何不算附錄的話)。在本篇里,作者講了心靈和身體的相互影響,怎樣使用積極的心態(tài)對大腦“重新編程”,還點了“愛情與戀愛”話題(看來美國程序員也大量單身啊),同時列出了不少名人名言以及成功書單,我總結(jié)如下。
如果你不征服自己,你就會被自己征服。 --拿破侖·希爾
信念決定思想,思想決定言語,言語決定行動,行動決定習慣,習慣決定價值,價值決定命運。 --圣雄甘地
自我提升和勵志類圖書
- Steven Pressfield - The War of Art [Black Irish Books, 2002]
- Dale Carnegie - 《人性的弱點》How to Win Friends and Influence People [Gallery Books, 1998]
- Napoleon Hill - 《思考致富》Think and Grow Rich [Wilder Publications, 2007]
- Maxwell Maltz - 《心理控制方法》Psycho-Cybernetics [Pocket Books, 1989]
- Norman Vincent Peale - 《積極思考就是力量》 The Power of Positive Thinking [Touchstone, 2003]
- Ayn Rand - 《阿特拉斯聳聳肩》 Altas Shrugged [Signet, 2005]
軟件開發(fā)類
- Steve McConnell - 《代碼大全》 Code Complete [Microsoft Press, 2004]
- Robert Martin - 《代碼整潔之道》 Clean Code: A Handbook of Agile Software Craftmanship [Prentice Hall, 2008]
- Eric Freeman、Elisabeth Robson、Bert Bates、Kathy Sierra - 《HeadFirst 設(shè)計模式》 Head First Design Patterns [O'Reilly Media, 2004]
投資類
- Gary Keller - The Millionaire Real Estate Investor [McGraw-Hill, 2005] 房地產(chǎn)投資
- Robert Kiyosaki - 《富爸爸,窮爸爸》 Rich Dad, Poor Dad [Demco Media, 2000]
- Kerry Given - No-Hype Options Trading: Myths, Realities, and Strategies That Really Work [Wiley, 2011] 期權(quán)交易
最后還囑咐我們,“學會擁抱失敗、期待失敗(主動去嘗試)、接受失敗,并準備直面失敗”。
跌倒七次,爬起來八次。 --日本諺語
附錄
在附錄中,作者還貼心地給我們講了金融的相關(guān)知識(“如果你能寫代碼,你就能理解金融”)、股市如何運作以及健康的飲食和營養(yǎng)知識。
總結(jié)
這本書通篇讀來,酣暢淋漓,使我能夠從稍遠一點的地方看一看世界--除了代碼如何生存,如本書的副標題“代碼之外的生存指南”所言。
希望你也能成為一名成功的軟件開發(fā)人員--不能只編寫代碼,還要有精彩的人生。