非專業轉行python的幾點建議
關注咱們程式設計教室公眾號的朋友,有不少是希望通過學習 Python 轉行成為程式設計師的。但其中大部分可能都對程式設計、程式設計師、IT行業並不十分熟悉,只能從網上獲取一些零碎的資訊來管中窺豹。因此也一直有同學諮詢這方面的問題。針對一些普遍的疑問,我在此做點梳理,分享下我個人的經驗和建議。
在開始之前我想說,關於這類話題,永遠會存在分歧和爭論。比如有人看好網際網路發展,有人說泡沫太大;有人說要做專案,有人說得多刷題;有人說要去培訓班,有人說不如自學;有人說你學 Python,有人說 PHP 才是王道……糾結於選擇往往會讓人迷失。 你所要關注的,不應是非黑即白的結論,而是這些結論背後的邏輯。結論是會隨條件和環境變化,只有邏輯才是你能把握的。 不論是你現在讀我這篇,還是在網上去看別人的文章和觀點,不要因為講的話合你胃口就信,不喜歡聽就反對。 找到背後的邏輯,結合你的自身情況,去做出你自主思考後的結論 。
1、要不要轉行?
所有想轉行的人都面臨的第一個問題。在我看來,想要轉行做程式設計師的原因無非就兩種:1. 喜歡程式設計 ,喜歡這種邏輯嚴密的思維方式,喜歡創造出東西的感覺。2. 看好網際網路/IT行業 、程式設計師的工作錢多、職業發展好。兩方面未必絕對,但對每個人來說一定有個佔主導。 如果你是前者 ,只是因為一些客觀原因未能如願,那 我無條件支援你轉行 ,可以直接略過這一段了。對於後者,我覺得你需要多考慮幾個問題:1.你覺得自己是否有足夠的底氣和每年大批剛畢業的相關專業學生同臺競爭;2.你覺得自己是否真的喜愛和適合程式設計;3.程式開發工作是否真的如你想象;4.等你學成,這個行業是否還有足夠的崗位需求。這些問題,很難僅通過諮詢和思考得出答案,尤其對於行業發展的判斷,如果你真能準確預測一個行業的興衰,幹嘛不直接買股票去。這些問題,都是做了才知道。所以 我認為你需要考慮的問題只有一個:你是否能承受轉行失敗的代價 。如果你覺得可以,願意用這樣的風險去換一個機會,那再去做。而不是聽別人說“風口來啦”、“缺口巨大”、“培訓3個月,月薪2萬”就蠢蠢欲動。
順便說一句,優秀的程式設計師往往都是我說的前者,而當下在網上抱怨寒冬到來的從業者,多是後者。
相比於強行轉行,我更建議的方式是 漸進式轉行 。網上有足夠多的教程資源,你完全可以 用業餘時間去學習程式設計,去獨立開發一些小程式小工具,或者從你現有工作尋找與程式設計的結合點 。比如你覺得現在的工作很枯燥,每天登記整理大量繁瑣資料,那為何不嘗試寫一個程式來自動化呢? 如果你甚至連最簡單的教程都懶得翻開看幾課,又哪裡來的信心覺得自己辭職或者報了培訓班之後就能愛上程式設計呢?
如今社會,賺錢的營生很多,程式設計師可算不上暴利行業。如果僅僅為了錢,這個動力恐怕不足以支撐你走下去。
2、轉哪行?
如果經過上一點的考慮,你覺得還是想嘗試下,那麼接下來就需要考慮,往哪個方向轉。程式設計師也分很多種,前端、後端、嵌入式、資料分析、架構師、人工智慧……我的建議: 從熟悉的入手、從簡單的入手。
如果你之前的專業和工作與程式開發有結合的點,向相關崗位發展是更好的選擇。比如你原來就是學統計的,那學了開發再做資料分析就順理成章,如果你原來是教育行業,那可以考慮線上教育領域的崗位。 先轉行,再發展。記住你每個階段的目標是什麼。千萬不要好高騖遠。 有不少問過我,我沒什麼基礎,但我覺得人工智慧很好,我想從事相關工作,應該怎麼學。抱歉,我拒絕回答這種問題,因為你跳躍太大了,我說出建議也絲毫沒有幫助。先去寫一萬行程式碼我們再來聊。
要了解一個方向的具體情況,最好是向在職從業人員打聽,如果找不到,還有個很實用的路子: 上招聘網站搜 。一類崗位,在某個城市有多少需求,薪資如何,有什麼樣的要求,全都給你列出來了,何須去網上聽那些來源未知的說法。這個方法不但適合考察就業崗位,也是給自己明確學習內容的好路子,因為就職所需的技術一般都寫在崗位需求上了。
來程式設計教室的求職者大概都想知道: 學Python到底適不適合轉行 ?這個問題也不好回答,因為轉行成功的案例絕對不少,但是 我從沒見過有哪個程式設計師只會一種語言 。 Python的優點是,它很適合入門 。所以如果你之前是零基礎,這是你跨入程式設計世界大門的好選擇。同時它又有挺廣泛的應用,可以做Web開發、資料分析,甚至當下火爆的人工智慧。但你要明白的是,一個人不會因為學會使用PS就成為了一名設計師,同樣也 不存在學會Python就成為資料分析師或者人工智慧科學家了 。它只是一個工具,後面的路還很長。程式設計師的本質是用程式碼開發產品、解決問題,而不是寫程式碼本身。
如果你有一點程式設計基礎,急於轉行的話,建議從相當門檻較低的 測試或運維崗位進入,或者選擇前端開發 ,這都會比某些炒得火熱的光鮮職位更可行。
關於Python的應用,可以參考我之前的文章: Crossin:學了 Python 能用來做什麼?
3、怎麼轉?
如果前面說的種種困難都攔不住你,你已經下定決心走上程式設計師的道路了,那我首先要恭喜你,至少你已邁出了自己的舒適圈,雖然前方有很多不確定,但要相信辦法總比困難多。
你至少需要完成的學習內容,包括: 程式語言基礎、最基本的資料結構和演算法、可以拿出來演示的完整專案 。這已經是最低限度的要求了。當然我希望你能給自己更多的時間學習, 去進一步完善計算機和程式設計相關的基礎理論、去做更復雜的專案、去刷更多的演算法題 (這裡不討論演算法是否有必要,僅從面試來說你就少不了)。
如果可能的話,儘可能去 找到一些共同學習的人 ,最好能 找到給你提供一點方向指導的經驗人士 。 但最最重要的,是堅持下去 。這是最大的問題,因為其他一切問題都可以在你的堅持之下解決,而你一旦放棄,任何條件和機會對你來說都沒有意義。
在你覺得自己已經有所積累的時候, 大膽去應聘 吧。反正面試也不要花錢(要收錢的千萬別去,都是騙子),最多花點路費。不要怕失敗,被拒絕幾次算什麼呢。甚至你可以去詢問面試方,你是哪方面不足,要怎麼才能達到他們的標準。這樣每一次面試,你的經驗值都在增長,總有一次你會升到更高等級。
很多人還會糾結一個問題是: 要不要去報培訓班? 網上有些意見是說絕對不要去,白花錢。我的觀點是,培訓班也有它的好處,主要兩方面:1.給你提供一個環境,有人監督你學,也有同學跟你一起,比較容易堅持;2.會有專業人士給你方向的指導,遇到問題可以答疑。如果你覺得自己缺乏自制力,然後能找到一個靠譜的機構,又不太在意這個成本,也是可以去的。但僅從內容來說,培訓班的課程並不會比網上的好更多,最終也還是靠你自己的自主學習。
對於已經走上轉行道路的同學,不要再去在意網上的各種言論,請堅定地走下去。考慮那些負面的訊息和情緒對你當下的情況已沒有任何幫助。這個時候我們只有去想每個問題該如何解決,自己還欠缺什麼。如果說環境不好,就業崗位少,就去琢磨那些找到工作的人有什麼優勢,自己如何彌補,而不是抱怨大環境。接受現實,努力適應,是能改善現狀的唯一辦法。
最後轉個在知乎上看到的觀點:很多人在焦慮行業寒冬,《權力的遊戲》裡小指頭說過一句話: 混亂不是深淵,混亂是階梯。

你想,如果別人都因為寒冬而不考慮這行了,不正是你後發超越的機會嗎?在寒冬中堅持學習,等到寒冬過去、行業回暖,機會會是誰的?
說了這麼多,不知道有多少人能認真體會其中的邏輯。可能大多數人還是會想,別廢話這麼多,你就告訴我該選什麼。┑( ̄Д  ̄)┍
沒事,說給有緣人聽。
════
其他文章及回答:
如何自學Python |新手引導 |一圖學Python |智慧防擋彈幕 |紅包提醒 |流浪地球
歡迎搜尋及關注: Crossin的程式設計教室