Ⅰ 程序員是如何找項目練手的
首先,你能想到平時找項目來進行練手,說明你是一個在技術上面是一個非常上進的同學。 想要找到項目進行練手,第一個想到的地方應該是 Github。Github 上擁有全球最多的開源項目,你可以從其中找到自己感興趣的開源項目,然後參與到開源項目的開發中去。 能夠參與開源社區,這也是很多互聯網公司非常看重的一點。
其次現在也有很多舉辦計算機類比賽的平台,比如阿里雲的天池大數據、Kaggle、Datacasle等。 你如果有時間,可以參與上面舉辦的比賽,進行項目練手。
想要在 Github 上面找到自己想要參與的開源軟體,首先你要確定好自己對什麼技術方向感興趣。 比如對於我來說,我對實時計算非常感興趣,所以我找了很多開源的實時計算引擎,最後選擇了 Flink 開源項目,現在也在努力的參與到 Flink 的開發中去。想要使用開源項目來進行練手,你一定要確定好自己的技術方向,找到感興趣的開源項目,接著就是嘗試參與到其中。
確定好自己感興趣的開源項目後,第一步就是去訂閱官方社區的郵件組,在社區的郵件組裡面,你可以看到很多同學對於開源項目的問題以及解答,你未來有任何問題時,也可以在開源項目郵件組中進行提問。 其次,你可以去開源項目的官方網站,將裡面的官方文檔閱讀和理解一遍,這對於你未來 API 的使用和概念的理解,會有很大的幫助。
最後,你可以去開源項目的 JIRA(問題主頁),查看自己能解決哪些 JIRA,隨著你解決的問題越來越多,我相信你的能力也會提升的越來越快。
其他方面,你也可以去阿里雲的天池大數據等平台上面查找自己想要參與的比賽,上面的比賽主要以演算法類比賽為主,但也有性能優化相關,編程類的比賽項目。 我以前在上面參加過阿里中間件的比賽,但是還是和同學一起來進行參加,一路跟著做下來,自己的能力也提升了很多,而且在校招的時候,面試官也問了很多這方面的問題。如果你能夠跟著比賽做下來,我相信你肯定能夠得到一定的收獲。
我會持續大數據、資料庫方面的內容,如果你有任何問題,也歡迎關注私信我,我會認真解答每一個問題。期待您的關注
剛入門可以在GitHub或者各個技術網站找一些基礎的DEMO,不需要很復雜,有幾個知識點就可以了,熟練了在學其他知識點。最後再找一些完整的DEMO練,理解各個知識點之間的聯系,熟練掌握常用的設計模式。
初級程序員可以拿公司的項目練手,從頭到尾熟悉代碼,然後跟著版本更新,鞏固掌握的技能,有新技術點多在網上查查資料,多理解,活學活用。
高級程序員可以對現有項目進行重構,搭建框架,深入底層原理。
大神程序員一般都很神秘,是我膜拜的對象[呲牙]
給你推薦一些比較實用的小項目吧,另外千鋒也有很多實戰項目視頻教學。
文本操作
網路
類
線程處理
Web應用
文件
資料庫
圖像和多媒體
游戲
不用刻意找項目練手,可以從興趣入手自己做一個項目,然後再不斷的用新技術重構這個項目 。
從興趣入手為什麼說要從興趣入手呢?因為這個是一個需要長期進行下去的項目,如果不是自己感興趣的東西,很難有動力堅持下去。
有哪些方向可以參考呢?比如你喜歡動漫,那麼可以做一個動漫圖片素材收集的網站;你喜歡足球,那麼可以做一個 歷史 數據統計的網站,其實只要是你感興趣的都可以動手去做。
一個項目做成以後並不是一層不變的,因為技術永遠在更迭。當我們學習了一個新技術時,那麼我們就可以用新技術把這個項目重構,順便練練手。
比如說原來項目里有一個用Java寫的用來抓取數據的爬蟲,現在你正好在學習Python語言,那麼你就可以嘗試用Python語言將這個爬蟲重構。
總結我一直認為一個好的程序員必定具備良好的產品思維,可以根據自身的興趣點做一個項目並長期維護下去,並不斷的用新技術重構這個項目,在練手的同時還能兼顧興趣,可謂一舉兩得。
想通過項目練手,這說明你有上進心,非常值得鼓勵。互聯網上有不少資源,這些項目是比較成功的實踐案例,還有相應的教程或者豐富的文檔,便於使用者理解,這類項目非常適合程序員練手實踐。這些寶藏級的資源在哪裡最多呢,毫無疑問,在GitHub上最多。
有同學會問,GitHub上面這么多項目,我應該如何找到合適自己的呢?
從自己的興趣出發每個人喜歡做的項目都不一樣。有的人喜歡爬蟲,有的喜歡自己做些小 游戲 。從自己的興趣出發入手,這樣有利於保持學習的動力和熱情,肯花時間學習,自然進步就快。
從容易的項目入手一開始不要選擇太難的項目,要從簡單容易的項目入手,再慢慢過渡到難得項目。就像打 游戲 一樣,先殺小怪積累經驗,最後再跟boss單挑。順序不要搞反了。
想要找項目練熟的話,肯定是找已經有人做出來的,有源程序的,如果你在項目中遇到問題不懂又沒有人指導那這時候源程序就是你最好的指導老師,找項目最好是找自己喜歡的,這樣你做起來就不會覺得累,即使做一天都不會感覺到累,特別是每一次中的小小的成功可以讓自己更興奮和開心。我以前就是這樣過來的。
任何項目都沒有實際項目練手快,各種進度,各種bug,各種要求,想想就頭痛,剛解決了一個進度,下一個又來了,下一個寫完了上一個又出bug了,沒玩沒了,這是練手最快學習最快,網上找的項目只能全是熟悉,要解決問題卻比不上實際項目來的快
程序員的世界雖然是很精彩的,但是寫代碼本身是很枯燥的。
跟工作不一樣,練手的項目一般不會給你任何回報,除了能夠提高你的水平之外不能帶給你其他東西。為了防止我們因枯燥的代碼過程放棄練手,要盡可能地去找熱門的東西,能夠與人交流才能使這個練手的過程豐富起來,來自同行或者愛好者的交流反饋能使我們在枯燥的代碼過程中更有目標,更能堅持下去。一個人枯燥的壘代碼學到的東西比與同行在論壇上或者開源項目上的交流中要少得多。
所以說找項目練手最好是找自己感興趣的,並且最好是有很多用戶或者同行交流的,這樣才能學的更多並且不容易放棄。
可以去bilibili上找找相關的項目練習,主要還是得跟著視頻老師講解多加練習才好,熟能生巧嘛。推薦你可以看看尚矽谷bilibili上的視頻,更新及時內容也是貼合企業開發的需求呢。
「我的做法是,自己創造項目,然後哪裡做不出來就去問,去搜。
童年接觸過很多fc 游戲 ,我就把他們重新做一遍。
」
- - - - - - - - - - - - - - -
Ⅱ 畢業之後從事程序員,該怎樣規劃自己的職業方向呢
第一,應屆畢業生需要快速積累經驗。
履歷和學歷都非常重要,如果哪個欠缺,就趁年輕趕緊彌補。一線互聯網公司對於學歷和履歷尤其看重。你前期不要過分看重薪資,如果一個大廠和一個小公司同時向你拋出橄欖枝,即使小公司給的再多,也要優先考慮大公司。假如你不是985高校或者碩士,你就要從技術層面快速提高自己。如果你在小公司里工作,爭取三年內進入一線互聯網公司。如果想要在這一行業長久發展,要有市場行情分析的能力,去學習最火的大數據,機器學習演算法等領域,必要時可以果斷轉行。
第五,最重要的一點:多存錢,為了以後做自己的產品
你是否甘願一直打工,一直看他們眼色?不,程序員高傲的內心不允許他這樣做。所以,老老實實多存點錢,為了以後自己創業做資金儲備才是王道。
Ⅲ 一個菜鳥程序員該怎樣定位自身的價值方向
我到底能夠解決什麼問題?給別人帶來什麼樣的方便?這是每個程序員首先要考慮的問題。這決定了你要在什麼樣的領域、什麼樣的公司工作,決定了你做什麼產品,也決定了你要選擇什麼技術。
Ⅳ 程序員如何選擇自己的職業方向
作為一名程序員,在選擇自身的發展方向時一定要和企業的發展方向相吻合,程序員是一個偏向於技術的崗位,如果希望在技術上快速提升,除了學習更多的需要去實踐,只有將技術應用到實際場景中才能發揮它的價值,通過企業提供的平台,將學習的知識應用到實際環境中,做到學以致用,才能不斷提升自身的技術能力。將個人的發展和公司平台相結合,同步同調、同頻共振才能相互促進,通過個人能力的提升來壯大平台,同時通過平台的提升促進自身的快速發展。
在中國當前的軟體行業發展來看很少有純技術的程序員,軟體行業本質也是服務行業,必須跟業務行業相結合才能價值外顯。軟體行業也是一個快速發展的行業,新技術、新工具、新模式層出不窮,需要不斷的學習和掌握,如果不是真正熱愛很難堅持深入學習、長年奮戰在技術一線。隨著年齡的增大、家庭的牽絆,絕大部分程序員的精力是很難和年輕人相比的,所以大部分程序員都會向其他方向發展,如:產品經理、技術總監、售前咨詢、運營管理等,一般情況下前兩者比較多,因為二者偏向於技術,轉型比較容易;售前咨詢對業務能力、行業理解的要求較高;運營管理則強調更長的企業資歷、更好的協作能力等。無論哪一個發展方向,都是需要不斷學習、不斷積累的,只有掌握一套好的學習方法和工作方法,快速提升自身能力,才能走的更高、更遠。
Ⅳ 作為一名普通的程序員,該怎樣給自己找一條後路呢
作為一名普通的程序員,該怎樣給自己找一條後路呢?兩年也就相當於是剛入行的一個程度,那這個程度就是要多努力幹活,多學多練,想任何其他的都是白費功夫,因為你沒有其他的時間積累,在二至四年的這個時間里,要把自己的工資技術水平提升到你所在的那個城市圈子裡面的中上等的水平,然後你要有一個比較謹慎的思維,不要空有一個想法。
你現在考慮的可能就是說以後怎麼發展他這個技術程序員發展的話一般是年齡平均到35歲左右的時候,你就可以通過前期的一些積累,然後鋪墊到35歲的時候,你就可以去做其他的行業的,因為你到35歲的時候,不管是去面試或者是帶領團隊熬夜,很多時候有些東西都跟不上了,所以建議你到那個時候去轉行。
Ⅵ 程序員可以如何選擇發展方向
絕大多數程序員最終的職業目標可能都是CTO,做到CEO的人估計會比較少,也有一少部分人自己去創業去當老闆,也有部分人說我轉行去做業務 了,對於當老闆的人畢竟是少數,對於轉行的人來說,都不在這行做了,自然沒什麼好說的了。一般來說,程序員的發展基本上都會經歷這么幾條路徑。程序員-系 統分析員-架構師-技術經理-CTO,程序員-項目組長-項目經理-項目總監-CTO,程序員-產品設計師-產品經理-CTO.
當然這只是一個大致的路徑,不是所有程序員都必需要這么經歷的,有些人可能跳過其中的一些步驟,也可能有些人會把中間的很多職位都做了。而最終做到 CTO的程序員,也是非常少的一部分,原因很簡單,這個世界上不許要那麼多的CTO和CXO.
也就是說,許多的程序員最終可能是做技術經理、項目經理或者項目總監之類的,那麼到底我們職業生涯要選擇哪一種呢?我覺得這個問題沒有一個統一的答 案,因為每個人的性格不一樣,際遇也不一樣,就像你從小希望當貪官,可是命運卻偏偏讓你做了一個程序員。所以應該根據你的興趣、性格與際遇選擇一條道路, 比如說你正好有機會帶一個項目,而你又不是很討厭項目經理這個位置,那麼你就可以選擇向項目經理方向發展。
實際上很多時候,國內並沒有明確的技術經理、項目經理、產品經理之分,在許多的公司里,他們經常是由一個人承擔。在外包公司里,通常會有項目經理和 系統分析員(也可能是技術經理)。在一些非IT公司里,可能會有部門經理,而做自己產品的公司可能會分得比較詳細一些。我大致說一下這三個職位的區別,讓 正在徘徊的程序員有一個大致的了解。
項目經理是項目的直接負責人,這個角色相當於一個中間介面,不管是團隊成員還是需求方(客戶),或者是上級領導,有事都直接找他,所以這個職位著重 於管理與溝通。一般來說,項目經理的工作重點在同客戶溝通需求、項目進度的把控、團隊的溝通方面,有些公司也會需要項目經理承擔團隊建設的工作,不過貌似 很多國內公司都忽略了團隊建設這個工作了。對於項目經理來說,重點會要求溝通能力、協調能力、危機把控能力、執行力、團隊管理能力,著重於溝通、管理與計 劃。當然也有些公司還要求項目經歷要參與招標談判,這就要求項目經理有一定的商務談判能力。
技術經理有時候也可能叫系統分析員,一些小公司可能會整個公司或者部門有一個技術經理。技術經理承擔的角色主要是系統分析、架構搭建、系統構建、代 碼走查等工作,如果說項目經理是總統,那麼技術經理就是總理。當然不是所有公司都是這樣的,有些公司項目經理是不管技術團隊的,只做需求、進度和同客戶溝 通,那麼這個時候的項目經理就好像工廠里的跟單人員了,這種情況在外包公司比較多。對於技術經理來說,著重於技術方面,你需要知道某種功能用哪些技術合 適,需要知道某項功能需要多長的開發時間等。同時,技術經理也應該承擔提高團隊整體技術水平的工作。
產品經理這個職位一般在有自己產品(不管是軟體還是網站產品)的公司比較常見,產品經理主要會負責產品的設計、產品的改良等工作。需要注意的是,產 品設計與設計師是兩個不一樣的工作,產品設計主要會從用戶體驗、業務需要等層面去設計產品,而設計師更多是從用戶的視覺上去做。產品經理應該是最懂業務的 人,比如說你在設計一個微博的產品,就要求你對微博這個東西非常熟悉,從用戶習慣、用戶體驗、公司的發展戰略上去設計這個產品,還要對比同類產品會有什麼 優勢等等。
不管是項目經理還是技術經理與產品經理,都要求要熟悉業務,業務是需求的來源,沒有不談業務的技術,所以不管你從哪個方向發展,都要求對業務熟悉。 產品經理要求對業務最熟悉,項目經理次之,技術經理排最後。對於程序員來說,剛開始工作的前幾年可以埋頭扎到技術裡面,一般這個時間在2-3年的時間,然 後就應該多關注業務了。這個業務不一定是指某個具體的業務,因為具體的業務的范圍太少,而且也需要機遇。
我見過許多的程序員,他們是做Web開發的,但對互聯網很不熟悉,對於互聯網流行的趨勢基本上不聞不問。不知道現在大家都在使用微博,也不知道SNS,也 可能從不使用網銀。我覺得這樣很不好,程序員應該多多去關注互聯網的發展,多多去玩一些新的網站。
Ⅶ 程序員如何在35歲瓶頸期的時候,找到自己的方向
1程序員的困惑
程序員是一個神奇的職業。日復一日面對著電腦,一行一行地碼著代碼,給人的印象是呆頭呆腦,不善於交流和溝通,加班是經常的事,彷彿永遠都有干不完的活,身心都很疲憊。但事實上呢?
大多數程序員,他們熱愛編程, 對很多技術充滿興趣, 總是希望學習並嘗試新奇的技術, 在業余也花了很多時間學習工作中暫時用不到,但是自己很感興趣並且很看好的技術,從進入到第一家軟體公司,後來一直沒有離開軟體行業。
Ⅷ 北大青鳥java培訓:IT程序員的職業發展方向
現在IT行業非常之火熱,而許多IT程序員迷茫於未來的職業發展方向。
他們除了學習技術外,有眾多問題困擾著他們,同時這些問題成為他們職業發展的瓶頸。
那麼,正在培訓的同學,未來的IT程序員們,要明確自己的職業發展方向才行。
海南北大青鳥http://www.kmbdqn.cn/認為IT程序員職業發展方向關乎你的未來,非常重要。
第一,培訓前要明確自己的學習方向,並且想清楚自己的目標是什麼;第二,如何達到自己定的目標:看書,多練習,多問老師;第三,給自己設定計劃並努力完成,中、高考前,我們一定都在桌子上貼過小紙條,寫著一句勵志的話或者奮斗的目標。
第四,不要單純的追求月薪多少,前景比當下的收入更重要,要放長遠看,不要注重當下利益。
准備工作時,首先要明確自己的職業發展方向:管理方向、技術方向、業務方向。
管理方向:通常從兩個方向轉變來的。
工程師—項目組長—項目經理—項目經理—中層管理者—高層管理者—獨立創業。
作為管理者,要具備把控能力和決斷能力等。
技術方向:理工程師—普通工程師—中級工程師—高級工程師—技術專家—架構師是必經過程。
同時要求也很多:對技術有鑽研精神、強大學習能力、解決問題能力、自身技術能力等。
業務方向:是從初級業務員開始:業務分析員。
而IT行業,通常是在技術工作的過程中逐漸熟悉了業務、對業務工作感興趣後轉化來的。
與技術方向比,業務方向要求較高的情商及良好的溝通能力。
在與客戶溝通過程中,了解到客戶的需求並為客戶及自己的團隊講解清楚,達到預期目標。
Ⅸ 外包與小公司的程序員如何逆襲程序員該如何規劃自己的職業生涯
我認為程序員需要做好自己的人生規劃和職業規劃,同時也需要在上班初期就有屬於自己的目標。
對於每個程序員來說,程序員找到自己的工作之後,因為程序員在工作初期的待遇會比較好,所以很多人可能會徹底放鬆下來,同時也沒有屬於自己的職業規劃。在這種情況之下,程序員的年齡變大的時候,程序員就會發現自己的競爭能力在不斷減弱,同時也會遭遇所謂的30歲危機和35歲危機。對於任何一個程序員來講,程序員首先需要了解自己的真實優勢,同時也需要根據自己的優勢來制定屬於自己的職業生涯。
除此之外,我覺得每個程序員都需要盡可能做好相應的技術積累,特別是在自己面臨換崗或者換工作的情況下,一定的技術積累可以幫助自己度過職場危機。
Ⅹ Java程序員如何自我提升
1.專注於一個工作,對於程序員來講,專注於某一個開發工作是非常重要的,如果同時處理幾個任務,你只會為此耗費精力,這樣只會導致工作效率降低,所以作為java開發應該專心做好一個工作,再去做下一個。
2.建立條理工作系統,對於程序員來講,工作如果沒有條理,那將是多麼可怕的一件事,會直接影響工作效率。一名優秀的程序員一旦投入工作當中,他們會變得非常專注和條理。
3.不要使用過多工具,在開發工作過程當中,編程工具肯定會用到,但如果使用過多,只會起到適得其反的效果。
4.要迅速做出判斷,作為java程序員要果斷做出抉擇,不然真的會影響到工作效率。
5.學會發現和解決問題,可以這樣說,問題是好的學習機會,只有在工作當中不斷發現、分析和解決問題,才可以成為公司真正的骨幹,同時也更快成長。從入門到高手這一過程,這一階段對個人成長是很有幫助的。
6.經常思考總結,古人雲:」學而不思則罔「,只學習不思考會導致難以把握事情的本質,這樣的學習過程可以更好地版主自己清楚地了解工作進度,減少壓力和提高工作表現。