轉行做程序員,應該知道這些

轉行做程序員,應該知道這些

很多同學就私信/QQ問我類似問題,問多了答多了,其實問題就那麼幾個,翻來覆去的回答好像太無聊了點。所以總結並自問自答如下:

1、該不該轉行?

我自己都迷茫著呢!所以只能給個很不靠譜的答案:當你實在實在無法選擇的時候,希望這段話能幫到你!·一起幫

2、IT是個挺大的範疇,究竟是怎麼分類的?

Good Question. 能問這個說明還真是用了點心思,做了點功課的。我大致的非常粗糙的回答一下:

首先,IT分硬件和軟件。硬件就是看得見摸得著的這些東西,一般都是工廠生產出來的,比如電腦、路由器、打印機之類的,估計絕大部分同學所說的IT不是這個東西。同學們一般說的IT,其實是指的軟件開發,也就是寫程序/代碼、編程、做程序員。

然後,軟件開發又分了兩類(我自己分的,不嚴謹,大家只要領會其精神就可以了):

  • 計算機基礎科學:是具有科學研究性質的、底層的、不是解決某個具體需求。按說學了就應該是人工智能,開發芯片、操作系統,發明計算機語言之類。(聽著就高大上,是吧?一般人幹不了)軟件工程:利用已有的語言、框架等開發面向最終用戶的軟件系統,比如開發一個網站、做一個APP之類的。(目前我們絕大多數人乾的就是這事)

最後,我為什麼要這麼分類呢?和下面的問題有關。

3、我“數學/邏輯思維能力”不行,能學好軟件開發技術麼?

我只能說:按上面的分類,軟件工程不需要很深奧的數學知識。基本上有初中數學基礎就夠用了。

但是,無論如何,還是需要一定的邏輯思維能力的。通俗的講,要思路清晰。軟件工程裡還是有比較複雜的邏輯的。因為裡面經常會有:如果……就……;第一個“如果”裡,又可能分三種情況;三種情況中又可能細分……

4、軟件工程裡又有哪些分類?

大致來說,有:

  • 需求分析(產品經理):產品經理是個新名稱,我不太肯定這是個什麼職位,估計和需求分析差不多。就是需要把這個產品/項目究竟怎麼做弄清楚弄明白。因為一開始的時候,我們腦海裡只有一個大致的想法,需要一步步的具體化,形成很明確的需求,才能開始開發(編程)工作的。
  • 開發:沒啥好說的,直接寫代碼,實現各種功能唄。
  • 測試:一般來說,自己是很難發現自己代碼的問題的。所以,由專門的測試人員對開發人員的代碼進行測試,是保證軟件質量的一個重要步驟。支持:軟件交付使用了,可能還是經常出問題的。我們經常看到的就是網頁打不開了、電腦死機了之類的。這些問題,都需要及時的解決。通常這就是支持人員的工作了:用各種辦法(比如重啟系統,呵呵。但不包括改代碼),迅速的恢復系統。

5、邏輯能力不行,有哪些選擇?

確實有一些女孩子,碰到一些複雜的邏輯就開始發暈。但你們還是有希望的,上面四種分類,除了開發,你都可以試試。而且這些都挺適合女孩子的,細心周到才是重點。

6、(程序)開發裡面又有哪些細分?

這個分類的方法就太多了。我按所需要的特長技能,大致分類如下(以下“專業”特指計算機基礎和原理):

  • 專業性極強的。比如人臉識別技術、工業機器人程控技術、所謂的“單片機”開發……反正一般人的腦袋憑常識是想不明白的。需要一定的專業能力,但同時也需要其他的一些能力。比如做個網站、或者一個普通的APP,以淘寶為例:對數據進行錄入統計(發佈並顯示一個商品信息,對多個商品按一定規則排序),進行的是一些簡單的加減乘除運算(統計購物車總價,或者打個折扣之類的)。這是我所從事的領域,稍後將詳細講解。不怎麼需要專業能力的,更多的需要其他能力。典型的就是美工,人家也是開發人員啊!做個效果圖,然後把效果圖弄成html頁面。幹這活,最需要的就是美感強用戶感強,做出來的界面才好看好用。或者項目經理,對外和客戶“勾兌”,把需求弄清楚,把項目給驗收合格;對內把進度理順,保證按期交付。

