《軟技能:代碼之外的生存指南》筆記——職業篇(上)

前言

知道這本書,正是我完成畢設,又不能去實習這種尷尬的時候(直到發佈這篇文章的時候,我還沒去實習),想着怎麼計劃未來一兩年的學習方向和大致的發展方向(筆者還是很想讀研,只是因爲家裏的環境不適合)。遇到這本書,感覺像是一位經歷了很多的大哥,用他自己的經歷,告訴我未來可以怎麼生存,而不僅僅是單純地學習技術。
因爲筆者還沒有畢業,可能視角比較狹窄,有興趣的朋友可以去找找這本書,希望各位有所收穫。
(因爲這本書也比較厚,裏面幾乎全是乾貨,所以需要分章節來展示)

職業篇(上)

主動管理職業生涯,想清楚:要做什麼——什麼時候做——以及如何義無反顧。

  1. 把自己當成一個企業去思考,將各位僱主當做是“軟件開發企業”的客戶。當然,你可能只有一個客戶,所有的收入都從這一個客戶來。所以,當我們想要發展第二副業的時候,就是拉攏客戶的時候了。

  2. 當我們把自己當成一個企業時,可以想:作爲一個企業,我的產品是什麼?怎樣迭代產品才能使我的產品更好?要怎麼做營銷把產品賣出去?所以需要做到:

    • 專注於提供什麼服務,以及如何營銷這項服務;
    • 想方設法提升服務;
    • 思考可以專注於爲哪一特定類型的客戶或行業提供特定服務;
    • 集中精力成爲一位專家,專門爲某一特定類型的客戶提供專業的整體服務。
  3. 如何設定一個目標並執行呢?首先,得有一個大目標;其次,得設計路線。將路線設計好之後,接下來就是怎麼達到一個個較小的目標了。

  4. 定期追蹤並更新自己設定的目標,必要時還需要調整,即使覆盤,可以按周、月、季和年設定目標。

  5. 軟件開發人員寫出來的代碼,其實首先是給人看的,其次纔是給計算機讀的。改善人際交往能力真的很重要,我們的工作其實幾乎就是跟別人打交道。

  6. 每個人都希望感到自己很重要,所以最好先主動給尊重他人的禮遇。如果不能保全他人的自尊,那麼就永遠不可能贏得別人的尊重。

  7. 永遠不要批評別人,特別是想激勵團隊鼓舞士氣的時候,用表揚代替批評是最好的。

  8. 試着思考對他人而言什麼纔是最重要,什麼纔是他們需要的。嘗試從對方的心態出發提出建議,闡明爲什麼採用你建議的方法會更加有效果。

  9. 如果因爲“該怎麼做某事”時與他人發生分歧,在很多情況下,需要確定分歧點是否值得去拼命維護(衡量維護的代價),特別是在知道他人也已經入坑的時候。在小事情上,任何放棄立場或承認錯誤的機會對你而言可能沒什麼大不了的,但對別人卻可能是舉足輕重。

  10. 如果要去一家公司面試,在技術水平都差不多的開發人員在競爭一個崗位的時候,決定勝負的最大因素就不是技術能力,而是讓面試官有好感。

  11. 爲什麼內推是一個找工作重要的方式呢?因爲如果被他人推薦去面試,會有推薦人的社會公信力做背書,且推薦人的聲譽與面試官的交情,有一部分就延伸到了作爲應聘者的身上。想盡辦法與公司內部人員建立聯繫,而且必須要證明,在技術上確實可以勝任工作。同時,如果能說服面試官相信你非常能幹,不會被困難阻擋,那麼他們不僅會喜歡你,而且更有可能會錄用你。

  12. 無論是在找工作,還是給自己保留選擇的餘地,應該做的第一件事就是確保自己仍舊保持技術能力,確保自己一直閱讀技術書籍和博客文章,並會花些時間提升自己的技能。也可以未雨綢繆,擴展自己的社交網絡。也別忘了實踐,積極去獲得面試經驗。

  13. 軟件開發者對應的職業選擇有很多種,主要有這三大分類:

    • 僱員:收入穩定、從業相對輕鬆、帶薪假期、還有五險一金,但是缺少自由且收入固定。
    • 獨立諮詢師:不再爲特定的單一僱主工作,而是服務於一個或多個客戶,如外包賺外快的程序員。做獨立諮詢師有更多的自由時間,而且可以持續不斷地做新項目,賺錢潛力也很大,但是需要自己去尋找業務,搭理一切事務的開銷,爲多個老闆服務。
    • 創業者:軟件開發創業者用自己的軟件技能開發自己的產品、拓寬自己的業務,如up主、公衆號作者等等。好處是完全自由、有巨大的賺錢潛力、自己是老闆、可以做自己想做的事情,但是風險很大,而且完全需要自己的摸索,不僅可能需要長時間的工作,而且還要身兼多職。
  14. 選清楚自己的專業方向,如果只是說“我是Java工程師”,那只是告訴別人你是用哪種工具來進行開發。所以需要整理清楚自己的專業類別,如前端開發的設計和實現用戶頁面,後端的實現業務規則和邏輯,還是做底層的數據庫或底層操作開發。一些開發人員的專業化水平很深,已經成爲了某個具體平臺或框架的專家。這些開發人員的潛在客戶稀少,但由於他們的專業化水平,他們能開出很高的時薪。一般專業領域方向有:

    • Web開發棧
    • 嵌入式系統
    • 特定的操作系統
    • 移動開發
    • 框架
    • 軟件系統
  15. 怎麼選擇專業呢?這裏提供了些技巧:

    • 在現在或以前的公司有什麼技術痛點嗎?你能成爲專門解決這些痛點的專家嗎?
    • 有沒有一種特定的工作是無人能做,或缺乏經驗豐富的人?
    • 在各種會議上和用戶組中哪些話題最常出現?
    • 哪類問題你回覆的最多?

    當然,如果你學富五車,精通多種語言,那麼也可以從專業化開始,再拓展分支。

  16. 公司與公司之間也是不同的。

    • 在小公司和創業公司中,個人需要承擔多種職責,需要靈活地進行角色轉換,個人對於工作的影響比較大,而且回報潛力大。但是也因爲個人承擔的職責多,會有沒辦法安靜地坐下來寫代碼的缺點,而且工作的影響大,也就意味着其他人會關注到你的工作,穩定性差。
    • 在中等規模的公司,工作穩定且加班少,但是也因爲變化很慢,沒有什麼機會使用前沿技術。
    • 大公司中有完備的流程和規範,而且培訓機會也多,有足夠的資金去做一些較前沿的項目,有機會參與大型且有影響力的項目。但是人多的地方就是江湖,所以也會充斥着官僚主義作風,而且人多的項目,個人也這只是負責代碼庫的一小部分,很難獲得關注。
  17. 作爲軟件開發人員,能去軟件開發公司就去,因爲以軟件開發爲生的公司會更重視自己僱用的軟件開發人員的價值。不過,每家公司都不一樣,究竟哪個工作環境適合自己,哪種企業文化適合自己,還需要自己來定奪。

  18. 如何在公司裏脫穎而出?有三個方面:

    • 承擔更多的責任
      • 負責不受重視的項目;
      • 幫助團隊裏的新人快速成長;
      • 負責文檔製作流程,並保證及時更新這些文檔;
      • 願意承擔沒有人願意去做的工作,並將其簡化或自動化。
    • 引人注目
      • 每天都記錄自己的活動日誌——把這個日誌以週報的形式發送你的上級;
      • 提供演講或培訓——選擇一個對你的團隊有用的話題;
      • 發表意見——只要在會議上就這麼做,或者只要你能得到的機會就這麼做;
      • 保證“曝光度”——定期與老闆會面,確保你經常被注意到。
    • 自學
      • 不斷增加自己的技能和知識,學習新的技能和知識;
      • 知識提升得越快,能掌握的東西就越多,隨之而來的機會也越多;
      • 不要只是學軟件開發,如果把目標設定爲更高級別的崗位甚至是行政崗位,還需要學習領導力、管理和商科的相關知識。
      • 千萬不要忘記分享自己學到的東西,外部曝光有助於你建立自己在該領域的權威地位,也讓你看你來對所供職的公司更有價值。
    • 成爲問題的解決者
      • 成爲永遠能爲各種問題找到解決方案的人,要成爲勇於執行這些解決方法以獲得成果的人;
      • 能解決別人無法解決或不願解決的問題,無論在哪家公司,都能輕而易舉地成爲最有價值的人。
    • 關於政治
      • 在多數機構中都有辦公室政治,需保持警惕,但不應在玩弄政治遊戲上投入太多時間;
      • 儘管無法完全避開政治,但至少應該知道會發生什麼,哪種人需要避開,哪種人永遠不要有交集。
  19. 努力地成爲一名專業人士。專業人士會嚴肅對待自己的責任和事業,願意做出艱難的選擇去做自己認爲是正確的事情——往往還要自己承擔代價。專業人士會遵守自己的原則,專注於正確完成工作,不懼怕承認自己錯了,不會文過飾非,勇於承擔責任,並且專業人士爲自己的工作設置了很高的質量標準,你可以期待他每一天都持之以恆堅守標準。

  20. 成爲一位專業人士,養成良好的習慣是必不可少的。如果想成爲一位專業人士,需要培養自己的專業習慣,如每天在開技術會議之前,準備好自己的發言。還需要有時間管理的習慣,如知道每天必須要做什麼工作,並且能估算出每項工作大約要花多長時間。

  21. 作爲一名軟件開發人員,我們經常需要面對技術和道德上的困難和挑戰,但是作爲一名專業人士,需要有不可逾越的底線,堅守底線可能會被炒魷魚,但最起碼,能睡個好覺。專業人士必須對工作的優先級做出艱難的抉擇,需要評估需要完成的工作,判定優先級後再開始工作。如果真的碰到這種情況了,可以去做被要求做的,但千萬不要再讓自己陷入這種境地。如果身受這樣的情況,請儘快脫身。存點錢,甚至去找下一份新工作,一份不會要求你做很多道德上的抉擇的工作,或一份你覺得更有價值的工作。

  22. 作爲一位專業人士,必須不斷改善和提供自己的工作品質,或許不能一直達到自己的預期,但隨着時間的推移,持之以恆地堅持下去,終究會達到自己設定的標準。想成爲專業人士,就要致力於持續不斷地完善自身的技能,學習更多與專業相關的匠藝,確保自己制定並執行了學習計劃,拓展自己的技能、學習新東西,這將有助於你做得更好。最好了解自身的強項是什麼並且充分發揮自己的優勢,專業人士對自己的能力和弱點有着良好、精準而又客觀的自我評價。不要沾沾自喜,永遠對努力成爲更好的自己心存渴望。

  23. 想要成爲一位自由職業者,跟老闆說一聲要辭職就行了。但是在考慮辭掉工作之前,需要對你成爲自由從業者有一個切實可行的計劃。你必須想方設法積攢足夠多的收入來支撐自己,直到新生活步入正軌。所以,在辭職之前,先在業餘時間啓動你想創建的業務,等能從這項業務中產生足以維持生計的收入時,再轉爲全職,是相對妥當的。

  24. 爲自己當老闆看起來是一件很爽的事情,但是爲自己工作的麻煩在於,沒到正式辭職的那一刻,你永遠不知道爲自己工作是多大的工作量。所以,以副業的方式開始創業之旅,小有成就再全職投入,這樣能夠讓自己知道爲自己工作以後每天需要工作多長時間,對自己實際承擔的工作量有一個符合實際的預期。通過在業餘時間創業,同時保有全職工作,就會知道每天工作很長時間是什麼感覺,這樣即使創業失敗,仍然還可以依靠工作以獲取收入。

  25. 當然,在開始做兼職項目之前,要仔細檢查當年入職的時候同意了哪些條款。如果勞動合同中規定任何工作成果都屬於公司,那需要跟法律人士協商一下,看看如何妥善解決這種情況。如果真的有這種情況,可能事情會變得棘手,最好提前做好準備。可以列出自己做過的事情,詳細記錄自己進行兼職項目時所用的時間和資源。

  26. 成爲自由從業者,不怕自己技術不夠硬,就怕沒客戶。那麼該怎麼開始呢?獲得客戶的最佳方式是通過你已經認識的人,認識的人更加信任你,需要讓他們明確知曉你到底能爲他們做什麼,你能解決什麼問題。而在做副業時候,需要達到爲這份副業分配的時間已經飽和,無法再接受其他工作,不得不回絕掉一些人,如果做不到這一點,最好別想着全職了,填滿每週40小時的工作量遠比填滿10~20小時艱難。

  27. 如果認識的人不需要你的服務,那麼還有另一種營銷方式,它唯一的缺點就是:需要耐心和勤勉的工作。它就是吸引式營銷,這種營銷方式基本上是讓潛在的客戶主動送上門,而不是你去找他們。你要做的事情就是免費提供有價值的東西。吸引式營銷唯一的問題就是起效時間略長,個人必須有足夠豐富的內容來吸引足夠多的潛在客戶來充實自己的工作渠道。這也是現在就開始着手暫時別辭職的好理由。長遠來看,吸引式營銷能給你帶來更多的業務,也能讓你更容易提高自己的時薪。

  28. 在做僱員的時候,有部分成本由企業承擔,但作爲自由從業者,所有的成本都需要由自己承擔,所以如果想要維持作爲僱員時的生活水平,你的時薪水平應該是作爲全職僱員時的兩倍。還需要知道自己按照什麼價碼收費才能謀生,需要根據市場來判斷定價,或者更高一點。這麼做的重點不在收費標準本身,而是你的工作對你的客戶而言是否物有所值。當然,如果你的營銷策略是基於自己的服務可以爲客戶節省大筆開支或提高他們的業務,你就可以根據自己的服務爲客戶帶來的價值來定價。

  29. 如何創建自己的第一個產品?人類創造出的每個產品都是爲了解決某個特定的問題。沒有要解決的問題的產品毫無意義,毫無意義的產品也就不會有用戶,也就意味着不會賺到錢。所以。無論一個產品要解決何種問題,以及哪些人羣有這個問題,必須在創建產品之前就要明確識別。如果想開發出一款產品,第一步應該是篩選出一組特定的受衆,他們也是你的解決方案的目標用戶。如果你想讓自己的產品也能同樣成功,首先打造一個成功的博客,使用博客、演講、視頻和其他媒體來發展自己的受衆。接下來,一旦有了受衆,你就能夠向這些受衆銷售你的產品。

  30. 當你明確了產品的受衆,並且明確瞭如何使用它解決用戶的問題,在開發產品之前還需要通過測試市場來驗證,你的潛在用戶是否真的願意爲你的產品買單。有一種做法(拉勾網課也有這麼用),就是將要創建的產品先廣而告之,看看有多少人會來買,然後再決定要不要繼續做下去。

  31. 當然,創業初期不要貿然辭職,要從小處着手,作爲副業開發你的第一個產品。如果想要了解更多,可以看看Eric Ries的《精益創業》(The Lean Startup),從中獲取一些關於如何創建小企業,以及如何起步的想法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章