1. <span id="abflz"><sup id="abflz"></sup></span>
    2. 為了賬號安全,請及時綁定郵箱和手機立即綁定

      程序員的生財(生存)之道

      2019.09.19 21:38 3272瀏覽

      我是程序員,曾經我跟大家一樣,我也有很多的疑惑:

      譬如:

      怎樣系統的學習Python

      如何提升自己的編程水平?

      如何進階,升級到下一個階層?

      未來的技術趨勢都有哪些趨勢?

      http://img4.mukewang.com/5d8383c50001e85205210534.jpg


      在這些問題里,其實包含了你整個職業生涯的絕大部分,今天,我們就一起來探討一下,我把我個人的一些經驗、一些感悟、一些思考分享給大家,希望對大家有所幫助和啟發。

      第一部分:背景及現狀分析

      我們先來分析一下,前面這幾個問題提出的人當前的所處的職業時期:

      第一個問題:怎樣系統的學習Python?應該是Python剛入門,正在學習,不知道怎么去學

      第二個問題:如何提升自己的編程水平?應該是Python的從業者,初級,能寫代碼,能解決工作中的問題,但解決問題不是很順暢,不能像大牛一樣游刃有余,渴望提高

      第三個問題:如何進階,升級到下一個階層?可能已經是Python中級開發了,至少2年以上的工作經驗,職業遇到了瓶頸,想漲工資

      第四個問題:未來的技術趨勢都有哪些趨勢?提這個問題的可能是想入行的同學、也可能是有一定經驗的同學、還有可能是架構師、也有可能是技術經理


      如果你也有這些疑惑,我要恭喜你,你是一個聰明人,你是一個求上進的人,你適合當程序員。

      http://img.mukewang.com/5d8383d900018b9502250240.jpg


      接下來,我們看看如何做好本職工作,先成為一名合格的程序員,先來看看python的招聘需求,沒有一個明確的標準,我稍稍提煉了一下:

      初級python開發工程師(在指導下能干活):

      (1)熟練掌握python語言的基本語法、常用的python標準庫

      (2)熟練使用某某框架或者是庫(Django、Flask、Numpy、Scrapy、Tensorflow等),對應的職業有web開發工程師、爬蟲工程師、數據分析、人工智能開發等

      (3)熟練使用MySQL/Redis/MongoDB等常用數據庫或緩存的一種

      (4)一年以上的工作經驗

      (5)專業要求,計算機本科及以上優先考慮


      中級python開發工程師(能獨立干活,具備獨立開發能力):

      (1)基礎扎實,python語法、標準庫這些要非常熟練,甚至是精通,計算機基礎知識(網絡、協議等)

      (2)框架的使用非常熟練,2年以上的實際使用經驗,有一些優化技巧、解決重大問題及需求的場景

      (3)熟悉工作流程,如:使用Git/SVN進行代碼管理、版本管理,使用Jenkins等CI工具

      (4)3-5年行業工作經驗(如:電商行業、在線教育行業、SAAS等)

      (5)附帶一些周邊技能:Linux操作系統、數據庫使用及優化


      高級python開發工程師(能指導他人干活,解決技術難點):

      (1)要有一定的架構設計能力,解決過大流量、高并發、高可用分布式架構設計等。

      (2)精通python,精通相關框架,數據庫,Linux等

      (3)善于溝通與團隊協作,解決問題的能力強

      (4)5年以上的工作經驗,有團隊管理(小組長、負責人)經驗

      (5)專業要求,計算機本科(甚至是統招、985、211)及以上


      看了這些招聘的要求,都離不開python的基礎知識,那么如何系統的學習好python呢?給大家提幾點建議:

      第一個是學習方向,相關的腦圖網上很多,簡單列一下:

      (1)python語法、標準庫這些是入門必備

      (2)數據庫、操作系統、網絡知識,需要循序漸進,不斷夯實

      (3)框架的使用,框架的優化調優,層層深入

      (4)周邊知識、擴充視野:包括:前端領域、客戶端領域等都要有所了解

      第二個是學習方法論,也就是如何快速的掌握一門語言、一種框架的使用:

      (1)注重基礎。前面的基礎知識一定要給夯實了(上面的1-2點)

      (2)多去實踐。切勿眼高手低,哪怕是很簡單的功能,一定要動手。

      (3)勤于思考。都是在思考和總結中成長的。寫完了,寫好了嗎?寫好了能再優化嗎?優化的方式有多種嗎?每次寫完代碼,都問問自己這幾個問題,再想,再改,查漏補缺,慢慢你就成長了,慢慢的代碼就精煉了,所謂的編程思想,你終究會有你的思想。

      (4)保持持續學習。新東西、新框架層出不窮,一定要做好持續學習的準備。


      講完了,但是....


      你真的準備當一輩子程序員嗎?你真的能當一輩子的程序員嗎?

      我的答案是:能!概率極少!但是我希望你到了60歲還在寫代碼,純粹是出于愛好,而不是迫于生計。

      為什么這么說呢?不信你可以看看你的朋友圈,同事圈,計算機專業的同行們,學長,學姐們,他們現在還有多少人的職業是程序員。

      我的同班同學畢業的統計,同學們可以參考一下。畢業第一年,80%的人在寫代碼,畢業第三年,50%的人在寫代碼,畢業第五年,30%的人在寫代碼,畢業第八年10%的人在寫代碼。


      第二部分 生存之道

      此時該聊聊你的夢想(職業規劃)了。人要有夢想,沒有夢想,跟咸魚有什么區別?那么,你的夢想是什么?

      像我的夢想,可能跟大多數人一樣:就是不上班,哈哈哈(開個玩笑)。

      http://img2.mukewang.com/5d8383ec0001f12d03000300.jpg


      那么,他們為什么不寫代碼了?不寫代碼的那些人都干啥去了呢?

      不寫代碼的原因主要有如下幾點:

      1. 升職了,升職為架構師、技術經理、CTO,不需要全職寫代碼了

      2. 找到了真愛(自己喜歡的、適合自己的職業),自愿轉行

      3. 年紀大了,身體吃不消了,學不動了,寫不了了,或者是不想寫了,被迫轉行

      4. 從公司的層面,用新人比你更劃算,被邊緣化,迫于生計,被迫轉行


      http://img1.mukewang.com/5d8383f60001144a03790257.jpg


      無論是升職了、自愿轉行了、還是被迫轉行,這里我要提醒大家,一定要有危機感。升職了,也有可能被替換,哪個行業都有競爭,有人的地方就有競爭。所以,做好準備吧!

      這里的準備,主要有兩點:

      (1)分清楚你的職業和事業。

      上班干活是你的工作,養家糊口,基本的生活保障,這是生存之道。

      公司是利益的共同體,別想著在公司養老,老板說“公司就是你的家”,那是鼓勵你加班,壓榨你的剩余價值,當哪天你已經沒有價值了,你被開除的可能性就更大。

      所以要把業余的時間利用起來,放在你的事業上,提升自我也好,做其它有意義的事情也好,逐步的思考,讓你的事業產生價值,創造價值,甚至超越你的工資,這是生財之道。

      (2)保持空杯心態。

      就像你剛入行一樣,抱著什么都不懂的心態去學習、去思考。這是做程序員的長處,你的學習能力、你的邏輯推理能力、你的學習成長方法論,這些是通用的。


      講了這么多,我們來總結一下:對于我們程序員,要先生存,再生財。


      我們接下來從職業規劃的角度來看看如何生存。

      那些不寫代碼的人都干嘛去了呢?


      進化之路(1):純技術路線

      初級程序員 -  中級程序員 - 高級程序員 - 技術專家 /架構師 

      初級程序員 -  中/高級程序員 - 初級前端 - 中級前端-高級前端-前端架構師

      初級/中/高級程序員 - 測試(QA)

      初級/中/高級程序員 - 運維維

      初級/中/高級程序員 - DBA


      進化之路(2):管理路線

      初級程序員 - 中級程序員 - 高級程序員 - 技術經理 - CTO

      初級程序員 - 中級程序員 - 項目經理


      進化之路(3):產品路線

      初級程序員 - 中級/高級程序員 - 產品經理 - 高級產品經理 - 產品總監


      進化之路(4):自主創業

      初級/中級/高級程序員  -  創業

      李彥宏、雷軍、周鴻祎、馬化騰、張小龍這些都是技術出生。

      當然還有很多轉行路線,譬如:程序員出來開餐廳、做快遞的,數不勝數。


      當然,混職場的,咱們程序員,要學會自保,準確的來說就是不要做“背鍋俠”,這里我就不展開講了。



      第三部分 生財之道

      作為程序員,如何生財?這里的生財不是理財,理財講究的是“開源”和“節流”,開源是指增加收入的來源,節流是指控制支出。我們這里講的生財是指“開源”的一部分,是指你的第二份收入。除了工資之外,我們也要賺點外快,但是有個前提。

      前提是:你要把你的第一職業做好了,職位坐穩妥了再去搞第二份職業。別工作沒做好被開除了,說是我跟大家說的,這個鍋我不背。


      第二份職業賺錢的方式有很多,我們一起來看看,從我們做程序員的角度,一起來看看:


      (1)接外包賺錢

      靠你的熟人,靠朋友,去一些外包平臺(豬八戒網、實現網、開源中國)等等這些平臺,接一些私活


      (2)知識付費

      知識付費的就有很多了,譬如:

      寫文章:文章寫得好,去投稿賺稿費;去開公眾號,賺廣告費;去寫專欄、出書、積累聲望,打造個人IP,賺稿費

      教學:兼職助教、講師,收入可觀


      (3)橫向發展,做產品。瞄準一個行業、一個社會群里,深耕細作。有一個非常成功的例子,張小龍。從Foxmail到微信。從技術,慢慢開發產品,思考產品、思考用戶體驗、挖掘用戶需求。到最后成功搞出了微信。

      有同學會問:我哪能有小龍哥那么厲害。我告訴大家,你只要在一個行業里,一個領域里,堅持思考,不斷的迭代,只要方向不錯,時間點對了,一定能搞出點成果來。

      我有一個朋友,也算是同學。就瞄準了高中生這個群里,做了一類型的刷題、知識付費的安卓APP,一個月單靠廣告費就破5w了。


      (4)銷售、分銷類。說白了就是做微商。微商可大可小,不要小看它。做的人多,做得好的人少,不信你可以看看你的朋友圈,持續做微商1年以上的有幾個,如果TA能堅持3年,我相信他一定嘗到了甜頭。

      那么作為程序員,我們如何做微商呢?朋友圈轟炸嗎?當然不是。

      這里可以跟大家分享一些方法,其實很簡單:導流-> 沉淀 ->轉化。今年很流行一個詞語,叫做“私域流量”。在互聯網時代,只要有流量,就有N種變現的途徑。流量是什么?就是日活(日活躍用戶)、月活(月活躍用戶)。你通過寫文章(通常指干貨+軟文),通過各個渠道(微博、博客、知乎問答)等導流到你的個人微信公眾號,或者是你自己的互聯網產品,在這些地方變現。

      變現的方式就超級多了,最常見的就是廣告費。


      這么多賺錢的小竅門,看起來都有門檻,我該如何下手呢?

      很簡單,利用我們程序員所特有的一點,自學能力。自學能力不行都干不了程序員。所以接下來,我們通過剛剛舉的這些例子,如何來學:

      (1)先來看看接外包,接外包是你想接就能能接的嗎?當然不是。能力很重要。通常一個外包需求都涵蓋了好多方面的內容。最常見的:做個網站、做個用戶管理、做個分銷系統、小程序等等。

      大家想想,如果你要做一個這樣的東西,就拿最簡單的企業官網來說,你要怎樣實現呢?


      方式有兩種:

      第一,合作共贏。在我個人的朋友圈子里,我是頂天立地的python后臺開發,從數據庫設計、服務器運維、代碼編寫精通得很。我的朋友老張前端精英,從P圖到實現,一條龍搞定。我的朋友小黑,商務小能手,談合作、談需求,戰無不勝。

      大家看,這里面簡單的一句話,涵蓋了不同的領域,讓專業的人來做專業的事,沒有合作就不能共贏。當然,我們要學會合作,要學會整合周圍的資源。整合能力也是一種能力,當你玩得很6了,離自己開公司,自己做CEO也不遠了。

      第二,一個人戰斗,我是全棧。所需的能力,我就不說了,就是上面第一點列到的那些。那么,問題來了,我怎樣才能具備這些能力?

      這個其實不難,取決于你平時的積累,取決于你的第一職業。你沒有這樣的能力,你周圍的人一定有,“三人行必有我師”嘛,所以要有學習能力,還需要有空杯心態。多跟其他行業的人交流,多學習。


      說到這里,新的問題來了。都說隔行如隔山,我跟商務、跟銷售都不在同一個頻道,怎么聊?這其實取決于你的知識面。所以問題又回到了學習上,這里我跟大家分享一下我是怎么學習的:

      (1)工作不是單純的寫代碼,還要思考業務。從你所做的需求去思考,譬如:做電商行業,一定有很多專業名詞吧?SKU是什么,SPU是什么?這些跟技術無關,遇到一個新的東西,要想辦法搞懂,并且記錄下來。如何記錄?推薦印象筆記、有道云筆記,不瞞大家說,我在印象筆記已經積累了上千篇內容了,涵蓋了python、java、php、前端、數據庫、安卓、大數據、Linux、樹莓派、金融、理財、運維、財務等等不同的領域。

      (2)做事情要有條理,分主次,注重效率。這是很多人容易忽視的一個問題,上班嘛,拿點死工資,能少做盡量少做。千萬別這樣!一定要想著,多去做,高效的做。做過的內容,熟練的內容給別人做。自己去嘗試新的東西。這樣慢慢的,知識面就廣了。另外一點,分主次也很重要,其實就是做好時間管理,關于時間管理有很多書籍,同學可以去系統的學一下。為什么說這個很重要呢?

      舉個例子:我有個下屬,周一來上班,我跟它說,這周你的主要工作是以下這5件事情,其中有一件比較難搞,花費時間較長,balalalala, 跟他布置完任務,他也明白了,去做了。到了周五了,該看結果了,問他,做得怎么樣了?回答說:一件也沒完成。為什么沒完成?第一件事情比較難,卡了一個星期。好了,我跟他說,周末來加班搞定,先把容易的搞定。

      所以當大家接到很多任務的時候,一定要注意先給這些任務分類,先按照任務難易程度分一下,再按照 “重要-緊急” 的程度劃分一下,先把重要且緊急的任務先給完成了。當這個技能你運用得很熟練之后,離技術經理、項目經理,這些偏管理類的職位又近了。

      (3)重視溝通、多去溝通。解決問題的方式有很多,不一定都要靠寫代碼,砍掉需求也是解決問題的一種方式。溝通,是大多數程序員的短板。很多程序員因為不善于表達,不善于溝通,無法升級到管理層的職位(譬如:小組長之類的)。所以一定要抓住機會,甚至是創造機會,去鍛煉自己的溝通和表達。譬如:組織技術分享啊、自己多去講、多去表達、講得好不好,讓別人跟你提下意見,升級自己的軟實力。有一些開發需求,你要想辦弄懂,為什么要這么做,這么做有什么好處?我還有沒有其它方案?多去思考,多去溝通。當你能熟練運用了這個技能,離商務這些類型職位又近了不少。

      (4)積極主動,不放過任何一個可以鍛煉的機會。哪怕是做一些與寫代碼無關的事情。積極主動跟你的領導搞好關系,主動匯報工作,多跟領導討論問題,將自己的部分做完了,多去主動為領導“要任務”,讓領導信任你,會為你未來減少很多不必要的麻煩,也會為自己爭取更多的核心項目的機會。

      (5)帶著目的入職,帶著收獲離開。進入一家公司,一定要想清楚:我進來除了拿工資,還期望有哪些收獲,是能力的提升?還是個人履歷更具亮點?。譬如:你進入了一家電商公司,你是不是應該要想清楚除了技術本職工作之外,還需要了解做電商的流程,電商是如何運作的?一單能賺多少錢?公司是如何投入的?公司是如何做供應商的管理的?如果我都弄清楚了,我能不能做?這些問題搞懂了,都摸透了,公司內部出現問題,你甚至比老板還清楚。思考得多了,就去找機會驗證,在公司學習,鍛煉,提升你的能力。說不定哪天你就可以單干了。


      講了這么多,不知道對大家有無幫助?總結一下:

      1.要有目標,要做長遠的規劃,如果還沒有想清楚,可能是你的知識面還不夠,多去學習、積累和思考。

      2.學習很重要,自學能力更重要,要掌握學習的技巧和方法,不斷的提升自己,無論是履歷還是學歷。

      3.要有危機感,我不確定自己以后是否會創業,但是我希望哪天因為各種原因被公司辭退、或是其他原因不能上班了,我還有第二職業,我一樣過得很好!

      http://img3.mukewang.com/5d83840400013dcc04890411.jpg

      謝謝大家

      ···············

      歡迎關注課程:

      Python操作三大主流數據庫

      手把手教你把Python應用到實際開發 不再空談語法


      點擊查看更多內容

      本文原創發布于慕課網 ,轉載請注明出處,謝謝合作

      38人點贊

      若覺得本文不錯,就分享一下吧!

      評論

      相關文章推薦

      正在加載中
      意見反饋 幫助中心 APP下載
      官方微信

      舉報

      0/150
      提交
      取消
      成人在线av