1. 程式人生 > >軟技能-程式碼之外的生存指南(職業篇)

軟技能-程式碼之外的生存指南(職業篇)

前言

這本書是之前一個朋友推薦的,一直沒看,覺得這是一本很無聊的書。整本書竟然沒有講一點程式設計。書中說的都是些旁門左道的東西。這是我所鄙視的,一個程式設計師不好好寫程式碼,提升自己的程式碼能力。老搞這些無聊的東西,簡直就是不務正業。 可以最近幾個月,我忽然很迫切的想看看這本書了。最近換了工作,以為從一個坑跳出來了,沒想到又跳到另一個坑了。很想再跳走,但想了想再跳了一個也是這樣。出來工作5年了,經歷了3個公司,每個公司都是一個坑。所以再跳來跳去感覺也沒有意義。不如好好研究下怎麼提升自己其他能力,賺更多的錢。畢竟工作也是為了賺錢。
以下章節是按照原書的目錄進行劃分的,因為原書的話並不是精煉,所以章節下的內容,是我根據作者的觀點進行總結的。(本書的目錄劃分真的非常奇怪) 內容概要 這本書並沒有講程式碼相關的東西,這本書關注的軟體開發人員自身的發展包括職業,思維,身體健康等。本書大體可以分為以下幾部分職業篇、 自我營銷篇、 學習篇、 生產力篇、 理財篇、 健身篇、 精神篇等七篇,都是跟“人”息息相關工的。旨在提高人的價值

第一章 為何這本書與你先前讀過的任何書籍都迥然不同


什麼是優秀的軟體開發人員:優秀的軟體開發人員並不是說要精於編碼之道,善於解決缺陷和單元測試。優秀的軟體開發人員是能夠把控自己的職業生涯、能達到自己的目標並且能夠享受生活的人。 第一篇是職業篇,教你如何主動管理自己的職業生涯,從而達到自己追求的結果 第二篇是自我營銷,教你如何推銷自己 第三篇是學習,教你如何自學,這是所有技能裡最有價值的技能 第四篇是生產力,教你如何提高自己的工作效率 第五篇是理財,教你理財的基礎知識,讓你開始規劃自己的未來財務 第六篇是健身,教你減掉脂肪增加肌肉,提高身體素質 第七篇是精神,教你調整情緒狀態和態度的真實的實用性的建議

1. 職業

軟體開發人員經常犯的一個最大的錯誤是相信自己是為別人工作的,這樣就會喪失工作的安全感,職業發展的驅動力應該是來自於自身。工作是公司的,職業發展是屬於自己的。
個人點評:這一篇非常短,就講了這麼一句話。確實也算是個提醒,以前我個人卻是沒有怎麼關注過職業生涯,想得未來也是要掌握某方面的技能。職業生涯確實需要考慮下。

2. 非同凡響

2.1 擁抱商業心態

軟體開人員經常把軟體開發事業當成一樁生意,如果這樣想其實寫程式碼跟搬磚沒有啥區別,只是時代不同造成工作內容不同而已。我們要把自己當成一個企業去思考,沒錯就是把自己當成一家公司,而不是一個打工仔。

2.3 像企業一樣思考

  • 專注於你正在提供的服務,以及如何營銷這項服務
  • 想辦法提升自己的服務
  • 思考你可以為那一特定型別的客戶和行業提供特殊的服務
  • 集中精力成為某一方面的專家

個人點評:這一樣的論點就是要做一個專一的人,有某一方面獨特的專長,而不要成為一個全而不精的人。

3. 目標是什麼

大多數軟體開發人員都沒有目標或者沒有為目標而努力,渾渾噩噩的度過一生。大多數軟體開發人員都害怕定目標,既是因為害怕目標定錯了,白白浪費很多時間,也害怕把自己限制死。大多數人都希望能隨時選擇,臨時應變。當時我們還是要有一個目標的。

3.1 如何設定目標

首先要定一個大的目標,不用很具體,只要有個大方向就可以了。然後設定路線,把大目標劃分成很多小目標。當自己達成小目標的時候就要不斷的獎勵自己,這樣自己才會不斷的有動力

3.2 追蹤你的目標

目標並不是一成不變的,而是需要不斷調整的。我們需要定期核對自己的目標以便對目標進行及時的調整。

4. 人脈

