你想告訴准程序員些什麼?

本人大一新生,信工狗一個。

作為「過來人」你想告訴我些什麼?

因為不怎麼懂知乎,所以請知友幫忙邀請一下這方面的大牛吧。


在寫代碼很牛逼的基礎上,一定要學會撕逼。代碼寫的好不會撕逼當奴隸,撕逼牛逼不會寫代碼會被當成屎踩,你得兩個都會。


PS:本人騰訊雲佈道師,也是一名鵝廠面試官。

近期面了30多位工作2-10年不等的技術骨幹、總監、CTO,對於互聯網或計算機方向的同學們又一點建議,都寫下來了。

1.趁著在校期間,多做完整項目,多寫代碼。哪怕沒有老師給你項目做,你可以自己創造需求也可以編程實現這個項目。

exp:作為鵝廠面試官一員, 我們會更多基於STAR面試法,主通過你的行為看你的編程能力,除了讓你做演算法題外,更重要的是你實際寫過的代碼和項目,效率如何?有沒有考慮過異常處理?實際的訪問性能如何?有沒有開過自己的github項目,或者是給知名項目貢獻過源碼,其次才是你的編碼風格如何,學習成績啥的。

2.產品經理說的不一定都對。

exp:據我的老大(騰訊第一個前端T4)講,鵝廠的產品好,不僅僅是因為產品經理牛,而是包括程序員在內的所有人都會用自己的產品,有產品的思維。對於產品經理提出的不合理的需求,鵝廠的程序員們會基極主動的站出來,就產品功能提出自己的合理化建議。

3.你作為開發你一味的只想用新的技術棧,你考慮過運維同學的感受么?

exp:一台伺服器上裝 3個版本的虛擬機的故事。在某家雲計算公司,技術負責人沒有太過於限制研發人員的積極性,在資料庫層面用了某款較新的開源資料庫軟體,在監控類的系統里有著很好的訪問性能和擴展性。

但是問題來了,在本公司產品的研發周期中,該資料庫進行了幾次版本更新,而且版本與版本之間存在一定兼容性問題,為了要用好該開源資料庫軟體的性能,開發通過創建3台虛擬機的方式提供社區鏡像服務。

4.當你踩過的技術的坑多了,自然你就成為大牛了...

exp:之前我在知乎發了一篇小程序的教程,得到了800多個贊和知乎編輯的推薦,背後是花了3個晚上每晚干到12點,來填小程序的一些坑。

5.學技術要學主流框架,學Node要學Express,學Java就不要忘了SSH,學Ruby首學Rails。

exp:非主流技術比如Action Script,你會也沒人招這個專業的。

6.關注云計算、docker、微服務、Devops、Baas技術

exp:下來這些可能技術或者思想會改變5-10年後的IT業界,比如雲計算會幹掉不少傳統IDC運維,Baas會幹掉不少後端開發。

7.沒有人一定要幫你,要讓你值得別人來幫。

exp:就以常見的填坑為例(修復問題+錯誤調試),你可以自己摸索,也可以找前輩請教,態度好一些,幹活勤快一些,自然多一些機會獲得前輩指教。

8.你幹了什麼,你的老闆知道么?

exp:新任研發總監的故事

我的朋友是一家創業公司的某研發部負責人,他的老闆在上海,他們的研發團隊在成都,老闆大概三個月才來一次成都分公司。朋友和我反映他感覺自己和團隊成員交流完全沒問題,但就是被各種需求壓的喘不過氣,有的時候他都覺得手下的研發太苦,我和他提起,你離你們老闆這麼遠,你做的事他都認可嗎?

他說還真是,這塊老闆似乎多次暗示過,但是他都沒有太關注...所以,做好向上溝通很重要。

9.對於新技術的熱愛不僅可以拿來裝13,而且可以變成創業的優勢

exp:朋友是極客學院的CTO,他們兩個創始人是國內第一批安卓開發者,寫了國內第一本這方面的技術教程,後面圍繞著讀者衍生出了eoeandorid開發者社區,再演變出了當前的在線技術教育項目極客學院,目前已經超過200萬用戶,而且獲得B輪融資。

所以,誰說技術的熱愛不能成為你技術創業過程中的優勢呢?

