A. 作為一個兩年的程序員,很迷茫,應該怎麼辦
鹽商總會經歷一段時間的迷茫,不知所措。
其實作為程序員做了兩年,那麼一定是技術很不錯的,也適應了這種生活和工作,就這個階段就需要在進一步的努力突破,現在的技術水平有新的提升,像我那個時候做程序員也有迷茫的時候,後來我又報了一個專業班,進行全方位的進行和學習,從而突破了自己,那麼就從這種迷茫期慢慢的走出來。
B. 如何才能修煉成一名不可替代的程序員,避免裁員危機
程序員,就是從事程序開發、程序設計、程序維護的專業人士。
作為一種專業性極強的技術性專業,程序員的工作難度非常高,只有專業技能水平高超的人才能在這個領域獲得良好的發展前景。……那些實力不足的人,只能被最終淘汰。
因此,要想在程序員這一行里成為不可替代的人,避免自己被淘汰出局的情況,就必須具備以下幾方面能力:
1,高人一籌的專業技能。
在職場上,要想確保自身生存,就必須具備一項專業技能。……要想確保自己不被淘汰,就必須具備高人一籌的專業技能水平。
因此,要想讓自己成為不可替代的程序員,要想讓自己避免被淘汰的情況,就必須確保自己的專業技能水平高人一籌。
2,強大的羅輯思維能力。
程序,是一個邏輯性極強的系統。
一個程序的各個部分之間、各項功能之間,都存在著極強的關聯,也擁有著非常強的邏輯關系。
因此,要想編寫出性能優異的程序,就必須擁有極強的邏輯思維能力。……這是確保自己擁有更強實力、確保自己不被淘汰的重要能力。
3,高超的數學水平。
程序的表象,是一段代碼。而其核心,則是數學模型,是具體的演算法。……只有具備高超的數學水平,才有能力編寫出演算法精妙、邏輯嚴謹的程序來。……這是自己具備更高水準的關鍵因素。也是自己高人一籌,不可替代的關鍵因素。
4,精通至少一門編程語言。
編程語言是程序員在編程時所用的工具。……只有熟練掌握手中的工具,才能讓自己編寫出優秀的軟體。……編程語言有很多種,一個程序員不可能面面俱到。……但是一個合格的程序員必須掌握至少一門編程語言,這就是自己工作時最得力的工具。……運用這個工具,自己就可以編寫出優秀的軟體,就可以獲得更好的業績,最終成為不可替代的優秀人才了。……自己也就不可能被淘汰了……
C. 程序員小白都應該知道的30件事
作者 | 宋蘭欣 廖馨婷
來源 | 讀芯術
從事編程並不容易。每年有許多人從各國的頂級計算機科學專業畢業,這是所有人都嚮往的最具競爭力的職業之一。與此同時,編程也振奮人心。隨著技術的進步,每天都有新的創新。對於喜歡編程,並立志從事編程的人而言,編程是其熱愛且為之奮斗的事業。
本文的這個列表可以幫助新手答疑解惑,節省精力。即使目前某些內容可能暫時不需要,但是總有一天它會派上用場。
1. 從事編程無需學位,但需要有所了解。
編程是少數幾個不取決於學位的職業之一。但是編程是一項知識密集型職業。如果你要從事編程行業,閱讀一些基本的涵蓋計算機科學的基本概念等書籍是必要的。除了編寫功能代碼之外,為你的技術打下堅實基礎,對基本概念有一個深刻理解,這使得你能夠贏得技術面試有助於與同事交流。
2. 在問題解決技能上,編程十分具有創造力。
大多數人都有這樣一種先入為主的觀念,即編程就是分析和解決問題的能力。這只說對了一部分。編程還涉及許多創造性。通常,可以使用多種方式編寫給定的代碼。當你設計出最簡單有效的編碼方式時,創造性就產生了。
3. 掌握所有編程語言是不可能的,訣竅是將一門語言學到極致。
世界上有數百種編程語言。有一些編程領域為特定的職業道路鋪平了道路:Web開發人員,前端開發人員,後端開發人員,軟體工程師,資料庫開發人員等。明確希望成為哪種開發人員,然後學習該職位所需的技術技能。
4. 你不需要成為一個機器,保持作為人的狀態就更好了。
請記住,你首先是人,其次才是一名程序員。初次編程時,很容易迷失在代碼中。你是一個人,你需要笑,需要哭哭,需要減壓,需要與人交談。作為一名程序員,平衡生活,盡可能的發現工作之外的樂趣與激情將為工作帶來更多創造性。
5. 編程是應用知識而不是死記硬背。
與發明和創造新知識領域的研究不同,編程就是應用現有知識。書籍,研究論文,在線文章和學習視頻將成為經常使用的資源。沒有必要記住所有知識。可以通過搜索資源找到答案。隨著處理的項目增加,知識也會自然而然銘記於心。
6. 你每天都會與冒名頂替綜合症對抗。
編程是所有「聰明」人都超同一個目標前進的行業。除非你是天才,否則你會每天都覺得自己不配取得成功。當你每天都為這種感受所困時,會試著想辦法解決這一問題。你可以一直將其作為學習新事物的動力,正確看待問題。
7. 作為一名程序員,你還需要有工作之外的生活,否則,你只會沉迷於編程。
有段時間你可能會宅在家裡不出門。但是,要成為一名快樂的程序員,必須主動尋求計算機屏幕之外的生活。職業生涯的成功往往取決於你遇到的人。人際關系對程序員而言必不可少。保持程序員之外的個性特徵對於防止沉迷於編程至關重要。當你樂在其中而非強迫自己時,工作才會更加出色。
8. 與他人合作會學得更快。
在職業生涯初期,你會想要斷開與外部世界的聯系,沉溺於閱讀這十本有關編程的書籍,以建立計算機科學基礎。你猜怎麼著?如果你找到一個學習夥伴,會學得更快。當你與他人合作,所有的編程「缺點」都會暴露出來。編寫的代碼會得到審閱。由於有第三方的存在,你將會學著編寫高效的代碼。由於夥伴也在學習,所以你會想找到最好的辦法。當你從事程序員這一工作時,總會有人審查代碼。你永遠不是獨自一人這是你需要習慣的。
9. 不需擅長數學和科學。
在技術行業會遇到各種超級明星程序員,他們在接受了長期的文科教育之後,發現了編程在邏輯思維方面的吸引力。有很多畫家和作家在追求藝術的同時以編程謀生。成為一名優秀的程序員,你需要的是堅持不懈。編程很辛苦。但是,一旦有了恆心,任何人都可以通過閱讀編程書籍掌握基礎知識。在這個行業工作一段時間後有很多人重拾數學。最後他們甚至可以在沒有接受正式數學教育的前提下理解實施復雜的演算法。
10. 成為全明星「學習者」。
程序員的學習能力都很強。剛開始也許你的學習能力並不出色,但最終將會得到提升。有時,工作會要求你在六個月內學習三種編程語言。這就是技術創新的狀態。作為程序員,每天都在學習。學習就像呼吸一樣。即使你對每天都需要學習的狀態不太舒服,你也會被迫習慣。
11. 你將對完成項目上癮。
編碼成癮是真實存在的。在編程生涯中的某一階段,你將經歷通宵編程的馬拉松。在完成項目之前,你都不會想要睡覺。由於大腦正在處理大量的信息,你會忘記吃飯,喝酒,甚至不會離開辦工作。不要緊,工作做完後,就到外面散散步或者度度假吧。
12. 耗費一整天只為找一個小漏洞。
多數時候,在編程項目中許多部分彼此相互關聯。通常,你會發現除非修復了系統中潛藏的一個小漏洞,否則無法繼續進行下一步操作。作為程序員,除非找到這處漏洞,否則你會對整個項目倍感壓力。你會整天坐在電腦夙夜難寐,只為找到這一漏洞。這種現象只有找到它後才會消失。
13. 你將花費大部分時間在谷歌搜索無人能為你解答的答案。
如果使用流行的語言編程,那麼大部分的問題都能得到解答。但是,也有例外。有時,你也會出現別人碰不到的問題。在這種情況下,參考編程書籍並詢問編程委員會通常會幫助你答疑解惑。
14. 閱讀設計模式的書
是否畢業於國內外最好的計算機科學專業並不重要。在每個程序員的職業生涯中,都會坐下來仔細閱讀Head First Design Patterns。它可能是新程序員最常閱讀的書籍之一。還在等什麼?趕緊拿起它並從頭到尾閱讀。
15. 學會專注於確切的拼寫
在每個程序員的職業生涯中,都會用自己喜歡的語言編寫足夠的代碼,以便按照自己的方式做事。這包括為變數,類,甚至資料庫中的表提供的命名約定的准確拼寫。仔細審查這一點。你最不想發生的就是因為拼寫錯誤而產生的系統漏洞。記住,當理由充分時沉浸與值得關注事情是情有可原的。但是如果無據可依,那不過只是無意義的重復。
16. 你可能會放棄
有時你會遇到無法解決的問題。有時問題難到讓你懷疑人生,只想要辭職。有時工作環境會讓你想要放棄。激情取決於堅持。這時候質問自己,是要堅持還是放棄?當遇到挫折和困難時,你就把它當做港灣和下一次騰飛的跳板。
17. 重頭再來
當你看到那些和從前的一樣熱愛編程的人,你會很羨慕接著發現自己無法放手。你不能放手。然後又會回到編程項目上來。你意識到在內心深處,和編程同呼吸共命運,這是你才成為一名真正的程序員。
18. 回到某種形式的學校教育,去學習系統的知識。
即使是從精英計算機科學碩士課程畢業的最優秀的程序員也將在工作中學習。事實上,在職培訓是大型科技公司工作的最佳福利之一。公司將送你去學習「高昂」的課程和研討會,以培訓你使用他們希望使用的最新技術。如果碰巧在工作中沒有學到足夠的知識,你將接觸到許多在線編碼學院和youtube視頻,以提高你的技能。
19. 被不喜愛的公司聘用
即使你是一個平庸的程序員,某些公司也會需要你的技能。當他們面試你的時候,試著記住你也在面試他們。根據公司的文化,你可能會發現自己想對這份看似輕松地工作說不。作為程序員,工作時間很長。找到適合自己的公司文化幾乎至關重要。幸福度會帶來好的工作表現。如果你的技能無可替代,總會有其他公司排隊挖你。非必要情況,不要輕易妥協。
20. 技術面試不合格
技術面試不是開玩笑。高級程序員經常以編寫技術面試問題為樂。通常,出於某些原因,這些問題總是格外難。如果技術面試不合格,這也不是世界末日。這當然不能證明你的編程能力。它只測試你的知識庫。試著想想積極的一面。如果個人技能出色,經理們會記住你。如果他們看好你的能力,然而你並不適合擔任這個角色,他們仍可能會聯系你,為你提供另一個職位。
21. 被告知你很出色
在職業生涯中,有時候你會覺得自己像個明星。經理需要依靠你完成項目,他們誇贊你很棒,以激起你的干勁。你會覺得自己處於世界之巔。注意了,這是在誘導你變得自負。請保持謙虛,畢竟學無止境,人外有人山外有山。
22. 被貶得一無是處
在職業生涯中,有時你會覺得自己一無所知。對項目沒信心人會告訴你,你什麼都不知道。也許他們這樣做是為了讓你了解自己身處的位置。但是,既然你正在閱讀這篇文章,你就會大踏步前進。因為你知道的可能比你想的還要多。你所掌握的知識也會隨著時間增多。一年後,人們會尊重你,所以請堅持下去。假以時日,甚至可能贏得那位曾經將你貶得一無是處的人的尊重。
23. 與你所欣賞的其他程序員競爭
編程最絕妙的方面之一就是競爭。當你編寫一個你欽佩的程序員認為值得的代碼時,會開心地像贏了彩票。編程競爭總是很有趣。精妙之處不在於誰是最好的而是互相學習。
24. 可能理解不了同事的話
一開始,這種情況可能是每周或每月一次。在新編程工作中,你可能理解不了同事剛剛說的話。可能以下兩個原因。鑒於生活環境的不同,你可能聽不懂他們的口音。在這種情況下,請另一位同事翻譯。不能理解某人的言論並不可恥。很可能,其他同事也花了多年時間才得以習慣這種口音。另一個原因是同事剛才所說的完全超出了你的知識范圍。那也沒關系。畢竟,同事是專家。讓同事以圖片形式解釋一下。你會想要拉把椅子坐下詳聽,因為這可能需要一段時間。
25. 看到去年寫的面條式代碼,你會感到羞恥
這事兒常常發生。開始時因為Perl代碼,我被批評了。這是一個記錄良好的代碼,設計也很好。但我卻用一種難以閱讀的語言寫出來。所以,我寫了面條式代碼。但是,每年,無論我怎麼努力,我仍然會找到一些我清除由於快速完成工作而編寫的面條式代碼。這就是程序員的日常。我們解決問題並修補問題。不必覺得羞愧。當你意識到這是你寫的,返回修正即可。
26. 當你厭倦了看另一行代碼時,你將在資料庫項目中躲避
當你進行一次精彩的編程攻關時會發生這種情況。已經兩個月了。你需要休息一下。但是你喜歡這種勢頭,所以繼續前進。然後你意識到SQL很有趣。無法弄清楚為什麼你不能看另一行代碼。但不知何故,將數據放入資料庫並再其取出使你感到愉悅。你陶醉於完全邏輯語言的簡單性。
27. 對編程馬拉松又愛又恨
編程馬拉松現在很常見。程序員加入團隊並相互競爭。在這個過程中,他們會在幾個小時內進行高密度學習。你會因為團隊精神愛上編程馬拉松,也會因為快速碼字造成的腕關節綜合症而討厭它。你也會討厭工作擁擠的房間以及在編程時感官的過度刺激。
28. 閱讀研究論文時,會覺得一個字看不懂
你會說英語嗎?好大多數人會說是的。但是,你可能會一遍又一遍地閱讀一些研究論文,並發現自己一頭霧水。對我來說,在學習基礎數學之前,大多數關於演算法的研究論文看起來都像是一片巨大的霧林。然後,突然間,一切似乎又都撥開迷霧了。
29. 購買耳機
在職業生涯的某個階段,當你專注於代碼時,會發現任何類型的噪音都會阻礙你的感官。買一個能夠隔絕外部噪音的好耳機,可以讓你在嘈雜房間內專心工作。在某些時候,還會發現音樂有助於編碼。編碼生涯的早期我就發現,音樂節奏有助於流暢地編碼。即使是現在,需要提高工作效率時,我還會找些音樂來聽。
30. 抓住與同伴交流的大好時機。
在職業生涯的某個階段,你會成為公司非常重要的開發人員群體。這時你將被邀請到異地技術專業人員將在這里進行社交活動。高層管理人員會藉此機會了解你。這並非是無憂無慮、享受的時候。相反是與同伴交往和交流的大好時機。有時,外出活動還包括與其他公司的技術專家的會議。
D. 干貨!給轉行java程序員的建議
一、Java基礎
學習Java基礎的時候,應該盡量多動手,很多時候,你想當然的事情,等你寫出來運行一下,你就會發現不是這么回事兒,不信你就試試。
學完以上內容以後,你應該對Java有一個基本的了解了,你可以用Java語言寫出一些簡單的程序,並且你用的是最簡單的編輯器,比如記事本。這個時候,不要急於進入下一部分,留下幾天好好寫一些程序,盡可能熟悉這些基礎內容。
二、Web開發
等你寫上幾天程序以後,你往往會比較迷茫,因為你寫的東西似乎看起來毫無用處,比如實現一個簡單的計算器,讀取一個文件等。這個時候你就應該去學著寫一些讓你覺得有意思的東西了,所以你應該學習更多的知識。
這些內容主要是Web開發相關的內容,包括HTML/CSS/JS(前端頁面)、Servlet/JSP(J2EE)以及Mysql(資料庫)相關的知識。
它們的學習順序應該是從前到後,因此最先學習的應該是HTML/CSS/JS(前端頁面),這部分內容你可以去上面的那個runoob網站上找。你可以試著自己寫一些頁面,當然,你可以盡你最大的努力讓它變得最漂亮。這部分內容對於後端Java來說,理論上不是特別重要,但至少要達到可以自己寫出一些簡單頁面的水平。
接下來,你需要學習的是Servlet/JSP(J2EE)部分,這部分是Java後端開發必須非常精通的部分,因此這部分是這三部分中最需要花精力的,而且這個時候,你要學會使用開發工具,而不能再使用記事本了,可以選擇eclipse。
三、開發框架
當你學會以上內容以後,這個時候你還不足以參加工作,你還需要繼續深造。公司里為了提高開發的效率,會使用一些Java Web框架,因此你還需要學習一些開發框架。
目前比較主流的是SSM框架,即spring、springmvc、mybatis。你需要學會這三個框架的搭建,並用它們做出一個簡單的增刪改查的Web項目。你可以不理解那些配置都是什麼含義,以及為什麼要這么做,這些留著後面你去了解。
關於干貨!給轉行Java程序員的建議,青藤小編就和您分享到這里了。如果您對大數據工程有濃厚的興趣,希望這篇文章可以為您提供幫助。如果您還想了解更多關於數據分析師、大數據工程師的技巧及素材等內容,可以點擊本站的其他文章進行學習。
E. 對於新入行的程序員來說有哪些好的建議
首先就是該明確自己的發展方向和道路,要是一直停留在舒適區,那就永遠改變不了。另一個就是其實在互聯網行業,是不是科班,本科或者專科,這些在幾年後都沒那麼重要。更重要的還是能力。有能力就是學歷低點也沒什麼。
在工作中發現知識不夠用了,面臨工作上的壓力,不如先提升自己的技術水平和實際操作能力,這才能夠在就業中起到一個實質性的推進作用。有的已經參加過培訓的已經工作了的,這樣的程序員也不能鬆懈,因為在工作中還是有很多東西是需要自己學習的。所以小夥伴們知道進入職場該如何做了吧!
F. 電腦軟體、游戲製作。
重點在思維的訓練和學習能力的培養,對知識的記憶是次要的。
做軟體開發尤其需要強大的學習能力,因為新軟體新思路涌進很快,跟不上步伐就會被淘汰。並不存在一個學了之後,就可以一直用的技術,除非你甘於做一個平庸的程序員。而掌握了學習能力,軟體什麼時間學都不晚。所以建議你把現有課程學好,學通,不是簡單的當作知識來記憶。 為將來能更快的掌握新知識做好准備。 考上大學,進入計算機專業學習,然後再考慮出路問題。
由於你沒有編程基礎,游戲開發,可以簡單看看Game Maker教程。
編程上,可以看看python, 這是最容易掌握的語言,然後再考慮C/C++。
G. 怎樣成為一名無堅不摧的全能程序員
高級程序員是如何造就的,除多年編程經驗之外,還有什麼能區分一個程序員是「老手」還是「新手」?編程技巧當然是一部分,但它絕非是全部。
聰明的程序員可能比他們的同行擁有更出眾的編程技巧,但那不足以說明他們就是「老手」。同樣,僅僅因為擁有10年編程經驗也並不意味著他們就是高手。在工作崗位上,擁有多年編程經驗也不能說明問題。即便沒被炒魷魚,那也不能提升你的價值。
下面列舉的事情是大多數高級程序員都會做的。
1.至少掌握一門編程語言
我相信有些優秀的程序員只懂(並精通)一門編程語言,但在某種程度上而言,這其實會限制一個人的思維。就像當你手拿一把錘子時,任何東西看起來都像釘子。我認為,知道並成功使用至少一門編程語言,這是程序員從新手走向老手的重要一步。我要說的是,像javascript和sql這樣的輔助編程語言,只有當你確實已經開發了完整的應用程序,並在其中使用這些編程語言時,它們才有價值。
2.工作之餘也經常編程
我抱怨過把開源作為招賢的一項要求,但那僅僅因為許多充滿激情的程序員把時間花在別的地方。除了對開源有所貢獻,你還可以做兼職顧問,兼職創業,開發自己的產品或者創辦自己的微型軟體公司。當然,你也可以嘗試從外部接些兼職項目,可參考伯樂在線的這篇《成功接項目需要注意的幾個要點》。
註:misv即microisv,是一個只有一名員工組成的軟體公司,是一種微型公司。
3.經歷完整的軟體開發過程,從概念設計到產品實現,再到產品維護
有的程序員希望不用自己動手就可以得到詳細的設計說明,然後把缺陷代碼交給測試/維護小組,這是平庸程序員的一個縮影。任何稱職的程序員都會跟客戶密切合作,去制定需求分析,然後編碼實現,當然也要維護。如果你在編碼實現階段偷懶了,那你在維護階段不得不付出代價。
4.不斷創新
創新就是做一些你身邊的人沒有做過的事情,用來改善你的過程或產品。你不一定非得是世界上第一個做這件事的人,只要發現一個問題,找到解決方法然後實現它就行。
5.編寫的軟體能解決實際問題
有一副虛構的場景:一名黑客,僅僅是出於對技術以及自己所做事情的愛,一天到晚都在編寫代碼。但這幾乎無助於成就一名優秀的開發者。事實上,我曾見過有些開發人員和客戶爭論,來採用更好但不太有助客戶的技術。這會適得其反。你可以利用自己的時間來完善。但涉及工作時,你最好還是編寫能實際改進並解決問題的代碼,而不是使用那些不同尋常的演算法或介面。
後話
這些問題對於任何想成為高級開發人員的朋友來說,都合情合理。因為這些問題和擁有多少年編程經驗並沒有關聯。如果你能做到上面4-5條,那你就是高級程序員。如果只有1-2條,那你還需要加油努力。
H. 智力平庸能做程序員嗎
當然可以,只要你有那個恆心就行了!
I. 程序員怎麼去提升自己能力
二:信息採集器和筆記本
首先你要給自己設定一個目標,就如同一個公司會設定它的Vision。
目標要夠大,這樣你才能看到更多的風景。
目標應該設定在解決哪一類問題,而不是精通哪一類技術。技術只是手段,不是目的。
例如,「我要成為iOS developer中的達人」這個目標,就遠不如「我要成為前端應用開發的專家」來得有意義。前者學到深處你可能會去鑽研iOS framework里各種奇技淫巧,而後者你會開始關注視覺與交互設計,研究各平台間的差異與共同趨勢。顯然,後者更有助於你的個人發展。
不過即便有了明確的目標,選擇哪一類技術學習,如何學習,在信息過載的今天依然是一個難題。常有的觀點是應該學習最新的技術,因為老的已經過時,而反對的觀點則是新技術還不成熟。我個人的觀點是,當初入一個領域時,選擇主流技術框架;當你有一定經驗後,選擇技術時更應該關注背後的推動者,我相信優秀的人和團隊總能打造優秀的產品,無論是商業公司還是開源社區。不必太在意技術的新舊,因為可能很快都會成為過去時。你真正要學習的是技術背後的思想。有不少語言與開源項目會寫它的Coding philosophy,這是很有意思的,你可以從它們的源代碼中去驗證這些編程理念。以Python為例,如果你執行import this就會看到它的理念,再如Python中一個著名的開源庫Celery,在它的文檔有專門一節講述它的編程理念。它們對你的影響會比這些技術本身來得更深遠,這是我給初學者們的一個忠告。
同理,我非常推薦讀一些優秀開源庫或是語言的源代碼,例如Python的標准庫絕大部分都是用Python實現的,而且可讀性非常好。如果學習一門技術僅僅停留在用的層面上,你就還沒有完全吸取其中的精華,而且學習的收益會隨著技術的過時而消失。
我的另一個學習原則是,在選擇學習一門新技術時,最大化它與你現有知識庫的差異性。讀起來可能有拗口,例如你會Django,接下去你應該去學習Ruby on Rails還是NodeJS?依據這個原則,你應該學NodeJS,因為它的非同步IO模型在理念上與Django的同步模型差異很大,而RoR則與Django更多相似之處。但更好的選擇是不要去學另一個Web framework,去學習ZeroMQ或是Redis,這兩者對於Web development也非常有幫助,這樣就做到了最大化差異。從構建一個程序員的技術理念角度,我會推薦每一個程序至少去了解Lisp或是一門Functional programming language,不管你是否會在可見的未來用到,它們能讓你從一個不同的角度看待編程。
最後我建議每個程序員都應該經營一款自己的產品,它可以是一款app,一個網站或是一個開源軟體。除非你是一個創業公司的早期員工,不然你可能沒有機會將所有學到的技術或是理念都付之實踐,有很多人想成為全棧工程師,最快的捷徑就是打造一款自己的產品。任何一個設計師都會精心打造自己的Portfolio,但大部分程序員卻不會。當評估一個程序員的Coding能力時,我會去看他的Github上是否有出彩的項目,可惜國內絕大部分程序員的Github空空如也,或者只有一些非常簡單的程序。我建議大家好好經營自己Github上項目,這不但可以提高你的聲譽,對你將來的求職也非常有幫助。當你報怨求職面試時又被問到各種無厘頭的程序題時,有沒有想過面試官也很無奈,因為他沒有任何其他方法得知你的Coding能力究竟如何。如果每一個程序員都有自己的作品,我想程序員的面試會簡單許多。
重視溝通能力的培養
當被問到「你覺得Junior Developer和Senior Developer最大的差別是什麼」時,我最自然的反應是溝通與文檔。溝通包括程序員團隊內部的溝通,與其他團隊的溝通,與Manager的溝通等等。我不認為自己有能力把這些問題非常概括地說清楚,不過我可以給一條建議,那就是先學會和你的Manager溝通,讓他來教你其餘的部分。許多公司都會設置Manager與組員的1:1,一個有效率的1:1應該大部分時間有組員來主導。這需要你在1:1之前花足夠多的時間來考慮要問的問題,並且最好提前1天發給Manager,讓他有機會思考答案。許多人對此不太重視,或者只問非常具體的問題而不是一些開放性問題,這樣你很難在你的Manager身上學到東西。如果你漸漸懂得如何利用1:1的時間,它很會成為你在工作中單位時間投資回報率最高的活動。
累積你的人脈
每個人都明白人脈的重要性,但實際做起來卻不容易。參加一些線下的會議或是活動,可能是最直接的擴展人脈的方式之一。可惜大部分人似乎只是去聽了一場技術講座就回家了。當然,這和不少活動的時間安排也有關系,講座時間排得太滿,茶歇時間短,加上有時嘉賓遲到或是沒控制好時間,乾脆就把茶歇取消了。而實際上,結識一兩個同道中人遠比聽技術講座有價值。下次去參加這類會議,不妨給你自己設個目標,比如至少加兩個同行的微信。之後維系你的人脈可能需要花更多的時間,下了班或是周末找你的朋友們喝個咖啡吧?
另外我覺得每個人都需要一個職場導師,他可以是你第一份工作的導師或是Manager,也可以是你認識的其他前輩。你們需要維系一個非常長期的關系,不止於一家公司,最好貫穿你的整個職業生涯。每當你遇到疑惑時,都可以詢求他的建議,我覺得這將是你最寶貴的一筆人脈財富。
尋找發揮你才華的平台
最後也是最重要的一步,找到適合你的公司。做為求職者評估一家公司可以看三個方面:
公司的發展前景(大公司的話,看所在部門的發展前景)
你將要加入的團隊
薪資福利
所以在面試一家公司的時候,你要意識到面試是雙向的,公司在面試你的同時,你也在面試這家公司。面試前你應該對這家公司做足功課,准備好一些有質量的問題,比如指出產品中的問題,詢問開發流程或是如何做績效評估。到時你也可以檢驗一下你的面試官是否合格。
每次選擇公司對以上三個方面都應兼顧,但在職業生涯的不同階段,側重點不同。比如,在剛剛工作時,加入一個優秀的團隊最為重要,他們可以教會你很多東西,提升你的能力。工作5年之後,你需要一個平台施展你的才華,體現個人價值,公司發展前景的重要性迅速提升。當你做出一番成績,證明了自己的價值之後,逐漸進入收獲期,就有了與公司要價的資格。另一方面,團隊實力對公司的前景也有很大的影響。
對一個剛畢業,初入職場的同學,一個近幾年被問了無數次的問題「我的第一份工作是去創業公司還是大公司?」我的回答仍舊是「加入一個優秀的團隊最為重要」。一些知名的大公司,團隊的素質是有一定保證,但創業公司則不然,團隊素質參差不齊,所以如我前面所說你需要面試這個團隊,做出自己的判斷。不過除了團隊因素之外,我想提一下畢業生去創業公司的幾個好處。
首先,在剛畢業的一段時間內,經濟壓力小,是最自由最能承受風險的時期,而這段時間往往不長,所以應把握好這個去創業公司的黃金時段。其次,所有的學生進入大公司後,都會擔任初級職位,某種程度上來講是學校學習的延續,規范有條理,但缺乏獨立性和創新性,而這正是中國大部分學生所欠缺的。這方面的能力在一家創業公司可以得到快速鍛煉,而在大公司可能要等升到中級職位後才有這方面的機會。個人觀點,僅供參考。
小結
我覺得步入職場的前3年對今後的發展尤其重要,希望此文能對年輕的程序員們有所幫助。歡迎評論?
如果想私信我的朋友可以加群,大家一起學習,一起學術分享,資料共享
J. 給程序員編寫高效java代碼的幾條建議
張小喜告別996 實現高效編程 減少開發壓力 開啟Java高效編程之門(完整版高清視頻)網路網盤
鏈接: https://pan..com/s/1kKaGzsXHu3Cy7MqvIY7r3g
若資源有問題歡迎追問~