接下來就主要針對上述第二種展開討論。

7、除了專業能力,我還需要哪些能力?

  • 自學能力。這個大家都應該能夠理解,軟件開發這個行當,各種新技術新工具層出不窮,什麼都想要學校“教”,肯定是不行的。
  • 英語。至少在很長一段時間吧,程序都還是得用英語寫,最前沿的技術都是用英語發佈交流。所以,你要是不會英語,只能等著國內有翻譯才能跟上,始終是慢人一步差人一步。但好消息是,入門階段英語不是必須的。“整潔清晰”的能力。我以前以為這只是一個“意識”的問題。後來我發現一些同學,無論怎樣要求,他們寫的代碼我就是看不懂理不清,但確實是“對”的——感覺他們的大腦更接近於電腦而不是人腦一樣?我覺得是有這麼一批人,你可以觀察,那些做數學題不寫解題過程的同學,大概就是了:他瞬間就能知道答案,但讓他說清楚這個過程,他卻很痛苦。這種同學,邏輯能力是非常強的,適合於做上面第一種,或者乾脆是計算機基礎性研究;但確實不適合於做軟件工程:一是浪費了天賦,二是代碼是寫給人看的,別人看不懂沒法和你合作啊!

8、我要不要考研?

這個怎麼說呢?多一個研究生的學歷肯定不是壞事,但要花上三年的時間和學費,國內的研究生教學質量,包括還要花時間學政治之類的,呵呵……自己權衡吧。

我只能說:只要有本事,沒人在乎你的學歷;沒本事,再高的學歷也吃不開(除非在高校或者政府機關)。

9、我是該自學還是參加培訓班?

第一、看你的時間緊不緊。

  • 如果你急著找工作,當然參加培訓要學得快一些,可以少走一些“彎路”。但這就和喂飼料的“速成雞”一樣(看我這比喻用的),根基其實並不紮實。如果你還在大一大二,有一大堆的時間可以揮霍,當然可以慢慢的專研琢磨,這個不斷碰壁的過程其實也是一種能力的鍛鍊。

第二、看你的學習能力強不強。

最簡單的測試,整一本入門教材,跟著學跟著做,能不能最後弄出個東西來?比如一個小網站,一個小APP。能行,你就有這個能力;不行,兩眼一抹黑,連怎麼配環境都搞不定,那你還是花點錢交學費吧。

++++++++++++++

確定要上培訓班的同學,飛哥終於決定開辦一個線下培訓班了

“一起幫·程序員客棧”籌辦思路·一起幫​

17bang.ren

轉行做程序員,應該知道這些

簡單的特色總結:

  • 線上:全程直播,免費收看線下:拎包入住,按周計費

歡迎捧場!來兩張圖片秀一下,嘿嘿:

轉行做程序員,應該知道這些

轉行做程序員,應該知道這些

更多圖片加Q群(729600626)

更多圖片加Q群(729600626)

更多圖片加Q群(729600626)

更多圖片加Q群(729600626)

更多圖片加Q群(729600626)

++++++++++++++

10、我自學的話,從哪裡開始入手?

我是不主張從二進制、或者什麼算法數據結構之類入手的,而是應該從“實踐”直接開始。我一直強調:軟件工程是一門實踐科學。編程語言,我們稱其為“語言”,語言就是拿來說拿來用的,有輸入有輸出,才能不斷的形成反饋和激勵,越走越遠。

我們現在的大學課程設置得很有問題。

我一個侄女,學的是計算機專業,現在大三了,估計他們班上沒幾個最後能學出來。當然他們學校也不好,但同樣不好的生源,進培訓機構,兩年過後大部分人都能上手工作啊?

一個很重要的問題,就是大學的課程設置太呆板太落伍太反人性了。我侄女大一的時候,還是很認真學習的,一打電話就是在圖書館。我問她你在學什麼?

“C語言。”

“哦?現在圖書館都有計算機了?”

“沒有啊!”

“那你怎麼學C語言?”

“看書啊!”

“怎麼看?”我奇了怪了。

原來她每天就捧著一本C語言的書在圖書館,一本書上畫滿了橫線、波浪線、三角形圓形,然後就開始打瞌睡……

學了一學期的C語言,獨立的打一個三角形都打不出來。

碼這麼多字,就是特別強調:編程不是這樣學的!特別是一些女生,切記切記!!!