PS:經常有朋友問我的成長之路,如何跨界轉型和變牛x的,我在公眾號 跨界創新( kuajie123)專門寫了篇文章,回復關鍵字「套路」 查看。


  1. 不要擔心自己沒有計算機基礎,也不要羨慕高中有計算機基礎的同學,其實你們都還是在一個水平線上。
  2. 很多課程不是沒用,不要太抱怨,只是教學的方式沒有辦法引起你的興趣。對於一門課程,選一本經典的教材,認真研讀,並且善於Google,看看國外名校這門課程的教材與講義,並且做做他們的作業。
  3. 數學很重要,也許你只有這一次機會有大把的時間來好好學習數學。
  4. 編程語言不需要會太多,C,C++,Java,Python,彙編遠遠足夠。增長見識可以看看函數式語言,如OCaml,Haskell。學會一門語言,就去用這門語言刷刷題,如HackerRank | Technical Recruiting,About - Project Euler。
  5. 勿好高騖遠。經常去造造輪子,如標準庫,OS,編譯器,網路庫,這個時候都是青春年少容易被誘惑的時候,但是切記不要被周圍所謂華麗的界面與技術迷惑,那些其實都是浮雲。
  6. 找找實習,好好學習後找實習不要太容易,不要擔心周圍的人都很厲害,其實大部分水的讓人難以置信。趁實習可以好好體驗一下工作中編程是如何的,豐富一下自己的經歷。
  7. 和室友處好關係,交一兩個好基友。
  8. 好好談一次戀愛,無論以後你們的結局如何,TA一定會教會你很多,以後記得感謝TA,TA也在用TA最美好的時光和你在一起。
  9. 看看夕陽,聽聽音樂,讀讀文學,全身心的放鬆,去享受一下大學的美好,努力的同時不要太擔心未來,大學生是最美好的職業,大學也是最美麗的時光,這是屬於你的青春,好好珍惜。


發了工資以後不要亂花,錢要用在刀刃上。比如:

買把好點的椅子,不然過兩個月腰就不行了

買個好點的鍵盤,不然出了bug又怪鍵盤

買個好點的滑鼠,不然手腕就廢了

買個好點的床墊,這樣每天睡幾個小時也可以緩解一下腰疼背疼

買個好點的枕頭,不然頸椎也會出毛病

買個大點的水壺,放在桌子上可以隨時提醒自己喝水

大概就是這樣,愛惜身體,才有提升技能多賺錢的精力。


1.不要迷信「大牛」

看到你問題裡面提到「大牛」,就放前面說說:網上的「大牛」多半不靠譜。

其一是真正的大牛沒時間混跡在網上做人生導師,整天出現在你Timeline里的人要麼半吊子水貨,要麼另有所圖。(我黑起人來連自己也不放過)

其二就算是大牛,他的經驗對你未必有用。大牛說我學 Python 也就翻了下基本語法,當天就上項目開幹了。(大神說我覺得沒有順手的語言,就發明了 Python)

當然,不迷信大牛≠不信大牛,平常心看待即可。

2.少說廢話,多寫代碼

廢話有很多種,程序員屆最多的大概就是整理哪個語言/框架/平台/技術好,准程序員則喜歡問,我是不是應該學A/B/C/D……學了是不是有用之類。技術討論並不完全無意義,但在你打好計算機基礎、熟練掌握至少一門語言、開發過一個能看的項目之前,這些討論對你來說就是浪費時間的廢話,沒事看看就行,別去跟風湊熱鬧。

有這時間多寫點代碼,刷刷演算法題,找點項目做做,找不到就從自己日常身邊找點需求去用代碼實現。不要說你覺得沒有什麼可寫的,如果是這樣,那你要反思下自己適不適合編程這條路。

3.做一個程序員,不是碼農

碼農的工作和搬磚沒什麼區別,就是把一些模塊拼到一起,有問題了就東修西補,程序能跑通就不錯,只會用教過的一兩種技術。做個碼農很容易,但程序員是個長期的職業,你在學校學習的是編程的思想、解決問題的邏輯、持續學習的能力。重視基礎課程,深入學習一兩門語言和技術,理解透徹了,以後學習別的新技術自然觸類旁通。而不是今天跟風學這個,明天又聽人說那個好。不要等畢業的時候說出XX技術學校沒教過,所以我不會這種話。你上的是大學,不是技能速成培訓班。

