作為一個程式設計師,你還在低頭聽著音樂敲程式碼麼?

軟技能:程式碼之外的生存指南
首先說明一下,這是一本主要針對程式員程式碼之外技能的書籍,當然其他人也可以閱讀,可以跳過對程式設計師這個人群的專業建議,其他部分還是可以一讀的。前面的五篇讓我重新思考了我的職業生涯,其實剛讀到這本書時,感覺很久以前我的規劃和作者差不多,只不過還是學生,對於很多方面瞭解的還不是很透徹,所以當讀完這本書後,感覺像是多年後的自己寫給自己的一本書,這個作者我很喜歡。
第一篇:職業
你所能犯的最大錯誤就是相信自己是在為別人工作。這樣一來你對工作的安全感已然全失。職業發展的驅動力一定是來自個體本身。記住:工作是屬於公司的,而職業生涯確實屬於你自己的。——厄爾•南丁格爾
從非同凡響開始:絕不要做他人都在做的事。
大多數軟體開發人員從職業生涯一開始就犯了幾個嚴重的錯誤。截至目前,最大的錯誤就是沒有把自己的軟體開發事業當作一樁生意來看待。不要被愚弄了,當你為了謀生一頭扎進寫程式碼的世界時,其實你和中世紀小鎮上開鐵匠鋪的鐵匠沒什麼差別。確實,時代或許已經改變了,我們中大多數人現在為公司工作,但是我們的技能和生意都還是自己的,我們隨時都能換個地方另起爐。把僱主當作是你的軟體開發企業的一個客戶吧。
提示: 這是你職業生涯中必須要做的第一要務:轉變你的心態,從被一紙“賣身契”束縛住的僕人轉變為一名擁有自己生意的商人。在起步階段就具備這種心態會改變你對職業生涯的思維方式,將此銘記在心,並積極主動地管理自己的職業生涯。
像企業一樣思考: 我們可以先從思考企業是由什麼構成的開始。大多數成功的企業都需要以下幾樣東西。首先,要有一個產品或服務。不能提供東西的企業是沒辦法賺錢的,因為沒有東西可賣。你有什麼可以賣?你的產品或服務是什麼?注意:你所能提供的服務就是建立軟體。即使只是想一想“作為一個企業我能提供什麼”,就會對你如何考量自己的職業生涯產生深遠的影響。企業需要持續不斷地改進和完善自己的產品。你也應該這麼做。作為一名軟體開發人員,你提供的服務具備有形價值,你要傳達的不僅是這款軟體的價值是什麼,還有它與別的成千上萬款軟體開發人員提供的服務有何不同。
你可以想象,大多數軟體開發人員在開始的時候並不是以這樣的方式來規劃自己的職業生涯的。他們伴著一首聲音低得幾乎聽不見的流行音樂一頭扎進工作中,根本不能做到“非同凡響”。所以,千萬別像他們這樣。相反地,你需要做到:專注於你正在提供怎樣的服務,以及如何營銷這項服務;想方設法提升你的服務;思考你可以專注為哪一特定型別的客戶或行業提供特定的服務;集中精力成為一位專家,專門為某一特定型別的客戶提供專業的整體服務(記住,作為一個軟體開發人員,你只有真正專注於一類客戶,才能找到非常好的工作。
思考未來,你的目標是什麼?
人際交往能力:遠比你想象的重要。 “別管我,我只想一個人安靜的寫程式碼!”如果你還是覺得自己的工作就是寫寫程式碼,那你最好要三思。作為一個軟體開發人員,你的工作就是與人打交道(其實幾乎所有的職業都是這樣)。
你是哪類軟體開發人員。書中舉了一個很形象的例子,你曾經聘請過律師嗎?當時你做的第一件事是什麼?如果你還沒有聘請過律師,那你覺得自己要做的第一件事會是什麼?如果你認為你需要明確指出自己需要哪種型別的律師,你是對的。你不想抓起電話隨便打給一位律師,你肯定想打給能夠解決自己問題的專業律師。律師這一行術業有專攻,他們通常在從業一開始就走上了專業之路,成為刑事律師、交通事故律師或者房地產律師等。你不會想找打離婚官司的律師代理自己的稅務或房地產方面的事務,所以專業化是非常重要的。律師並不是從法學院畢業的那一刻才決定自己要當律師的。但是,遺憾的是,大多數軟體開發人員是在幹起了軟體開發行當時才決定自己要當程式設計師。 專業化很重要。 有大量的軟體開發人員並沒有具體的專業方向。事實上,大部分軟體開發人員完全以自己使用的程式語言來定義自己的專業性。你經常會聽到有人說“我是C#開發人員”,或者“我是Java開發人員”,等等。這種專業分工太寬泛了,並不足以說明你能勝任哪種型別的軟體開發工作。一門程式語言並不能讓我瞭解你是哪類軟體開發人員,也不能告訴我你真正能做什麼。它只是讓我知道你在工作中使用哪一種工具。
請勿陷入對技術的狂熱之中。 我們都是技術的信徒 ,這是真的,你還是承認這一點吧。你對某種技術或程式語言存在偏見,認為它是最好的——至少大多數程式設計師是這樣的。這很正常。我們總是對自己做的事情充滿熱情;只要是有激情、有熱情,就很容易變得極度感性。來看看職業運動員。對技術虔誠的一大問題是,我們中的大多數崇拜某項特定的技術,只是因為自己熟悉這種技術。我們很自然地會相信自己選擇的是最好的,然而這會讓我們經常忽略任何反對意見。我們不可能充分了解現存的所有技術,從而給“哪項技術最好”作出最英明、最睿智的判斷,於是我們傾向於選擇我們瞭解的技術並先入為主地認為它是最好的。人生多艱,無暇他顧。儘管這一行為的起因合理又自然,但其實具有破壞性和侷限性。當我們武斷地只根據自身經驗就固執己見時,很容易只與理念相同的人打交道而排斥其他人,最終我們只會固步自封、墨守陳規。我們自以為找到所有答案,卻只是裹足不前。在我職業生涯的相當長的一段時間裡,我都是作業系統、程式語言甚至文字編輯器這些技術的忠實信徒。然後我才逐漸意識到,我沒必要只是選擇最好的而貶低其他的。
第二篇:自我營銷
營銷就是一場爭奪人們注意力的競賽。 在軟體開發行業,營銷的名聲並不好。一般人提起營銷人員都會皺眉頭,因為很多營銷人員會急功近利地使用不誠信的手段。似乎每天都有無良的營銷人員為了一己私利而兜售新騙局。其實在現實生活中,營銷本身並沒有那麼糟糕。你的營銷手段決定了你的營銷物件是受益還是受損。營銷需要人們的關注,以便讓人們關注你,關注你的產品。優秀的營銷會將人們的需要或者期待與能夠滿足此願望的產品或服務關聯起來。所以,營銷追求的是“實現價值在先,要求回報在後”。
書中提到很多關於程式設計師自我營銷的方法,如建立自己的blog,參加GitHub上的開源專案,多多關注大佬們的部落格,多多分析提問混個臉熟,這樣在面試的時候成功率會增加不少。如果能力更高,可以著書作演講,當然這也要看個人能力而言。
不要努力成為一個成功的人,而要努力成為一個有價值的人。
第三篇:學習
教育就是當一個人把在學校所學全部忘光之後剩下的東西。以前貌似不懂,因為還在學校,離開學校再來品味這句話,確實另有深意。就像以前的數學題小明買了多少錢?題目也許我已經忘記,但是涉及的加減乘除肯定已經留在了我的腦海裡。
軟體開發的世界是不斷變化的。每一天都會有一門新的技術出現,昨天你學到的東西今天可能就毫無意義了。 在這個飛速變化的世界裡,學習的能力是至關重要的。軟體開發人員如果選擇固步自封,忽視自己的技能發展,那麼他們很快就會落在後面,錯失未來,只能被派去維護過去的遺留系統。如果想擺脫這種宿命,你就需要學會如何學習。在這一篇中,我的目標就是教你如何自學。我將帶你瞭解我開發的快速掌握新技術的“十步學習法”。我使用這一方法在一年時間內開發了超過30個適合開發人員的長期培訓課程。我還會給你一些靠譜的建議,幫你尋找導師,指導別人,以及如何釋放自己的內在潛力像海綿一樣地吸收知識。 我也想強調這一篇的重要性, 軟體行業是眾多知識更新較快的行業之一,也許在學校我們有時間慢慢學習,摸索,但是要想在之後的職業生涯中活下來,那麼我們必須具備快速學習的能力,其中就包括書籍的閱讀,儘管我已經看過不少本書,大部分都是電子書,但是我的閱讀效果還是不甚理想,其中包括閱讀後對知識的消化,閱讀的速度,和挑選合適的章節進行快速或者慢讀等等,這不是看多了就自然會了的事情,這需要我們刻意練習,我很少相信什麼不需要動腦子,慢慢就會的東西,要麼耗不起那個時間,要麼就是明明可以更快,只是懶惰而已。
這也同樣適用於我們做的事情。如果我告訴你該怎麼做,你可能會忘掉,但如果你自己動手做一次,你可能就記住了。如果你能將自己所學的東西教給別人,你不僅能記住,還能理解得更深刻。儘管每個人的學習風格千差萬別,但是通過動手實踐和教會他人,我們能學得更好。與其他學習方式相比,主動學習是效率更高的方式。 教育的首要目標,並不在於“知”而在於“行”。
作者的十步學習法: 我發現,為了能夠掌握一門技術,我需要了解以下三個要點。 1.如何開始 ——要想開始使用自己所學的,我需要掌握哪些基本知識? 2.學科範圍 ——我現在學的東西有多巨集大?我應該怎麼做?在開始階段,我不需要了解每個細節,但是如果我能對該學科的輪廓有大致的瞭解,那麼將來我就能發現更多細節。 3.基礎知識 ——不止在開始階段,要想使用一項特定的技術,我需要了解基本的使用者案例和最常見的問題,也需要知道自己學的哪20%就能滿足80%的日常應用。
熟知了這三個關鍵點後,我可以高效地學習一門技術,無需通曉全部細節。我發現,如果我瞭解三項主題——如何開始,我能做什麼,以及相關基礎知識,那麼我就能隨著學習深入學會所需的其他知識。 如果我想提前掌握所有知識,那只是在浪時間,因為真正重要的內容會湮沒在那些細枝末節中。 這種新方法能讓我關注重點。當我確實需要了解更多細節時,我可以利用參考資料來彌補這些不足。有多少次你從頭到尾仔細閱讀一本技術書籍,卻發現自己實際用到的也只是書裡介紹的技術的小部分。
“十步學習法”的基本思想就是:要對自己要學的內容有個基本的瞭解——瞭解自己不知道什麼就足矣。然後,利用這些資訊勾勒出學習的範圍,即需要學哪些內容,以及學成之後又會獲得什麼。依靠這些知識,你可以找出各種資源(不侷限於書)來幫助自己學習。最後,你可以建立自己的學習計劃,列出要去學習哪些相關課程,篩選學習材料,只保留能幫助自己達成目標的優質內容。
對於“十步學習法”的前六個步驟, 你需要集中精力完成足夠多的前期調研,確保自己明確知道要學哪些內容,以及如何確認自己已達成目標。 你還將學到如何挑選最好的資源來幫自己實現目標、制訂學習計劃。但是我還是和其他讀者一樣,推薦你先閱讀第七到十個步驟,然後再回來瞭解前六個步驟。 第七步:開始學習,淺嘗輒止。 大多數人,包括我自己,在學習過程中通常會犯兩類錯誤:第一類錯誤是在知之不多的情況下就盲目開始,即行動太快;第二類錯誤是在行動之前準備過多,即行動太晚。要想在這二者之間取得平衡,你掌握的知識要恰到好處,足以能讓你開始學習,但又不會多到讓你無力探索,這樣你的學習效果最佳。 第八步:動手操作,邊玩邊學。 這一步真是既有趣又可怕。說它有趣是因為你真的是在玩耍,說它可怕是因為這一步完全沒有邊際。這一步沒有任何規則,你可以做任何你想做的事情。如何更好地實施這一步,完全由你決定。現在,考慮一下我在這裡建議的方法。你無需提前瞭解全部內容,你要做的首要的一件事情就是親自操作和親身體驗。採用這種方法,你通過探索和實踐進行學習。在操作的過程中,你的大腦自然地產生各種問題:它是如何工作的?如果我這做,會發生什麼?我該如何解決這個問題?這些問題引導著你走向真正重要的方向。當回過頭尋找問題的答案的時,不只是這些問題迎刃而解,而且你記得的東西比你學習的東西要多得多,因為你所學到的都是對你很重要的東西。 第九步:全面掌握,學以致用。第十步:樂為人師,融會貫通。 大多數人都不敢為人師。我曾經也是。當你在思考自己知道的東西(或者你認為自己知道的東西)是否值得教給別人的時候,很容易陷入自我懷疑之中。但是,如果你想深入地掌握一門學問,想對這門學問做到融會貫通,那麼你必須要做到“好為人師”。除此之外別無他法。教授知識有很多途徑,可以寫文章和部落格,線上回答別人的問題等等,有時候更本不用你本人露面,或者發出聲音。
第四篇:生產力
外行靜坐等待靈感,其他人則喚起激情努力工作。——斯蒂芬*金
如果我可以把本篇的所有內容提煉成一個忠告,我會說“做該做的工作”。然而,問題在於,“做該做的工作”並不像看起來那麼簡單。我們都知道,如果明確知道應該做什麼,那麼我們的工作效率會更高。但是,懶惰、缺乏動力、泡在Facebook上聊天、沉湎於搞笑的貓咪視訊……,種種原因總讓我們的計劃泡湯。那麼,怎樣才能坐下來,做我們應該做的工作呢?我們要怎樣做才能讓自己不再沉迷於搞笑動畫,克服拖延症呢?
一切始於專注、制定周計劃、月計劃、季度計劃、日計劃及執行,還要結合適當的休息和休假。當然這一切都是在你已經有類似的經歷後才能給你更積極的作用,如果你還沒有開始進行這些,那麼希望可以嘗試著開始,當然剛開始效果可能不是很好,但是當你以後閱讀到其他書籍,在此設計這些內容後,我相信你會有著更深刻的理解和進步,改變從來都不是看著看著就改變了,而是做著做著,改著改著,才進步的。前面介紹的都是已經在我生活裡實施過的,所以再看效果並不顯著,但是後面一部分很值得學習,當你用起來才覺得如此巧妙。
番茄工作法: 它的基本思路是:你規劃出打算一天之內完成的工作,然後設定一個時長25分鐘的定時器,去完成計劃中的第一項任務;在這25分鐘之內,你只專注於這一項任務,心無旁騖。一旦有干擾,可以用各種方法遮蔽掉干擾,但是通常你要努力保證自己完全不被打擾。總之,你不希望自己的專注的工作狀態被打斷。我將一個番茄重新設定為30分鐘一個,比較好計算。剛開始我以為我一天專心做事的時間應該有12個小時,包括練字,閱讀,但實際上,通過記錄番茄個數,一般也就十五六個,做多十八個,也就是說,每天專注的時間也就七八個小時,這讓我重新審視了我的一天,很多看似專心,學習的時間,其實都不知不覺的耗費在無意義的事情上,然而自己卻對此一無所知,甚至都不知道花費多少時間,這是多麼令人驚訝的一件事情。 要不要多工並行: 這個我之前也瞭解過,其實效率並不那麼高,這個如果有想法可以自己再多多瞭解。還有一個就是改變自己的不好的習慣,這本書只是簡單介紹一下,首先你要明白, 習慣是不能戒掉的,但是可以被替換。 這是你改變習慣之前首先要改變的一個觀點,如果有興趣再去看看《習慣的力量》。
第五篇:理財
說實話,這篇對我來說也算是一個新的領域,因為自己根本沒有穩定的經濟來源,對於工作充滿了期待,也對自己的未來充滿了困惑,並不知道之後應該往什麼地方前進,自己目光所及之處都是迷霧漫漫,希望可以藉助本章擴充套件一個新的領域。
金錢只是一種工具。它會帶你去往任何你想去的地方,但不會取代你成為司機。
事實上,你在職業生涯中做出的許多關鍵決策很大程度上是以財務狀況為基礎的。身為軟體開發人員,你也同樣受此影響。這裡的一點知識就足以讓你受益良久。即使你對此心存疑問,我也鼓勵你認真思考一下:改變財務狀況會如何顯著地改變你的生活,改變你在職業生涯中所做的決定。
怎樣支配你的薪水。
我有個經營“發薪日貸款”業務的朋友,他為人們提供兩個發薪日之間的短期貸款。因為那些借款人急需用錢,或者至少他們覺得自己急需用錢,所以他會收取奇高的貸款利息。有一次我問他,都是哪些人來找他貸款。我覺得大多應該是入不敷出、只能透支未來的窮人。但是,他的回答讓我大吃一驚。他說,儘管他的大多數客戶都生活在貧困線以下,但是醫生、律師和其他年收入10萬美元以上的高收入的專業人士也佔有相當大的比例。事實證明,賺錢多並不能讓一個人在財務上更精明。那些從我朋友那裡獲得短期貸款的醫生和律師們,受困於短期思維,和我在職業生涯早期保有相同的心態。他們靠薪水過活,因為每個月他們都花光自己賺到的那麼多錢。他們掙的越多,花的也越多。因為他們覺得理所應當,所以他們會透支所有信用去買更大的房子、更好的汽車。
資產與負債:很巧,讀過《窮爸爸富爸爸》,作者引用了此書,對於“資產”和“負債”的定義甚至更嚴苛。他聲稱,任何能把錢裝在你口袋裡的東西才是資產,而任何需要你把錢從口袋裡掏出來的東西都是負債。依這樣的觀點行事肯定錯不了。
債務的危害。
你真的瞭解自己的退休計劃麼?
慵懶地躺在沙灘上,捧一本書,酌一口冰鎮朗姆酒,任海浪拍打在腳面上……這就是我們很多人暢想的退休生活。但是,我驚訝地發現許多人以為這樣的場景理所當然,並假設這樣的場景一定是在60歲以後發生。事實是,在熱帶海灘上度過退休生活並非理所當然,也不只是60歲以上人群的專利。(作者在33歲的時候就能實際退休。)事實上,如果你希望樂享退休生活,你必須開始為此做一些計劃,並且從現在就開始計劃。遺憾的是,大多數我看到的關於退休的建議都是完全錯誤的。我總會聽到各種顧問告訴人們把錢存在退休金賬戶裡,然後忘掉它。儘管這對大多數人而言是一項不錯的建議,但是我猜想,作為一名軟體開發人員,特別是作為本書的讀者,你可以做得更盡善盡美。在本章中,我會試圖改變你對退休生活的思考方式。但是我給出的處理這些賬戶的思維方式和策略也適用於任何型別的退休計劃,即使你依靠公司提供的養老金,像世界上其他許多地方一樣。
第六篇:健身
這一篇因為之前有和同學學習過健身,而且自己也實踐過,補過一些知識,所以想說,健身沒毛病,好處數不勝數,隨便拉一個人問問,就算說不出個所以然也是知道喜歡運動的人肯定很健康。所以你不應該就此止步,可以再讀一讀《囚徒健身》《如何跑步》等等運動知識,而且要知道,增肌的困難度不亞於減肥。
第七篇:精神
很巧,這一篇我平時就很注重,所以看了很多心理學的書,尤其以“愛”這個主題討論最多,所以作者一篇的篇幅只是冰山一角,這個主題同樣值得你深入學習。如果你想能夠更好的和愛人,家人,朋友相處,我推薦你讀讀這幾本書《少有人走的路》、《非暴力溝通》、《愛的五種語言》、《感謝自己的不完美》、《為何家會傷人》,最後兩本是中國人寫的哦,也很不錯。