0731-88720118
當前位置: 首頁 資訊中心 Java開發八年的經驗分享,送給迷茫中的你

Java開發八年的經驗分享,送給迷茫中的你

Java開發八年的經驗分享,送給迷茫中的你


選擇合適的工具

JAVA、C#、PHP、C++、VB……計算機語音種類繁多,哪一種最有發展潛力呢?其實開發語言只不過是一個工具,“與其分散進攻,不如全力一擊”,無論是哪一種開發語言,只要學到一定程度,轉而學習另一種語言也會比較輕松。

開發語言重點分為三大類:

1. 網絡開發

網絡已經成為世界通訊的一座巨大橋梁,Javascript、PHP、Ruby這幾類開發語言大多是用在網絡開發方面。

2. 企業軟件開發

JAVA、C#、VB這幾類開發語言都實現了面向對象開發的目標,大多用于企業系統的開發。

3. 系統軟件

C語言、C++、Object-C、匯編語言這些軟件更多的是用在系統軟件開發,嵌入式開發的方面。

當然,這并不是絕對的,像JAVA、C#、VB有時候也會用于動態網站開發。很多開發項目都會選擇集成開發的方式,同一個項目里面使用多種開發語言,各展所長,同步開發。所以在剛入門的時候,可以先為自己選擇一種合適的開發工具,“專注地投入學習,全力一擊”。

明確發展方向



當對某種開發語言已經有了一定的了解,覺得自己像個開發工具一樣的時候,就可以重新明確一下自己的發展方向了。


1. 從技術向業務過渡

在國外,很多發達國家都很重視人才,一個高級的程序員與一個Project Manager收入相差一般不超過15%。但中國人口眾多,所以造成了國內人才濫用的情況。一個小公司的開發部里面經常會見到新面孔,但PM卻不會常換。因為老板對技術一竅不通,在他們看來有了一位衷心的PM,那么技術方面似乎不用再擔心了,至于技術部要換人,他們不會在意。所以從一個技術員過渡到一個PM是向前發展的一個重要過程,但要成為一個PM不僅僅是只有技術,還要有足夠的管理能力。一個PM的工作內容大概就是組織團隊,控制成本,管理業務,控制項目進度,與客戶進行溝通,協調工作,定期進行工作報告等。所以要成為一個優秀的PM,組織能力尤為重要,PM必須能提高團隊的積極性,發揮團隊所長,在有限的開發資源下為公司謀得最大的利潤。成為一個PM后,通常不用直接接觸技術,著重管理的是業務發展。但要成為一個成功PM除了管理能力,對技術也得有足夠的了解,因為這是與團隊成員溝通的橋梁,只有這樣才能與團隊成員緊密結合,讓他們感覺到自己存在的意義,從而調動團隊的積極性。技術并非成為一個成功PM的充分條件但卻是必要條件!
技術要能達到PM的水平,肯定是需要熟練掌握技能和充分了解一些底層原理的。

2. 從程序員向技術管理發展

其實一個Team Leader的職責與Project Manager相像,Team Leader更著重于技術開發方面,通常一個大型項目都會有一兩個開發團隊由Team Leader帶領,負責開發核心部分,而其它部分分派給不同開發小組或者分派給外包公司。在網上??吹綆拙湓?,貼切地形容了PM與TL的區別:“技術人員樂于被領導;但他們不喜歡被管理,不喜歡像牛一樣被驅趕或指揮。管理者強迫人們服從他們的命令,而領導者則會帶領他們一起工作。管理是客觀的,沒有個人感情因素,它假定被管理者沒有思想和感受,被告知要做什么和該如何做。領導是引領、引導,它激勵人們達成目標。領導力是帶有強烈個人感情色彩的,它不是你能命令的,也不是你能測量評估和測試的?!?/p>

無論是PM與TL,對業務與技術都要有深入的了解,只是PM更側重于業務的管理,盈利的多少,風險的大小等等,而TL則側重于項目的成本,開發的難度,軟件的架構等技術方面的問題。只要及時提升自己對技術與管理的認識,不斷地向深一層發展,要從程序員提升到技術管理人員只是時間的問題。打個比方,一個普通的.NET程序員,開始可能限制于ASP.NET的頁面開發,但一旦他有了發展之心,他自然會對ASP.NET MVC、Silverlight、WinForm、WPF這些UI的開發手法感到興趣,學習不需要多少時間,他可能就會認識這些UI開發只不過是一些工具,其實在開發原理上沒什么區別。接著他就會向深一層的通訊模式進行了解,認識TCP/IP、Web Service、WCF、Remoting這些常用到的通訊方式,這時候他可能已經感覺到自己對開發技術有了進一步的了解。進而向工作流、設計模式、面向對象設計、領域驅動設計、面向服務開發等高層次進發,最后成為技術的領導者。上面只是一個比喻,但要注意的是,在學習的時期必須注意的是與同事之間溝通,很多的開發人員喜歡獨來獨往,開發的項目總想一個人搞定,不受外界的干擾。但要明白,就算你有天大的本事,一項大型的項目也不可能由你一個人全扛著。所以團隊的合作性與同事間的溝通是必要的,這也是一個成功TL的必要條件。