大多數的序員都有一個毛病——只想安靜的寫程式碼,別的事都不管。這是不對的,即使是程式設計師我們大多數時候都是與人溝通的。我們寫的程式碼也是給人看的。所以我們非常有必要提高自己的人際交往能力。

4.1 如何與人打交道


與人交往的時候我們都是以自己為核心的,所以與人交往的時候要牢記這一點,多從別人的角度考慮問題,不要輕易否決同事的想法,避免爭吵,也永遠不要批評別人。無論對同事還是對下屬,獎勵別人要比懲罰別人有效的多。

4.2 避免爭吵

程式設計師都喜歡從邏輯角度思考問題,但是這種方式並不是誰都能介紹的。比如你跟你女朋友叫道理,害怕她聽不明白,聲音大了點。然後所有的爭吵都變成了“你竟然敢吼我”。相信很多男生都感同身受。所以與人爭論的時候就要思考,你們的分歧點是不是值得去維護,如果不值得維護就算了,退一步海闊天空。
當然林子大了什麼鳥都有,有些人是真的相處不來的,對於這些人。我們也不要批評人家,也不要建議人家,這樣只會給自己惹更大的麻煩。儘量遠離他,不接觸他就可以了。(這是書中的觀點,我表示強烈的贊同)

5. 面試

當很多技術人員都在面試同一家崗位的時候,技術不是決定勝負的最大因素,而是其他方面的能力,比如你的影響力、人脈等。大多數面試其實都是在面試之前完成的。


5.1 如何獲得一份工作


  1. 找到你期待加入的公司
  2. 與該公司的人建立親密的聯絡
  3. 獲得個人推薦
  4. 面試

5.2 當下我們該做什麼

  1. 提升自己的技術能力,確保自己的技術要在同等競爭的人群中處於中等偏上的水平。
  2. 建立自己的影響力,比如部落格論壇開源庫等,讓自己儘量成為某一方面的大V。
  3. 拓展自己的人脈,與本領域的不同公司的員工去的聯絡,擴大自己的社交圈子
  4. 積累面試經驗,即使不是為了找工作,有時候也要去面試下。

個人評價:這一點對中國的程式設計師可能會偏難,或者不適合中國國情吧。中國程式設計師性格還是偏內向的,不擅長與人溝通,不願意浪費時間在社交圈子上。可能也跟中國程式設計師工作壓力大有關係吧。尤雨溪曾經在知乎上說過,中國的程式設計師去參加開發者大會,到了就是聽,聽完就走。幾乎不跟其他與會人員交流。而開會最大的目的其實就是認識同行業的人,而不是會上講的那一點點技術。

6. 就業

6.1 僱員

對於程式設計師來說,當僱員是最常見也是預設的選擇(其實對所有的人都是這樣)。好處就是輕鬆,職責是有限,道路是清晰的。用SHE的歌名形容就是一眼萬年,未來什麼時候處於什麼狀態基本上可以預估出來。好處就是穩定,壞處就是收入是確定的,就是不太好發財。

6.2 獨立諮詢師

在工作到時候沒聽說過這種職業,可能是我孤陋寡聞。這個職業對應的就是自由職業。好處就不需要彙報,工作時間比較自由,想做啥就是啥。壞處就是收入不穩定。做的好可能去會所有嫩模,做不好就可能天橋要飯了。自由職業賺錢非常有潛力,但是很看重個人能力,技術是根本,其他能力也非常重要。

6.3 創業

創業是最難、最不確定但是卻最具有彙報潛力的選擇。具有完全的自由和完全不封的的賺錢能力。壞處就是完全沒有收入保障、壓力山大,一個人創業還好,一群人創業還要為一群人吃飯問題考慮。對能力的要求是槓槓滴,需要很多其他方面的技能,也需要長時間工作

7. 成為專業

很多開發人員很害怕專供某一個領域,擔心自己視野很窄以後不好找工作。專業化會讓把你關在一些大門的外邊,但是會讓你開啟大門的機會大的多。就是門少了,但是開啟的機會大了。

7.1 選擇專業

專業領域有很多,比如如下:
  • web開發
  • 嵌入式系統
  • ios或者android等某個作業系統
  • 移動開發
  • 框架開發
  • 軟體系統

如何選擇專業呢,很多人都不知道,你如果不知道的話,可以從以下幾個角度考慮
  • 找工作中的痛點,成為一個專門解決痛點的專家
  • 尋找那些沒有人做的或者缺少專業人才的領域
  • 尋找各種會議上或者客戶口中那些話題最常出現
  • 在自己的工作中或者網站上最經常遇到的困難是啥