4.短期不要高估自己,長期不要低估自己

絕大多數人都會犯的錯誤就是「短期高估自己,長期低估自己」。除非你天資聰慧,否則別想著大一就搗鼓出什麼牛逼程序來一鳴驚人。學編程的過程會經曆數個瓶頸期,中間你也許會數次感到萬分絕望,甚至開始懷疑人生。

但你要相信,只要堅持寫下去,瓶頸總會突破,成為一個超越平均水準的職業程序員是沒有什麼大問題的。


1。實現一個功能的方案有很多種,不要讓自己停留在原地。

2。敏捷開發流程比你懂多少技術還要重要。

3。編碼規範大於寫代碼的自由度。

4。不要讓自己限制於一門語言,選擇合適的方案去應用在不停的場景。

5。好的程序員是至少0.75個產品經理,永遠記著自己不是寫完代碼在本地運行,而是要交付給用戶使用的。

6。不斷的重構,如果你一次把代碼寫完不用做任何修改,證明你需要學習新的知識了。

7。好的開源框架是最好的老師。

8。保持對行業的敏感度,經常約朋友,同事,UI小妹妹吃飯,你會有驚喜。

9。到了一定高度,你混的就是一個圈子,所以你在這家公司的表現,總會傳到另位一家公司里去,你值多少錢,往往取決於推薦你的人認為你值多少錢。

10。跟獵頭保持良好的關係,跟離職公司的前同事保持良好的關係。

11。演算法,數據結構,計算機組成原理等基礎知識很重要,一致性哈希,垃圾回收演算法一樣很重要。

12。懶是程序員技術發展的第一動力,如果你發現了你總是在做重複的事情,想辦法讓他變成自動化。

13。少熬夜,血壓會高。

14。你不是一天到晚總在寫代碼,所以分配時間很重要。有的時候你需要的就是思考方案,有的時候你需要的就是不斷的測試。

15。提前想好自己三年內的目標,這對你的個人職業發展很重要。

16。大部分公司都處在很low的位置,你在他們那裡學到的未必是對的。

17。忘記全棧的說法,現在技術的分工和深入,已經讓全棧成為一個笑柄。但是如果需要你去做什麼,立刻去做,別猶豫,沒壞處。

18。程序員的一生都是在驗證Bug,解決Bug和寫Bug,所以你需要正確的理解Bug修複流程。

19。有時候找別人完全解決你的問題,哪怕他很厲害。所以大部分時間都是要靠你自己。學會定位錯誤,定位出錯的代碼段。

20。不要靠看視頻去學習怎麼寫代碼,程序員的唯一成長之路就是不斷的寫代碼,不要相信那些所謂的看視頻來入門的人說法。

21。不用著急早點找女朋友,先想辦法在3年內薪水過了2萬,然後這不是個問題。

22。早點找個男朋友,等你薪水過了2萬,你會發現這是一個大問題。

23。大部分程序員都有鑽牛角尖和死腦筋,不愛說話的壞毛病,所以你要改正他,做為一個程序員可以這樣,但是做人不可以這樣。

24。保持謙遜,你總會遇到比你懂的多的人,不必羨慕,做好自己該做的事情。

25。不強迫自己做不喜歡的事情,你是程序員,你不愁找工作,別勉強自己。到了一家公司,儘可能的喜歡上自己寫的程序,喜歡上自己的產品,可以驕傲的四處向別人推薦。

26。提前給自己準備好路,特別是33歲以上的孩子,程序員就算到了35歲以後還能寫代碼,也不是性價比最高的一個。22~26歲才是最有價值的人,35歲以上的,一個公司一兩個就夠了。

27。如果你要轉行到程序員,請記著,你比科班生差,但是不代表你沒有機會。你需要做的,僅僅是暗示自己必須要努力而已。過了這幾年,恐怕你真的連這個機會都沒有了。

28。技術越好,頭髮越少。


不是大牛,但也不是新生了,我就想說一條:

千萬不要覺得大學四年很長!!!其實一晃就過去了!!!

千萬不要覺得大學有四年!!!其實大三就要找工作了!!!

千萬不要老是想著哪個語言好,糾結Windows還是Linux,幻想成為誰誰誰一樣,最重要的是腳踏實地。

為什麼要粗體+感嘆號,因為都是我含淚打出來的。。。

-------------------------

第一次更新

------------------------

被越來越多人點贊了,方

要認真補充幾句話了。

如果還有點追求,大學課程教的東西,我指專業方面,少的可憐。如果你只是上完課,聽了課,完成了作業,完成了考試,而已,那幾乎相當於沒學。因為有可能你一個寒暑假能忘掉你學的東西。以我們為例,大一第一學期c語言,第二學期數據結構,現在大二第一學期java,而有多少個人還記得c怎麼寫?還記得怎麼層次遍歷二叉樹?還記得圖最短路?這很基礎但能有一半以上人不能在紙上完整寫出你信?當然,我說這個的意思不是指,你要記住c語言怎麼寫,記住這些數據結構怎麼實現,而是,對於我們的專業,如果你還熱愛這個專業,如果你還想學好編程,那麼請保持練習。當你踩過的坑多了,思考過的坑多了,你才能不斷進步,慢慢朝著專業的方向前進。對於編程,沒有捷徑,無他,唯手熟爾。對於怎麼練習,可以去看其他的問題和回答。

知道准程序員,或者說初學者,最容易問的或者說最經常想的問題是什麼嗎?是那些聽起來很酷但實際離他們很遠的東西。比如:怎麼做一個遊戲?怎麼做一個(類似QQ)的軟體?xxxx要怎麼實現?等等等等。確實每個人都想做出一個像樣的東西來,但在你沒學會走之前,不要跑。你可以把做這樣一個大型的東西當做一個目標,但他不是你現在該去做的事,否則你也不會看這個回答。你目前該關注的是什麼?是離你最近,但比你現在所知道的要高出那麼一點點的東西。每個階段,你都可以盡自己所學的,做一個你認為最好的、最難的,但是經過時間思考和努力能做出來的東西。

比如,你剛學編程,你可以做一個控制台版的掃雷,學完基本語法了,做一個貪吃蛇,去查WIN API怎麼用,又學了一段時間,做升級版貪吃蛇,加入了數個COM蛇。不要對此嗤之以鼻,對於初學者來說,這很酷不是么?當你熟悉了語法之後,還在做課後幾分鐘、幾小時的題有意義么?慢慢開始做幾天、幾周、幾個月才能做出來的東西。別怕,任何大型的東西,也是由小的區塊組成的。你不開始的時候,覺得它永遠都難,你開始之後,就會專註在目前所做的部分。畢竟,有的東西,你只有做到一定規模,你才會接觸到坑在哪。不必擔心你那遠大的目標,不用糾結怎麼才能知道那麼多東西,你只要堅持以上所說,慢慢的你會在適當的時候,接觸到你想知道的。

以上。個人體會,如有不到之處還請諒解。


去年陸陸續續回答了幾十個關於程序員生活、工作、學習規劃相關方面的一些問題,整理了一些自己覺得好的回答,獲得贊多的不一定是道理,贊少的不一定不真實精彩...總之8年生程序員血淚總結 算是一個整體可供參考的信息 ~希望有幫助

怎麼學技術

  • 非計算機專業學生怎麼走上計算機技術之路?【薦】
  • 感覺技術提高很慢,怎麼安撫浮躁的情緒?

書籍推薦

  • 有哪些你看了以後大呼過癮的編程書?

求職注意

  • 2016 年 Android 開發市場真的飽和了嗎?【薦】
  • 我是一名軟工的學生,學校提供java,.net,開源三個方向供選擇,請問各方向有何優勢,該如何權衡?
  • 我用個假簡歷去面試android的結果為什麼會這樣?

工作中的自我保護

  • 程序員怎樣避免高強度的工作?【薦】
  • 老闆不懂技術,程序員該怎麼跟她溝通? 【薦】
  • 「只差程序員」為什麼會招黑? (主旨同上)
  • 嘲笑「只差一個程序員了」這句話的人,有哪些需要提高的地方? (主旨同上)

對於BUG

  • 程序猿如何快速高效的改 bug?改bug都有哪些技巧?【薦】
  • 在出現事故之前悄悄排除了一個重大BUG,是怎樣的一種體驗? (血淚)

