偶爾的,我會被人問道:如何成爲一名優秀的程序員,更或者,如何成爲一名程序員。每次人們問起,我都力圖給出不一樣的答案。所以,個人答案是各類各樣的。下面就是我認爲的成爲一名優秀的程序員須要作的一些事情。記住,想成爲一名程序員,不少條路可走,這裏列出的只是個人方法。程序員
從外面獲取答案和本身解決問題、找到答案,這兩種方式是有區別的。當你本身解決一個問題時,你不只解決了這一個問題,也意味着解決了跟它相似的數百萬問題。這是一個先投資後收穫的過程。有時,你可能須要花2到3天的時間解決一個問題,這沒什麼;這是你的前期投資。編程
我說的小程序,是指100行左右的。目前爲止,《Java程序設計教程實驗手冊(Deitel and Deitel)》這本書是我見過的最好的編程書。從第一章到第十章,裏面的全部習題都作一遍。當你作完了這些,你就對編程有了至關的掌握了。小程序
找一個你喜歡的網站或遊戲,把它仿造出來。在你真正的想作一件項目前,先作完這個。這個能促使你學到前沿的編程技術,並且能讓你更容易的被招聘公司選中。作3-5個這樣的仿製項目後,你就能實現任意的你想要的東西了。測試
每次項目都努力使用一些聽到過但從未使用過的新東西。沒有使用過Jquery,那下次項目中就使用它;沒有試過測試驅動開發,下次項目就是你的實驗品;你明白個人用意,對嗎?網站
若是有人請求你爲他作些什麼東西,記得要說「行」——若是你歷來沒有給別人作過什麼東西的話。我知道你可能會想,我本身還有無數的東西要作呢,但從經驗來看,除了把主要時間花在本身有利可圖的項目上外,你也應該花一些時間作一些慈善項目。這樣作你會獲得人們的承認,人們會想着你,若是有機會的會話,他們就會引薦你。spa
這是另一個得到引薦機會的方法。總有機會,你的程序員朋友的盤子裝滿了,他們須要有人把多餘的商業機會接下來。這時他們須要你出現。一樣,當你的盤子裝不下時,你也須要有人幫你把活接走。設計
廣聞博識,同時要至少精通其中一項。編程世界很大,沒有人能掌握全部東西,因此,要有一個專長。例如,成爲一個本地應用或金融軟件方面的專家。教程
雖然作到這些很難,成長是痛苦的,每一次蛻變都會有撕心裂肺的劇痛,但咱們要學會享受痛苦,學會去擁抱失敗。不要懼怕那些未知的東西,要學會主動接觸那些新奇的事物。不管過去如何,只要有心,就能成功,我推薦一個羣710520381,邀請碼:柳貓,這裏都是但願可以成長的程序員或者未來的程序員,歡迎你們加入討論。遊戲