8. 公司與公司是不同的

  • 小公司:小公司關注成長和盈利,軟體開發人員可能要身兼多職,適合那種活力四射、精力充沛喜歡迎接挑戰的人。
  • 中等公司:中等公司是所有公司裡最穩定的,工作節奏慢。適合那些節奏慢、工作穩健的人
  • 大公司:有完備的流程和規範,培訓機會多,穩定。確定是官僚主義嚴重,工作沒有成就感

運營型公司和技術性公司的區別:
  • 運營型公司:開發人員不受重視(經常背鍋),技術革新慢。
  • 技術性公司:更重視前沿的技術和工具。

個人點評:在中國,大多數公司都是坑,跳槽我們只是從一個坑跳到了另一個坑。只是坑的好壞不一樣而已。

9. 晉升

9.1 承擔責任

在任何公司能脫穎而出的最大的法寶就是承擔更多的責任。當錢和責任面臨衝突的時候,從長遠角度看,承擔責任往往彙報更大。
個人思考:很多時候我們都會面臨這樣一個問題,就是加班,又或者是公司給我們的薪水不高但是工作卻多的做不了。作者建議我們要用於承擔更多的責任。我覺得作者的想法有點太理想了,承擔更多的責任從長遠角度看確實更好,但是也僅僅是長遠角度,如果你想在公司待個3/5年或者終身,那就值得投資。我周圍很多人,通常都是1-2年跳一次槽,因為跳槽工資翻倍的很多,不翻倍也能漲好幾千,而在原公司給你漲幾百就覺得很對的起你了。使用起員工來也完全的當廉價勞動力,恨不得讓一個人幹4個人的活。這種情況下,主動承擔責任多搬磚,我覺得不是一個明智之舉,會浪費很多自己寶貝的學習時間。 再補充一下,承擔責任是多做事是不一樣的,多做事情其實有時候是個很傻逼的事情,比如我做頁面的時候,有些素材設計沒給又不想做,產品就說讓我自己隨便網下找找。接下來的劇情你應該猜到了,就是我找的圖片被吐槽很多,領導罵下來,還得背鍋。所以一定要理清楚承擔責任和多做事不是同一個概念。
如何讓自己承擔更多的責任
  • 負責一個不受重視的專案(個人覺得這個建議不全面,正確的理解應該是如果自己還是個小羅羅,那就爭取當個負責人,哪怕這個專案不被重視。)
  • 幫助團隊裡新人快速成長
  • 負責公司的文件製作流程。並能保證及時更新文件
  • 主動去做那些沒有願意做的工作,並優化。

9.2 引人注目

很多人在公司很多年都默默無聞,作者不建議你做個默默無聞的人,而是要做個引人注目的人。(這樣確實是有很多好處,升職加薪有個小零食,領導都會想到你)
如何令自己引人注目
  • 每天都記錄自己的活動日誌,並且傳送給經理
  • 多提供對團隊有理的演講和培訓
  • 積極發表意見
  • 定期與領導見面,保證“曝光度”

個人評價:積極發表意見,會引人注目,但是也經常會得罪人。還會被評為“事多”分子,中國人都是很講臉面的。而且你提的意見幾乎是沒什麼卵用的。所以提意見的時候可以私下底或者用更委婉的說法吧

9.3 自學

獲得提升的另一個很有效的方法就是學習,可以參加培訓。當你不知道自己要做什麼的時候,可以去靠一個證書。而且你也不能只學軟體開發,你要把目標設定為更高級別的崗位。所以你還要學習領導力管理和商業等相關知識。 學習到知識了要樂於分享,這樣有助於你建立在該領域的權威,讓你看起來對公司更有價值。(也可以讓自己學到的東西,更深刻的被掌握)

9.4 成為問題的解決者

在工作中我們總會遇到各種困難,有有很多人對你說不行。你要成為那個永遠能為各種問題提供解決方案的人。這樣自己才能更容易獲得晉升。
個人評價:這些有點理想主義,有很多問題其實是解決不了的,你需要孤軍奮戰很久,有時候是 技術問題,大部分時候是人員問題。

9.5 關於政治

每個公司都有自己的政治,我們應該對組織的政治氣氛保持警惕,需要知道那些人需要避開,永遠不要有交集

10. 成為專業人士

10.1 什麼是專業人士?