程序員轉型

  • 技術人員如何轉型做項目經理? 【薦】
  • 老程序員最後都去哪兒了?
  • 怎麼樣才能找到一個靠譜的技術合伙人?

自我調整

  • 程序員到底有多累、多辛苦? 【薦】
  • 迷惘的30多歲的程序員如何考慮自己的未來?【薦】

把妹~修邊幅

  • 當一個顏值很高的程序員是怎樣一番體驗?
  • 如何勾搭程序猿?

自由工作私活賺錢

  • 作為獨立開發者,有哪些可以分享的經驗?
  • 中國有哪些純遠程協作的項目?
  • 哪裡能找到靠譜的網站技術外包?
  • 程序員在哪能接到私單?【薦】

獵奇

  • 有哪些令人拍案叫絕的代碼/優化?
  • 知乎上有哪些優秀的90後程序員?

我的個人微信號 lawofworld 準備寫【薦】

PS:以上都是厚顏推薦 &>_

~


  1. 不要自稱「 xx 狗」,尊重自己
  2. 不要為了談戀愛而談戀愛,不要相信「程序員找不到女朋友」
  3. 除了計算機知識,也要學好英語 + 數學
  4. 基礎學紮實,不要追求熱門
  5. 不要迷戀語言,不要陷入語言的戰爭
  6. 多寫有質量的代碼


從業十四年,大公司干過也創過業,有資格作為「過來人」說幾句吧。

我見得最多的「准程序員」就是實習生,面對每一個實習生,技術上的指導我自然盡自己所為,但是任何一個專業的工程師都會這麼做,我要說的是,我對每一個實習生都會多兩條人生建議:

  1. 早點買房
  2. 不要讀研(如果是本科生的話)

至今為止,沒有一個人聽我的,當然,幾年後再和他們或者她們聊起來,都後悔了

說這事想說明的是:其實准程序員往往也聽不進去前輩的話:-)

但還是忍不住和准程序員們說幾句啊,我知道你們喜歡最直接的指導,所以1、2、3這麼列下來。

  1. 實踐是最好的老師。程序員這行就是實踐的行當,做什麼事情都看實踐,show me the code,少BB。
  2. 你自己的價值,不在於你技術多牛,而在於你給組織帶來多大價值。你技術上好厲害,但是你的技術不能給公司帶來什麼價值,那你就沒有價值;相反,即使你技術上還不成熟,但是你做的事能夠給公司產品帶來價值,你就很有價值。
  3. 不要著急成為大牛。有的事情就是要積累幾年才會懂,不要急,即使現在別人當你什麼都不是也無所謂,要堅持你的理想,你努力幾年遲早會成為受尊敬的大牛。

最後,還要多說一句:做一個專業的人

你為啥選擇這個職業呢?肯定有你的理由,不管你本來的理由是什麼,這條路要走得正,走得直,就要做一個專業的人

也許你現在還不懂我在說什麼,就請記得,當你將來想要胡亂給一個變數起名的時候,當你將來說「這功能在我的機器上是好使」的時候,當你發現自己聽不明白你說什麼的時候……就想想 @程墨Morgan 告訴過你,做一個專業的人

——更新分割線——

剛發表就有很多朋友問為啥說「不要考研」,雖然我不想再多說,但是為了省一點評論區口舌,我就把以前的答案鏈接貼上吧:

程墨Morgan:怎麼評價張雪峰在《演說家》的演講以及那句「所以你不是世界企業500強!」?

程墨Morgan:考研有什麼好處,在目前情況下,對人生的改變大嗎?

我先說好了啊,我所給的建議,就是我看到的實習生的狀況給的真誠建議,絕無私心,勸人不要考研對我有啥子好處,不就是想讓學弟學妹們少走一些彎路嘛。如果讀者你覺得考研是有必要的,我完全尊重你的選擇。


學好英語,否則將來當碼農也走不太遠。我可以這麼說,編程能力是英文能力的一種子技能。


不要認為自己學的語言是「世界上最好的語言」。

不同語言很大程度上是相似的,多學幾種語言的時間成本很低,卻可以讓自己的就業機會和眼界成倍的增長。