其他的參考:如何自學成為程序猿?

11、如何找到第一份工作?

學到一定的時候,肯定是要找工作的。我個人覺得,越早找到工作越好,畢竟在工作中學,要比自己摸索快得多。

很多同學心裡害怕:我沒有文憑沒有學歷……

其實呢,這只是你自以為。通常只有很好很好的單位,才會有意識的招一些很有名氣的大學應屆畢業生。一般的大學畢業文憑,沒什麼用的,作用基本上等同於你的身份證。

為什麼很多同學都怕呢?可能主要還是心虛招聘啟事上第一條就寫著的要求:計算機專業本科以上學歷。這都是HR按慣例整上去的東西,就像入團/黨要寫的那些……一樣。

我投簡歷的時候根本不看這些東西!有這個時間我還不如多投幾份簡歷呢。

當然,第一份工作肯定比較難。但心態要好:這是你轉行的代價啊!就準備好三個月六個月,一直投簡歷,一直面下去,每次面了回來就總結,遲早修煉成“麵霸”,這個過程一樣有助於能力的提高。

萬事開頭難,第一份工作可以“將就”一點。自己憋足氣,不斷提高,第二份工作就可以“囂張”了——那時候,人家看的就是你的工作經驗了。

這裡有一個小問題:需要“偽造”學歷麼?

首先,我覺得沒必要。

當然你實在覺得沒有學歷這個“敲門磚”連面試機會都沒有,在投簡歷的時候偽造一下也可以,因為HR不懂這些。但面試結束(最好是開始)的時候一定要如實的向面試你的技術負責人說明情況。一般的技術人員都能夠理解,他不理解就不理解了——此處不留爺自有留爺處!

12、真實的程序猿/攻城獅/IT民工生活是怎樣的?

首先,這些都是“自黑”。就像“人民公僕”一樣——好像我哪裡說錯了?

其次,任何一個行業,都有很多討厭自己本職工作的人。哦,你自己都已經要轉行了,想來我也不用多說了。

然後,這肯定是一個“朝陽行業”。伴隨著“萬眾創業”的口號,程序員的身價這幾年猛漲。你看,到處都是“只差一個程序員”了。當然,三十年河東三十年河西,小心泡沫吹破了。

最後,這個行業還是有幾點“不好”的地方:

  • 沒辦法投機取巧。行就行,不行就不行!“我爸是李剛”也不管用。知識更新快,需要不斷學習。工作肯定會有積累,但不能一直吃老本。對著電腦的時間遠遠大於對著人的時間。會被人家認為古怪或者“宅”。會被親戚朋友經常叫去裝機修電腦。

13、以後的發展方向?

這個問題經常被問,但確實很難回答。可能和這個問題交相輝映的,就是:迷惘的30多歲的程序員如何考慮自己的未來?

其實我覺得呢,與其不斷憑空焦慮,不如踏踏實實的靜下心來做事。

焦慮什麼呢?這其實是我最近才想明白的一個道理,還是怕走彎路:我學了這個有沒有用,我選的那個究竟有沒有前途……

但真的有捷徑麼?那些真的都是彎路嗎?難說得很。

不說看路邊的風景,就說最後的結果。人這一輩子,真的得講究積累。很多時候,成功只是水到渠成的結果而已。

++++++++++++++

意猶未盡的,可以看看飛哥正在更新的:

從包工頭到程序猿·一起幫​

17bang.ren

網站一起幫是飛哥自己一個人做出來的,目前還有點醜,O(∩_∩)O哈哈~

做網站的目的是因為很多同學在自學的過程中,遇到的一些“奇怪的”“獨特的”“就我電腦上才有的”“網上找不到幫助信息的”……問題,創辦了網站:

希望通過“一對一”的遠程協助模式,老人帶新人,大家一起幫,直接了當的解決這些稀奇古怪的問題。點擊這個鏈接直接註冊,或者填寫:

邀請人:葉飛

邀請碼:1786

++++++++++++++++++++

轉行做程序員,應該知道這些

最後很煞風景的加個推廣:

飛哥辦了一個IT培訓班,http://ASP.NET全棧開發,線上全程直播,可以免費收看;線下拎包入住。如果你有興趣瞭解一下,可以加QQ群:729600626(一起幫·源棧·有意向)


分享到:


相關文章: