很多人之所以從事Python,是因為很不爽PHP的語法,雖然PHP被稱為世界上最好的程式語言。於是為了這個原因,付出了沉重的代價,失業了好幾回。
身邊有些人時不時總是會問我一些Python的技術問題,但是大多數情況下都是比較基礎的。要不是近幾年Python火了起來,說不定我真的轉行送外賣了。
對於Python這麼語言,可以當作一門興趣或愛好來學習,但是若是想找到份好的工作還是謹慎為主,這也是為什麼不建議你搞Python的原因。
Python學習熱 VS Python就業市場廣闊
Python流行起來實話說是意料之中的事情,只是沒有想到它是那麼的快。在14年的時候,實在無法忍受PHP那美元符號和分號的結尾,於是開始入坑Python。那時的Python,市面上只有寥寥幾本的書籍可以參考。至於廖雪峰的Python入門教程,:看了2篇就放棄了,寫的實在太淺顯。當然,後來他也寫了些高階的教程,有興趣的可以看看。
然而,Python仍然是門小眾的語言。有多麼小眾呢?你可以上拉鉤或BOSS直聘上搜索下,基本上一線城市除了北京、上海外,其他區域來來去去就那麼10–20家公司,而且這些公司中80%都是創業公司。
曾經,我在1年中入職了2家Python的公司,前1家公司我才進去3個月就倒閉了。為什麼呢?沒人用它搞業務啊。
當前Python比較適合的業務主要有:
·資料分析
·資訊保安
· 系統運維
·應用測試
運維就不用說了,現在基本都是自動化時代了。而資料分析中,說的最多的就是爬蟲。實際上,它跟分析沒有太多的關係。常見的反倒是一些報表的匯出功能。再高階一些的就是什麼大數據了。
對於資訊保安,完全可以說是石器往青銅時代過渡。雖然有metasploit這樣的大殺器,然而很多事情還待人為實現。
對於如下的一些業務還是謹慎使用:
· GUI開發
· 嵌入式開發
首先GUI開發,現在不是熱門業務。即使有這業務,也只會是Windows的GUI,人家有MFC,跟你Python沒有半毛錢關係。如果你要用PyQt5寫個介面,還不如用Electron,人家記憶體管理方面做得反倒更好些。
至於嵌入式開發,還是老老實實學習C語言和彙編吧,不要指望Python能在裡面幫上什麼忙。當然,做做應用級別的業務,什麼語言都是可以的。
對於Web開發,可以選擇的餘地就更多了。前有Java深耕市場多年,後有nodejs來勢洶洶,下有Golang虎視眈眈。而Python在這個市場中能分到的梗真心不多,而且很大一部分都是Django帶來的。
這幾年Flask的流行,讓不少人體會到了Python的簡潔。然而,真的好用的還是Pyramid這個名不見經傳的框架(僅本人自身觀點,可以挖掘很多有意思的東西)。
理性的迴歸
2018年是個瘋狂的一年,資本的市場風起浪湧。相比2019年,反倒平靜了許多。理性的迴歸,資本也逐漸迴歸到正常。
有位哥們說他公司現在前端最火,他的Java都要退居二線了。隨便隨便1個3年的前端,動不動就要求薪資最低16K。如果放在16–17年完全是有可能的事情,而放在19年只能說是痴人說夢。
因此19年還是要多從自身的學習做起,多沉澱自身的技術。當然隨便學習下技術之外的東西,一些賺錢的方式總是在你認知之外的地方。
你完全可以把學習Python當作一門投資,至於有沒有回報就不要太看重了。
錯入一行誤半生
之所以不建議從事Python的問題在於,你以為從事Python是門輕鬆的事情,然而卻選擇了條艱難的不歸之路。
不得不說,在從事Python的這幾年中,每天都在朝九晚六中度過,還時不時要找點事情做做。雖然薪水沒有Java大佬們那麼高,然而生活還是過得有滋有味。為什麼呢?Python效率高的。效率有多高,直接pip裝個包就好了。
每次看到Java的大佬在用maven或grade安裝依賴時,就默唸還是pip好用,至少還有個進度條知道還需要多久能完成。至於npm就不談論了,再說下去就會淪為語言之爭了。
如果你覺得從事Python是件輕鬆的事情,那麼混吃等死的日子就會到達盡頭。有時你拍著胸脯跟BOSS說,這個東西我半天就能完成,結果現實狠狠的閃了你一個耳光。舉個簡單的例子,比如報表匯出word是個很常見的業務輸出,如果要在word中輸出對應的目錄,那真的是件可怕的事情。因為python常用的docx庫根本不支援,而Java的POI及PHP的phpword是支援的,結果為了你的無知不得不加班。
然而,閒著無事又會激發自身的瞎折騰,不然沒法對上級交待。這裡也要慶幸總是遇到些好的領導,鼓勵你多學習一點。於是,逐漸的就變成了1個打醬油的人物,救火版的存在。別人搞不定的東西,你花個半個小時完美解決。
什麼Win32 API程式設計,GUI程式設計,資料報表、分析,打補丁甚至開發外掛樣樣都過了一遍。結果,2–3個人做了1個團隊5–6個人的活,錢還是那麼多。
當你從事Python久了,就會發現自己的知識是多麼的零少。結果,又不得不推動著你係統的學習一遍,從而每天都在資訊量巨大的日子中度過漫漫長夜。
舉個最簡單的例子,在股票技術面的分析中,什麼K線分析是常用的方法。此時你用Python來折騰,是個很不錯的主意。結果,你不得不學習點金融的知識來擴充。於是事情就開始變得不可控制和確定了。當然,結果會是有意思的。
曾經在某個夜裡,自己通過Python分析的幾隻股票的組合的收益率達到了20%,我幾近失眠了。我從來沒有想到,事情是那麼的簡單且來的不容易。作為1個發了工資就還花唄的人來說,餘額寶的收益率才3%而已。即使我1年存了1W,1年後利息也才300。而我用1–2個月的時間,卻達到了20%的收益,那種欣喜有點佩服自己,只是後悔當初投入太少。
於是,後來慢慢了解到Python在量化分析中大有用途,雖然沒有什麼大公司用它進行實時交易。但是,不得不說Python是門很不錯的分析語言。
Python作為1門學院派語言,只有在重點高校才會存在的語言,有其獨到的先天優勢。相比其他分析的工具,如R、Matlab,Python使用起來更人性化些。特別是開發外掛的時候,當然這涉及到黑產的部分內容,就不展開說明了。你會發現Python寫起來的效果只是比易語言稍微複雜一些。
拋開資訊保安的領域,雖然資料分析動不動就是7位數的收入。但是,要成為1位資料科學家也不是件容易的事情。之所以能給你這個價位的薪資,是因為你自身能提供對應的資料觀點,換句話你能挖掘出大數據後的商機。這必定是個緩慢的過程。
很多人沒有堅持到那麼一步就放棄了,還不如早點找些收入穩定的渠道,避免錯過機遇與財富的積累。如果能理性對待,清楚認知自己的當前情況,才知道該崗位是否適合自己。
結語
對於Python,建議可以學習下,但是如果想靠他找到份工作就要謹慎些。畢竟,決定你工資的是你的稀缺程度,如果沒有業務的支撐,即使你再精通也是瞎扯。
如果期望高薪資的話,還是建議從事Java或C、C++的崗位。如果想快速找到工作,還是建議從事前端或PHP的崗位。而對於想多方面發展,想折騰自己的人,建議來混混Python的崗位,每天”混吃等死”。