作為 程序員客棧-程序員的經紀人|網站建設APP開發製作遠程技術中心 的產品,信念是【技術驅動產品,產品改變世界】,因此也在學習開發的路上努力前行。

完全是開發菜鳥,希望菜鳥的經驗對你而言有參考價值:

1: 學習方面,善用Google 和 Coursera | Online Courses From Top Universities. Join for Free

2: 眼界和社交方面,善用Github: Build software better, together , 不時看看 Trending: Build software better, together, Follow值得follow的大牛和項目 GitHub 上有哪些優秀的項目?,積极參与你感興趣的項目的使用,反饋,甚至優化。

3: 開發練習:不斷給自己提一些小任務,然後試一個 100天連擊,看看自己的代碼能力能夠變得怎樣。相信我,當你看到你的contribution record變成這樣的時候,你會很自豪的~

(github某大牛個人頁面截圖)

我也正在努力當中:P

4: 有問題,可以先百度或者用 SegmentFault,比較難的專業的,建議直接 Stack Overflow - Where Developers Learn, Share, amp;amp;amp;amp;amp; Build Careers. 某次去找一個問題的原因,被Stack Overflow 上的大牛真心折服,解釋得非常詳細,甚至把內在原理都非常認真地解釋了一遍,看完之後有種融會貫通的通透感。

截圖你體驗一下:

(StackOverflow某回答截圖)

5: 從小項目起步,逐步建立自己的影響力:最近看到的好例子,是pyecharts 的作者 @chenjiandongx,做了一個大家都喜歡的項目chenjiandongx/pyecharts,因此得到了很多人的認可。

6: 要打造好的身體:經常鍛煉,健身,做一個健康且體脂率低(男性&<25%,女性&<28%),肌肉含量高的程序員,不僅是一件很酷的事情,還能夠降低你得各種職業病的幾率,讓你在意中人面前能夠神采奕奕,身姿矯健。

7: 最好有幾個開發之外的,能夠與人多交流的愛好: 比如籃球,足球,羽毛球,乒乓球,或者攝影,或者音樂。

8: 學習溝通,提升情商。因為工作原因,認識了很多開發者。發現優秀的開發者不僅開發能力牛,情商也很高,大家也都更願意和他們合作,完成一個優秀的產品。因此,不要以「我是開發」為理由而拒絕溝通,拒絕提升情商。這兩點是獲得更高成就的關鍵。

-----------------------------------------------------

補充一下, @vczh 的回答目前排在第一,但我覺得這句話容易被誤解 - 「代碼寫得好不會撕逼當奴隸」。

撕逼是門藝術,還是應該以完成項目為目標,而不是簡單地爭個你贏我輸。

我覺得最好的方式,是在保護好自己的前提下,推動合作前進。有時候吃點虧,給別人點台階可下,大概率別人是會念你的好在心裡的。

這次看起來你撕輸了,但是贏得了人心,以後很多次別人也都會更願意幫助你支持你。


1.恭喜你進入了一個充滿機遇與挑戰的行業,首先是要保持萬分的熱情,對待你選擇的行業,你需要知道:你選擇的這個行業會有數不勝數的代碼要碼、有千奇百怪的bug要調試、有日新月異的技術要學習...這個行業沒有那麼輕鬆,唯有充滿興趣、持之以恆才能走得更遠。

2.好好上專業課,一些公共課其實並不重要,只要你可以順利通過考試就可以了,但是專業課一定要好好上,大學裡會涉及到一些計算機基礎知識、數據結構、操作系統、離散數學等課程,這些課程都是為日後的進一步深入學習打基礎的課程,其重要性可想而知。另外,如果有實力和決心的話,可以追求一下高GPA,會為日後的升學、求職、留學等帶來很多便利。

3.參加一些社團活動和學生組織。大一大二的時候可以參加一些社團活動和學生組織,一來可以豐富自己的課餘生活,二來可以鍛煉自己的綜合能力,三來可以建立起一定的人脈。

4.學好英語。很多程序員的英語水平都僅局限於四級、六級低分飄過的水平,雖然最後他們都能找到工作,但是也會遇到一些問題,比如想要讀一篇英文的tutorial的時候會看不懂、做一道英文演算法題的時候會十分費勁。如果你最後想往歐美方向發展,英語會變得尤為重要。