專業人士會嚴肅的對待自己的責任和事業,願意做出艱難的選擇去做自己認為正確的事情——往往還要付出很大的代價。專業人士不可能事事精通,但是一定要潛心鑽研。 專業人士和外行的區別
專業人士 外行
遵守自己的規則 讓幹什麼幹什麼
專注於正確完成工作 專注於完成工作
不懼怕承認自己錯了,不會文過飾非 不懂裝懂
持續穩定 無法預測,不可靠
勇於承擔責任 迴避責任

個人點評:看到作者這麼說,我真的很羨慕外國的工作氛圍。這些都太理想了。按照作者的標準去做的話,當你成為一個專業人士的時候,大概還會獲得另一個稱號——低情商。想成為一個專業人士,也要圓滑一點,要學會察言觀色。否則你的日子會很不好受,你想要做的東西也大體只會停留在紙面上不會落實到實際中。有很多時候,有些事情我們明知道是錯的,也不得不去做。當然我們不排除,有些領導是很英明的,但是很少。
成為一個專業人士我們人士,我們必須要養成良好的習慣,其中最重要的就是時間管理。作者推薦《習慣的力量》這本書。
成為專業人士也要堅守正道,要勇於對領導說不,即使我們會被炒魷魚。
成為專業人士要不斷的設定高品質的標準,要不斷的追求卓越。遇到困難要不斷的完善自我,迎接挑戰,而不是降低標準。


11. 如何辭職

辭職是一件很的簡單的是事情,走進老闆辦公室遞交辭職報告就可以了。但是這不是推薦的方式。 辭職首先你必須要有銀行積蓄,因為你辭職之後就得完全依靠自己。 辭職也要有一個切實可行的計劃。並確保它能夠成功,即使薪水大幅減少,也能完成轉型。

11.1 副業

作者強烈推薦在業餘時間啟動自己想建立的業務,並且要在業務足夠強大到能夠足以維持生計的時候,再轉為全職。這種離職的過程會漫長而辛苦,但是卻有很多好處。 在辭職之前,你永遠不知道為自己工作要付出多大的工作量。但是以副業的方式開始創業的時候,你就大概能估算出每天的工作量了。

11.2 工作時間

作者坦誠相告,在其工作過的公司裡,他都是名出色的員工,但是他每天努力工作的時間不會超過4個小時。每天8小時,搞搞社交活動1個小時,檢查回覆電子郵件、開會2個小時、聊天上網1個小時。
為自己工作和為別人工作是不一樣的,為自己工作需要更加努力,你要充分適應這種工作負擔。
個人評價:其實作者對自己要求太嚴格了,人不能真的一天8小時全部都是用來敲程式碼的。你想這樣做你的大腦也不允許。回覆團建、郵件、開會、聊需求都是工作的一部分,不能覺得不敲程式碼了就不算有效的工作。而且這些非直觀的時間投入,會為以後節省很多時間,贏取更多的機會。聊天上網倒是不太好,但我覺得情有可原,人也需要放鬆下,也需要社交。

12. 獲取客戶

獲取客戶最佳方式是通過你認識的人,熟悉你的人更容易信任你。你在離職創業之前要確保你為副業分配的時間已經飽和,無法再接受其他工作。因為你連副業的時間都填不滿的話,等你離職裡把它當正職了,你大概率還是填不滿。
獲得客戶的最佳途徑是吸引式營銷,通過部落格、寫書、做節目或者其他途徑打造自己的品牌,把你的客戶吸引過來,讓他們主動找你(其實說白了,就是要出名)。唯一的問題就是這個時間會比較長。

12.1 收費


大多數自由職業者多大低估他們向客戶收費的金額以及他們需要向可以向客戶收費的金額。 自由職業者不要自己付電費、電腦裝置、網路費等等費用還不能保證每天都有工作。所以收費一定要高,至少是全職員工時的2倍。
個人評價:自由職業我不知道,但是應聘的時候我知道,即使對方公司知道你有很強的實力,他們還是會拼命壓你的工資,甚至壓到很不合理的地步。這對於沒自信的人來說非常不公平。入職之後,你可能會發現,很多比你水平渣的人竟然工資都比你高。所以應聘的時候請大膽要工資。最少最少要漲20%,50%或者翻倍都是可以的。
如何讓客戶接受你的定價?
你要讓客戶知道,基於你的服務他可以節省大筆的開支或者大幅度提高自己的業務。

