時間靈活、沒有規章制度的條條框框、也能夠根據本身的興趣愛好選擇、或許更重要的理由是所得到的薪酬會比全職工做者多得多,因而不少從業者紛紛選擇了自由職業,程序員也並不例外。程序員
但想要成爲一名合格的自由職業者並不是一件易事,且在科技圈中對專業性的要求會相對更高,然:編程
什麼樣的程序員適合作自由職業者?微信
走向自由職業須要提早作好哪些準備?架構
成爲自由職業者開發之路有什麼的難點?併發
具體哪些開發技能更能有好的前景?框架
對此,CSDN 博客專家安曉輝根據自身多年的自由職業經驗,爲你們一一揭祕那些成功背後的辛酸史,也但願能爲走向自由職業的開發者提供必定的參考價值。機器學習
爲什麼會成爲一名自由職業者?分佈式
做爲一名三十而立的開發者,你會組建家庭、買房還貸,上有老人贍養、下有孩子待哺,你須要愈來愈多的錢,才能湊湊合合地安排好本身的生活。高併發
然而在公司工做到必定階段後,總會遇到一些問題:工具
即便你的技術水平愈來愈高,對公司的貢獻也愈來愈大,客戶卻始終是公司的。而公司爲了控制人力成本,必然會設定一套嚴密的薪酬體系,把每一個員工的價值框在預算以內。
這時候,固定的薪水,朝九晚五的節奏,很快成了羈絆。因而,你開始嚮往「想幹什麼幹什麼,想怎麼賺錢怎麼賺錢」的生活,自由職業成了你頗爲嚮往的選擇。
那麼,問題來了:做爲一名開發者,該如何走向自由職業呢?
走向自由職業的 4 種常見方式
技術出色的開發者,一般具備下列能力:
軟件開發:即針對特定領域問題,運用思惟、分析、設計、想象力等尋找答案,經過語言、技術框架、工具等編寫軟件來實現答案的能力。
講授:即把本身明白的技術、軟件、解決方案等展現給別人並讓別人也明白的能力。
諮詢:即經過你所儲備的知識、技能、經驗、框架等幫助別人解決問題的能力。
寫做:熱愛分享的開發者還會擁有這一項核心競爭力。
軟件開發、講授、諮詢、寫做這四種能力,構成了開發者走向自由職業的 4 種常見方式。
軟件開發
不少開發者都據說過「私活」,也接過私活。所謂私活,就是我的經過某種途徑承接的軟件項目,相對於公司的「公」而言,這種形式被稱爲「私」,如今這種方式還有不少說法,好比外包、衆包、任務等。
這是咱們開發者走向自由職業的最多見方式。
我我的幫助別人修改過開源代碼,用 Qt 開發過 PC 端軟件,對這種方式有一些體會。除了軟件開發,你還須要下列能力:客戶開發、商務談判、項目管理。
這種方式很直接,不斷開發客戶,承接項目,賺取報酬。其好處是:你得到的報酬是按項目金額來的,而不是按月薪。套用某二手車買賣平臺的廣告語,沒有中間商賺差價。
想一想看,你在公司,一個項目是 100 萬,你一我的一個月搞定了,也仍是拿三幾萬的薪水;而若是你本身接到這個項目,一個月完成,那你這個月就賺到 100 萬(暫不考慮增值稅、我的所得稅等隱性成本),天差地別對吧。因此,獨立開發軟件項目是誘惑力很強的方式!
這種方式也有一些比較困擾人的問題:你並不老是能接到項目。需求可能不斷變化,你須要直接面對這點,還要管理這種情況:項目款不必定能及時到帳,尾款也不見得能收回來。
還有,若是你想獨自承接稍大一點的項目,你還須要註冊一個公司來承接項目(稍大點兒的項目都是公對公),擁有一家公司,也會產生一些成本,好比代帳、房產稅、企業所得稅等。
不過如今的衆包方式,會好一些,像解放號、雲沃客、碼市、程序員客棧等平臺,都有使用這種方式協做的項目,你只要作你擅長的事情——軟件開發——就行了,別的事情由別人或平臺來完成(你須要支付平臺一些提現費用,通常10%左右)。
講授
若是你具備良好的講授能力,就能把本身在某個技術棧上深厚的積累換一個形式變現:講課。
沒錯,你能夠把本身學精學透的技術講給別人聽,把別人教明白。這是很是有價值的事情!
不少人在初學某種技術時都須要好的老師好的教程幫助他們跨過從不知道到知道、從知道到作到的距離。
IT 技能類的課程,能幫助別人掌握一技之長,幫助別人賺到錢,需求一直很旺盛。這些年線上的平臺發展很快,不少學員也願意低成本在線學習,好比 CSDN 學院等教育平臺。
我我的錄製過 Qt 和 Node.js 方面的課程,放在 CSDN 學院出售,有些 3 年前的課程,如今還有人購買。
若是你能夠運用講授能力,把本身的技術積累轉化爲在線課程,就能夠利用在線教育這種方式實現自由職業。
這種方式有幾項好處:
啓動成本低;
受衆面廣;
一份時間賣屢次,想象空間大。
寫做
2013 年下半年,我恢復了 CSDN 技術博客的更新,專一分享 Qt 技術,很快成了 Qt 領域的知名博客,被很多人關注。後來一些文章被編輯看到,聯繫我出版 Qt 方面的圖書,因而我經過 《Qt on Android核心編程》和《Qt Quick核心編程》等圖書創建了影響力和品牌,反過來博客也所以擁有了更多的訪問。
2015 年我開通了微信公衆號,一週更新三篇文章,同年出版了《你好哇,程序員》一書。
2017 年 7 月份,憑藉寫做帶來的自信,我離開公司,開始自由職業,經過寫做、講課等方式獲取收入。
個人朋友楊開振,由於所著圖書《深刻淺出MyBatis技術原理與實戰》銷量很好,於 2017 年 4 月份離開組織,經過寫做實現了自由職業。
寫做是程序員自由飛翔的翅膀,它能幫你積累影響力,創建我的品牌,而且,也可以直接變現。對於開發者來說,寫做是通往自由之路最強有力的武器。
寫做這條路具備無與倫比的好處:
啓動成本低;
我的能夠獨立完成;
能夠直接創建影響力和我的品牌;
一份時間賣無數次,有想象力。
它最大的困難在於:
如何寫好;
如何捕捉到更爲普遍且強烈的需求;
如何持續寫下去。
諮詢
若是你看過《個人前半生》這部電視劇,必定對賀涵印象深入,他作的就是諮詢工做:用本身的知識、經驗、技能、思惟、框架等幫別人解決問題。
在 IT 領域,若是你有完善的技能樹和豐富的經驗,可以站在較高的層面上作全局性思考,善於尋本溯源條分縷析解決問題,也能夠從事諮詢顧問之類的工做,不受僱於特定的組織,直接爲客戶服務。
著名網站酷殼的建立者左耳朵耗子陳皓,擅長底層技術架構,對高性能、高可用性、分佈式、高併發、以及大規模數據處理系統有豐富的經驗和心得,他有段時間由於我的緣由不能在公司上班,就經過爲其餘公司提供技術諮詢來獲取收入,而且,收入還蠻高。
我有段時間就但願經過爲一些公司提供技術諮詢來賺錢,但沒有成功。我還記得有家公司的老闆對我說的話:你加入咱們公司,帶着團隊把項目作起來,而後就能夠成爲咱們的諮詢顧問。
看見了吧,這就是獨立諮詢的難處:當你不夠牛 X 時,沒有人願意爲你不知所謂沒法確認效果的諮詢付費,開發客戶很難很難。ThoughtWorks 的不少諮詢顧問雖然有公司爲其背書,也仍是經常遭人詬病:你本身沒作過什麼項目,憑什麼給咱們提供建議?
雖然很難,但這確實是一條路,若是你有志於此,能夠看看享譽世界 IT 領域的諮詢顧問、美國計算機名人堂表明人物傑拉爾德·溫伯格寫的《諮詢的奧祕》,那是聖經式的著做。固然,除此以外,你還要在自由以前,就積累一些客戶資源,而且爲客戶留下你具有諮詢能力的深入印象,這樣他們纔可能成爲你自由後的衣食父母。
走向自由職業必作的 5 種準備
若是你確認了走向自由職業的方式,接下來就該作準備了。根據個人我的經驗,下面 5 種準備是必需要作的:
變現方式
市場測試
飽和度測試
預期管理
B和Z方案
變現方式
我所說的變現方式,包含兩種:賣時間和賣產品。
這裏的賣時間,指「一份時間賣一次」這種工做方式。你在企業內工做,就是在賣時間,朝九晚五,天天 8 小時,每月領薪水。以賣時間的方式實現自由職業,實質仍是用你的專業能力爲客戶提供時間層面上的專屬服務(你不可能在同一時刻爲不一樣的客戶服務),只是你再也不受僱於企業,再也不受規章制度約束,可以按照你本身的意願安排在什麼時間用什麼方式完成服務。外包、衆包、私活、諮詢等方式,都是賣時間。
賣產品則是指「一份時間賣屢次」這種工做方式,像咱們前面提到的寫做、在線課程等,均可以歸爲此類。它相比賣時間的方式,具備更大的想象空間,能夠得到規模化的收入。可能你寫出一本經典、暢銷的書,作出一個爆款的課程,就能夠得到幾十萬的收入。
在自由職業以前,你須要確認你最突出的能力,選定你首要的變現方式——由於你業餘時間有限,不可能同時作不少事情。
市場測試
在離開組織自由職業以前,你須要測試一下,你賴以實現自由職業的變現方式,能夠給你帶來多大規模的收入。
好比你作技術課程,必定要先在業餘時間開發幾門課程,放到 CSDN 學院之類的在線教育平臺上去賣賣看,統計一下收入狀況,看這些收入能不能維持你能夠接受的生活水平。
好比你寫書,也要出版一本,觀察半年,看看銷量,看看能拿到多少版稅。前面提到的楊開振,他是利用業餘時間寫出了《深刻淺出MyBatis技術原理與實戰》這本書,半年內賣了 2 萬冊,拿到了十幾萬的版稅,才決定自由職業的。
好比你作軟件外包或者私活,也要開發幾個客戶接幾個項目看看收入狀況;若是作衆包,則能夠到雲沃客、解放號、程序員客棧、碼市等地方去驗證半年左右,看本身的開發技能,能爲本身帶來多少單子多少收入。
若是你不作任何準備,不經市場測試,腦子一熱就脫離組織,每每會陷入冷啓動的泥沼,腸子悔青。
假如作市場測試時發現收入很低,作不起來,不要氣餒,要看看別人,尤爲是和你經驗、水平、身份差很少的人,有沒有作得好的。好比我寫書,版稅很低,一本賣三五千冊,不賺什麼錢。但是楊開振一本書半年賣 2 萬冊,版稅談得也高,就有很可觀的收入。那這個時候,就要找差距,看怎麼提升。
飽和度測試
自由職業不是不工做,只是不在組織內工做而已,你依然要投入足夠的時間才能創造像樣的產出賺到你想要的錢。
你在單位上班時,老闆們會給你安排事情,你不用考慮工做負荷是否飽和,哪怕你一天到晚沒事兒幹,也能夠領到一份薪水。自由職業後就不同了,你必須主動安排工做,讓本身有足夠的負荷,不然你逍遙自在不了多久就會陷入困境。
飽和度測試就是要讓你提早適應自由職業後自我安排工做的特色,看看你規劃出來準備在自由職業時作的事情,能不能把你的時間填滿。
能夠分兩步:
先全力去作,看能不能把你如今的業餘時間填滿。假如填不滿,Ok,你不用自由職業,就繼續如今的工做,業餘時間作你想作的事情,賺一份額外收入就好了。
假如你如今業餘時間遠遠不夠用,那估算下到底會佔多少時間,平均天天幾個小時。假如平均天天4個小時,那Ok,另外 4 個小時你作什麼?你須要再找點兒事情來填滿它,能夠是賺錢的事情,也能夠是興趣、愛好、休閒,總之你若是有大把時間無事可幹,就會出問題。
預期管理
預期管理包括四個方面:
冷啓動週期。像接項目、寫書、在線課程,都有個回款週期,因此你應該設想一下,你能夠承受的無收入的起始階段有多長,併爲此準備一些錢,好比你預計週期爲 3 個月,那你就要準備上至少夠 3 個月花的錢。
收入預期,最近三年,預期收入達到什麼規模。
時間預期,準備作多久來驗證本身真的能夠持續走下去。
成就預期,你打算在哪一個方向上取得什麼成就、創建什麼名聲。
B 和 Z 方案
你要設想,萬一你如今規劃的事情,收入不如預期,不能保持你的生活水準,你還準備再作些什麼?這就是你的 B 方案,你要有至少 2 種能夠變現的事情。
再設想一下最壞的狀況:萬一你不管如何都養不活本身,該怎麼應對,是回單位上班?仍是吃存款、繼續硬撐?你必定要提早作好備案,這樣才能夠從容應對。
自由職業的自由與焦慮
在這篇文章的開始部分,咱們說「你嚮往想幹什麼幹什麼,想怎麼賺錢怎麼賺錢的生活」,所以你考慮自由職業。可是,真實的自由職業,可能並無想象中那麼美好,它有自由,也有不自由;有高收入,也有與自由和不肯定性伴生的焦慮。
自由
自由職業最大的好處:擁有自由的權利去安排工做時間。只要你完成任務解決問題,鬼才管你什麼時間工做。
然而,你的自由是創建在自律的基礎上的,你的自由是如何安排本身工做的自由,而不是不工做想幹什麼就幹什麼的自由(那是財務自由)——由於你要賺錢養活本身。
舉個例子,你答應了客戶週四完成開發交付軟件的第一個版本,結果你週一週二都有事情,代碼沒完成,能夠把交付日期更改到下週一嗎?不行!
若是你在單位作事情,能夠找上司說:「哎呀老闆,出現了點情況,是這麼這麼回事兒,看來這個事情得延期一週才行……」也許這樣老闆就會答應,你就又有了時間。
但是你自由職業後,沒有老闆啊,你得本身維護本身「值得被信任」的形象,得讓你的僱主以爲你「靠譜」。因此,你承諾了就要作到,哪怕熬夜趕出來哇!
這就是一種不自由。
焦慮
上班最大的一個好處是:不用考慮你要作什麼事情,不用考慮你作的事情能不能創造經濟價值,無論怎樣,你都每個月固定拿薪水。只要你在單位待着,哪怕刷一天朋友圈,也有錢拿!這是多麼大的幸福啊!
但是自由職業者就不同:不作事就沒錢啊。並且,更尷尬的是,作事也不必定有錢啊。
因此,自由職業者天天都會受到不肯定性的干擾。譬如我,用了記帳軟件記錄收支,每次看到一大片紅色就焦慮,內心就琢磨,哎呀個人錢何時到帳啊。要是看到這個月的支出已經遠超收入,就焦慮得不行,哎呀,差這麼多啊,下個月能不能補賺回來啊。
這是你對收入波動性的焦慮,尤爲容易出如今剛剛成爲自由職業者的時候。
還有第二種焦慮:你作的事情是否可以持續。
以自身爲例,我打算每一年寫兩本書作兩門課,但是這真的能夠嗎?一年、兩年都以爲沒問題啊,但真的能夠這樣一直作下去嗎?3年、5年、10年都沒問題嗎?我會一直有主題可寫?會一直有系統的課程能夠開發?
狀態好時我以爲這都不成問題,由於既然我以前能夠找到話題,未來也必定會有新的話題出現。狀態差的時候就會焦慮:能想到的話題都作差很少了,下一個話題在哪裏啊?萬一明年沒什麼可寫該怎麼辦?
如今,你知道了一切:開發者實現自由職業的 4 種常見方式,5 種必作準備,以及可能的自由和焦慮。你還會準備開始嗎?若是想要繼續,瞭解最新的自由職業開發技能趨勢也能爲本身找尋必定的方向。
最熱門的自由職業者技能
據 Upwork 的最新數據顯示,十大增加最快的自由職業技能排行榜包括區塊鏈、比特幣、React.js、深度學習等等,與去年同期相比增加超過了 200%。相比之下,Swift、AngularJS 和機器學習已經跌出前十,但還是熱門自由職業技能。
此外,比對今年年初 Stack Overflow 發佈了一些有關招聘趨勢的數據報告,從中可發現目前市場對於 React.js 和 Docker 技能方面的人才需求逐漸增長。
熱門技術需求排行榜前 5 名分別爲:
ReactsJS
Docker
Ansible
Apache Spark
SysAdmin
簡而言之,據 Stack Overflow 的開發人員招聘趨勢代表,掌握了 ReactJS、Docker、Ansible 和 Apache Spark 的開發者可能更容易找到工做。
再看一下 Upwork 的最新技能排行,React.js 並不是排行第一,可是它也位居前五。增加最快的技能前五名分別爲:
Robotics
Blockchain
Bitcoin
Penetration testing
React.js
機器人技術是本季度發展最快的職業技能。據調查發現,對於此技術人才需求的上升,一方面與人工智能領域的迅速發展密不可分,另外一方面也源於亞馬遜、豐田汽車研究所等大公司對機器人技術的研究。
區塊鏈和比特幣技術也是後起之秀,位居前五名,那麼 Gartner 在 2017 年的「新興技術炒做週期」中加入了區塊鏈也不足爲奇。
對此,Hyperledger 執行董事 Brian Behlendorf 曾表示:「做爲新的互聯網技術體系的一部分,這項技術不乏有大的願景,若是作得對,它能夠對科技行業和整個社會產生巨大的積極影響。」
下面肯定哪一個 JavaScript 框架最適合 Web 應用程序是不容易的,儘管 React 和 Angular 之間的「戰爭」有點牽強(由於一個是框架,另外一個是庫),只是自由職業者如今大多數是在用 React.js。
Angular 和 React 正在用不一樣的方法解決一樣的問題。你應該考慮的一件事是:你的團隊有多年的 JavaScript 經驗嗎?若是有,那麼 React 多是最好的選擇。
具備強大 Java 背景的團隊一般使用 Angular 感受更溫馨。 TypeScript 是其中一個緣由,由於它具備 Java 開發者在 JavaScript 中缺乏的許多結構特徵。有些 JavaScript 專家有時候會抵觸,由於他們的自由被 TypeScript 強大的類型系統所抑制。
總結
實際行動比想象的看起來要難上萬倍,在成爲一名自由職業者以前,提早規劃、作好備選方案、瞭解趨勢缺一不可,你準備好了嗎?