5.做一些項目。大學裡會有很多空閑的時間,這些時間不要都用來打遊戲了,好好利用起來,做一些項目,從頭到尾參與到這個項目里。可以是個人的小項目,比如做一個簡單的小遊戲,也可以是集體項目,比如開發一個網站。這些項目最後可以寫進你的簡歷里,可以成為你的閃光點。

6.建立一個技術博客。如果可以的話,建議你建立一個屬於自己的技術博客,在博客里記錄自己的技術探索之路。這個聽起來好像挺難的,其實當你真正開始做的時候,你會發現也就那麼一回事兒。你的技術博客之後可以成為你的另一張名片,導師、HR、老闆、客戶等都可以通過你的博客了解到你的技術水平。

7.重視演算法和數據結構。雖然在日後工作中,演算法和數據結構的內容不會涉及到很多,但是在求職過程中,演算法和數據結構知識的掌握程度完全可以決定你是否可以拿到offer。就拿《Facebook、Google、Amazon、LinkedIn面試真題》來說吧,在程序員面試中,70%的題目是與演算法和數據結構有關的。所以,一定要多多做題,建議把LintCode上70%的題目都做一遍,做到60%的bug free,努力提高自己的代碼量。

8.精通一門語言。很多人都會問Java、C、C#、C++、Python...那麼多語言,我應該學哪個?其實完全不必要糾結,先去掌握精通一門語言,再去學習其他語言。各種語言之間都是存在著一些共性的,當你精通了一門 語言之後,學習其他語言會變得容易很多。

9.實習。大三下和大四上的時間可以選擇實習,如果有能力的話,可以去2-3家不同的公司進行實習。實習公司最好還是去大公司,大公司有比較規範的實習體系,可以學習到比較多的知識,如果你想要實習轉正的話也會比較容易。

10.保持初心。不要在乎別人怎麼說、不要被外面花花綠綠的世界所迷惑、不要看到身邊人的安逸生活羨慕不已,在選擇了這個專業的時候,就要堅定自己的信念,我想要成為一個怎樣的人、從事一個怎樣的職業、達到一個怎樣的高度,並且不斷進步。

11.保重身體。這條請看:程序員應該如何注意身體健康?可能患哪些職業病?如何防治?。身體是革命的本錢,一定不要在年輕的時候作踐自己,堅持鍛煉、合理飲食、規律作息,做一個健康快樂的大好青年2

11.女朋友?其實不需要太過在意,一切隨緣,喜歡了就去追,追上了就好好處。要知道,大齡單身男程序員所佔比例並不是很多,完全不用擔心找不到女朋友。

歡迎關注我的微信公眾號:九章演算法(ninechapter ),帶你了解IT前沿技術,幫你通過面試,拿到offer,找到好工作!


不要等到快畢業才想起找工作

大一就可以開始準備了,如果不知企業需要什麼人才,可以去招聘網站、各大互聯網公司的招聘主頁看職位要求,很多優秀的公司都提供實習崗位。儘早去接觸社區有利於在學校有目的性的學習

學校里教的課程你認為沒用是因為你找不到應用場景,實習的目的之一也是幫助你把學校學的專業知識運用到實際工作中去,能把計算機基礎知識比如:計算機的構造、數據結構與演算法、計算機網路、資料庫原理、一門編程語言學好了,去各種大公司都沒問題


我是一個即將大二的學生,踉踉蹌蹌恰好也是學了一年的c語言,給你一點自己的算是經驗總結吧

1.就像最高票的回答一樣,講的很對,的確真的不用擔心說自己沒有什麼計算機的基礎什麼的,因為我就是這樣的人,在進大學之前,也就懂得26個字母,會上上網,關於什麼電腦系統,專業術語啊,什麼的都是一概不知,全程懵逼,可上了一年的學之後,我可以保證的和你說,入學時大家的水平都是半斤抵八兩的(除了真的會有幾個也許早就自學過的同學的之外 但大可不必擔心 這樣的人肯定不會多),所以不必擔心自卑什麼的