3. 單方面向技術發展

很多從事開發的人都會認為,業務總會帶著“金錢的味道”,老板從來不管開發是否合符開發原則,有否經過必要測試,他們只會在客戶面前無盡地吹噓,項目到期能成功交貨,只要不出什么大問題那這個項目就算成功了。其實我們也要明白:開發項目最終目標是為了賺錢,在開發過程中對項目成本的限制和效率的控制這也是必須,所以這才需要管理人員對項目進行管理。但開發人員也很想避開這“金錢的塵囂”,全情投入到技術的世界的當中。所以對技術有著濃厚興趣的人,往往會深入地研究某一項技術,成為技術上的精英。要想成為尖端的開發者,必須對C、C++、匯編語言、嵌入式開發、Windows API、Linux API這些底層技術有著深入的了解。要知道解JAVA、.NET……等這些之所以稱為高級開發語言,并不是指它們比C、C++、匯編語言更高級,而是指它們封裝了C、C++等等的功能,更適合用于企業軟件的開發,使開發變得簡單。但如果要開發一些底層的軟件,大型的系統的時候,就必須用到C、C++、匯編等開發語言,這是成功尖端人才的一個條件。

確定未來的目標

人是從歷練中成長的,古人云:三十而立,形容的不是一個人的社會地位,經濟來源,而是形容一個人對未來的目標,對人生的意向。要成為一個成功人,就應該早日為自己定下長期的發展目標,作為一個開發者也當如此。隨著人的性格,取向各有不同,大家為自己所選擇的路也有不同:

1.自立門戶,勇敢創業

快30歲了,很多人會認為要想真正賺得了錢,就應該自立門戶,為自己創業建立一個基礎。在生活壓力之下,大多數開發人員的目標都是自主創業,想要達到這個目標,就應該更多地把業務作為重點。所以想要創業的人需要與合作伙伴保持互利互動的模式,這將有利于日后事業的發展。

2. 急流勇退,退居二線

這也是不少人的選擇。很多人在有了家庭以后,感覺到壓力太大,人的一生并非只有事業,他們想把更多時間用于對親人的照顧,對孩子的關心上。所以很多人會選擇一份像系統分析、系統維護、高校教師、專業學院講師這一類的工作。收入穩定,而且往往沒有一線開發人員那么大的壓力。

3. 不懈努力,更進一步

無論你是一個Project Manager或者是Team Leader,如果你想繼續晉升一級,那還是會兩極分化的。從一個PM到一間公司的管理層,那所面對的事件會有很多變化。一個公司的總經理,要管理的不再是一到兩個項目的成本,而是整個部門的運作,整間公司的業務流程,所以要肩負的任務的會更重。高級管理層平常只會在某些會議上輕輕地亮下相,說兩句講詞,平常的公司運作與業務管理都不需要他直接執行。這并不是說一個作為管理層很清閑,因為他們要面對的是更多的社會關系,與公司合作企業的聯系上。這跟一個PM的工作的很大的區別,所以要從一個PM晉升到管理層,那可是要負出更多的努力與汗水。

如果要從Team Leader上升為一個技術總監,那工作的方向也有所改變。像之前所說:一個TL可能更重視的是技術層面,講求與團隊之間的互動合作性,更注重的是開發的完善。而一個技術總監就無需要直接參加某個項目的開發,而注意的是開發的效率與成果,如何合理使用有限的開發資源,控制開發的風險和可能帶來的效果。


整理:玲瑯

來源:知乎@愛敲代碼的老男孩

每期開班座位有限,預約報名可優先享有占座特權

溫馨提示:請保持手機暢通,咨詢老師 將為您提供專屬的一對一報名服務。

歐柏泰克-湖南計算機學校-長沙it軟件編程學校-男生學什么專業-互聯網專修學院

微信公眾號

咨詢QQ:3173829317 聯系電話: 0731-88720118
地址: 湖南省長沙普瑞西路139號歐柏泰克互聯網科技園
湘ICP備16017645號 公網安備案號 : 430112020004401

信息有誤

學校會盡快與您聯系,請保持手機暢通。

国产午夜无码片在线观看影院