13. 建立產品

要想找到受眾,再開發產品,而不是先開發產品再找受眾。因為產品沒有受眾的話,你的產品很可能就是自娛自樂東西,並不能給你帶來任何收益。 你可以通過部落格、演講、視訊等媒體來發展自己的受眾,也可以使用眾籌的方式,先測試下市場。如果有很多人支援就開發產品,如果感興趣的人很少就可以放棄這個產品,並向支援你的人表示感謝和道歉。

14. 創業的信念

創業除了有一個好點子,更重要的是要有堅持到底的激情和幹勁。 創業公司分兩類:1.期望獲取外部投資的公司 2.自力更生的公司
建立一家公司,你必須對這個公司已經有了想法,通常這個公司必須有獨一無二的智慧財產權,使得更大規模的競爭對手不能複製你正在做的。很好的創業候選是能夠申請專利或者受保護的新技術和方法。
想要在創業的時候獲取額外的幫助,可以申請加入創業加速器。就是創業孵化器。

14.1 獲取投資

投資一般分以下幾個階段
  • 種子基金:由天使投資人投資(不要被天使兩個字迷惑,他們投資也是為了賺錢,天使一般是個人,而不是一個公司或團隊)
  • A輪投資:當燒光了種子基金,專案還可以執行,就可以迎來A輪投資。對方會通過向公司注入大筆資金以換取大量股份。A輪後,風投持有的股份可能比你還多。
  • N輪投資:A輪投資後通常還有好幾輪投資,直到最後實現盈利或者被收購。

15. 遠端工作


15.1 時間管理

在家辦公我們經常會被各種事物所打擾,事情似乎總是無窮無盡,我們也面臨各種誘惑。因為我們一定要做好時間管理。時間管理越規律、越是得當越好。

15.2 自我激勵

在辦公室工作的時候,當我們不好好工作的話就會面臨被炒魷魚的威脅。而在家我們就缺少了這樣一種監督,所以我們要肩負自我激勵和自律的責任。推薦《驅動力》這本書。 當倦怠的時候,日程表和常規是非常重要的的。還有儘可能排除干擾和誘惑。 當你沒有動力的時候,可以給自己設定一個小的時間,比如15分內比如認真工作。通常15分鐘後你就會投入工作中了,就沒那麼難了。

15.3 孤獨感

人是社會的動物,在家辦公可能剛開始你會比較興奮,當時過一段時間你就會孤獨的難受,會非常渴望與人接觸。治療方法就是走出去,確保每週都能認識新的人,也可以通過一些工具多跟其他人溝通交流。
個人評價:在家幹過活的人應該都深有體會,家裡確實不是一個幹活的地方,可能在家幹活一天都不能解決一個小問題。在家辦公效率低的嚇人。我個人做法是走出去,去麥當勞、書店,當然能去公司最好了。

16. 假裝自己能成功

程式設計師在職業生涯肯定會遇到各種自己無法處理的情況,對於這種情況我們不能知難而退,而要勇於挑戰,要假裝自己能成功。要調動自己的精神力量。 假裝自己能成功的含義
  • 你彷彿已經具備了完成某個任務的技能和天分
  • 你彷彿已經成為了那個你想成為的人
  • 彷彿戰鬥已經結束,而你大獲全勝,因為你深知,堅持就是勝利。
  • 你彷彿對技能踏上的道路駕輕就熟

內心的力量是非常強大的,相信自己能成功,就能促使自己美夢成真。 面對窘境和障礙,感到恐懼、尷尬、進而找藉口是自然反應。但是如果你能克服這種傾向,那你在面臨所有困難的時候都會覺得不過如此,你就學會了假裝成功。

17. 簡歷

簡歷就是推銷自己的宣傳冊,所以一定要重視,好的簡歷可以讓你身價翻倍。 如何做一個好的簡歷呢? 因為我們不是每天都做簡歷,所以沒有必要學習製作簡歷的技巧。我們可以找一個專門製作簡歷的人幫忙製作簡歷。

18.請勿陷入對技術的狂熱中

請不要陷入對某一項技術的狂熱崇拜中,每一項技術都是有其合理性的。我們沒必要選擇一個而貶低其他的。
個人總評價:第1到18是職業篇,講述了職業的方方面面。個人閱讀完感覺大概有以下幾個重點:1.梳理自己的品牌 2.做好職業規劃 3.提升自己除專業以外的其他技能