2.我覺得真正重要的是興趣還有堅持,兩者都是很重要的,有了興趣你才會樂意去學,而有了堅持,你的水平才會真的有所提高,我這裡講的堅持,一是學習的過程的堅持,像我一樣,開始的時候,寫c語言的速度總是趕不上別人,而這時候你就千萬彆氣餒或是放棄,要不,像我的老師常會說的一句話:轉專業吧,不會,寫的慢,你也要堅持去學,二是課外時間的堅持,要想學點稍微有所出眾,課外的時間,肯定要自己堅持,多練,一個代碼,多寫幾遍,肯定會有不一樣的體會,同時也會讓你更熟練,

3.好好的利用c語言的調試功能, 現在說什麼是調試,應該還聽不明白,這個你上了學,老師自然會教,我只想強調,在你以後的寫東西的過程之中,一定要好好利用調試,監視等等c free的功能,自己會調試,會有很不一樣的了解,很多不明白的地方,經過調試,很多都會豁然開朗

4.學習新的代碼知識時,不懂就百度找網上的源代碼,其實這就像是自己找規律總結一樣,看別人的代碼,因為這代碼之中有你將學到的知識,所以將知識放到一個具體的代碼之中時,這樣會更具體,我覺得理解上會更容易,長進更快,其實有好多的厲害的人的博客就是一個很好的講義一樣,講的很詳細,可以學到好多,你可多多關注

5.請樂於幫別人找代碼的錯誤,以及樂於幫助不會寫代碼的同學,現在同學之間的一些代碼出錯的問題都會問我,而有些寫代碼比較好的人則會不耐煩,所以很多人都會找我問,其實這是一個很好的學習鞏固的過程,特別是最開是學代碼的階段,然後還有在找錯的時候,其實這些錯誤你也許犯過或是即將會犯,通過這樣錯誤就可以適當的避免了,

6.在你初學的幾堂課之中,你會懵逼,適當接受,別鑽牛角尖,好比我,最開始,老師用#include「stdio.h」說這是頭文件,我他媽知道什麼是頭文件(手動懵逼之蜜汁微笑),所以有好些都是先記牢,真的是不知所以然也,後序其實有好多東西都是知道個一層膜,但其實沒事的,後序學多了,就會有自己的了解,明白些許的,課後可以百d度多自己了解

7.好多人提到戀愛,其實誰說程序員就注孤身的,寫代碼的人也有浪漫的一面,也有悶騷的一角,也會追女生啊,所以這個方面,自己掂量,好就行,不好就不行,direct and concise,不用刻意強求,會遇到的總會遇到的

8.嚴重推薦鍛煉,想當年,高三的時候,一個星期只有一節體育課,當體育課來臨時,真實拿到男神李健的簽名一樣蹦蹦跳,不管下雨不下雨,就是要他媽上,誰擋我打球誰放學後別走,可是到了大學,看著大把的空閑時間,那份熱情卻不見了,人真的變懶了,所以真希望能有堅持鍛煉的決心,最重要的對眼睛好!!

9,打遊戲可以,別打的像一個謎一樣的男子就行 ,沉溺其中 適當和室友來一局,可以提高腎上腺素,提高激情度,增加免疫,百毒不侵,別耽擱學習就好

10.英語,這是大頭,學好它,不單單為了4,6級,對你肯定有好處,請多堅持背單詞

我才學一年,過多的也沒啥好說的額,,,,


我送你的和幾年前我送校招的小朋友一樣的話

不要妄自尊大,不要妄自菲薄


之前在知乎開過兩次針對剛入行的同學的live:

  • 一些學校很少會教你的軟體開發常識
  • 程序員的常見陋習

有興趣可以聽下,也可以看下我在專欄發的PPT,或者私信找我要課件,留下你的郵箱即可。


如果可以的話,要找一份不強制加班的工作。。。

比如我們公司

也會有加班的


研究生去美國讀,這樣你就可以相對輕鬆地進那些在國內的程序員想都不敢想的公司。


推薦閱讀:

如何改變自己得過且過的現狀?
申請助學金和買非必需的電子產品矛盾嗎?
同宿舍一個人總是學我買東西,我就特別反感,我是不是有心理疾病了?
追一個女生很久,凡事都優先考慮她,一切以她的喜好為標準,結果越來越被討厭,為什麼?
飛行器專業和基礎醫學哪一個好?

TAG:程序員 | 大學 | 人生體會 | 碼農新人 |