天津藍白金(微信 ID :tjbdqn2001)
在Java程序界流行著一種默認的說法叫「黃金5年」,意思是說,一個Java程式設計師從入職的時候算起,前五年的選擇直接影響著整個職業生涯的發展方向和薪資走向。
而這5年,也決定了一個程式設計師能否成為職業大牛的可能。那麼,在這黃金5年,Java程式設計師如何做才能實現自我突破呢?
首先,對尚未進入職場工作的在校生以及準備轉行Java的同學的建議:一定要從最基礎的知識學起,學習Java基礎的時候,應該儘量多動手寫,寫出來運行一下,會發現很多問題。學完基礎內容之後,對Java有一個基本的了解之後,不要著急著進入更高級的學習,嘗試用Java語言寫出一些簡單的程序鍛鍊自己。
在這段時間裡,想必對Java已經有了一個較為深入的了解。首先,要非常熟悉設計模式,日常要多看一些關於代碼編寫優化的書,提高自己的代碼能力,能夠寫出一手優雅的代碼;其次,在工作過程中肯定接觸過並發,應該更加深入地去了解並發的相關知識;最後,要對所使用的框架和Java的類庫有一定的研究,還需要去看一些JDK中的類的源碼,包括自己日常所使用的框架的源碼。總而言之,這個階段,
需要做的是深入了解Java底層和Java類庫,也就是JVM和JDK的相關內容。處於這個階段,說實話很難再提升代碼能力了,因為這個階段的學習會比較多樣化。在前三年的工作中,相信或多或少都會接觸一些其它的技術,比如大數據、分布式緩存、分布式消息服務、分布式計算、軟負載均衡等技術,你能精通任何一項,都將是你未來面試時巨大的優勢。因此,如果自己對某一項技術感興趣,
這時可以深入去研究,即使這項技術不一定會在工作時用到,但一定是相關的。到了這個階段,應該遇到了所謂的「技術瓶頸期」了。不要急於提高自己的技術,此時更重要的是提高你的影響力。可以嘗試去一些知名公司提高你的就業背景;也可以發表一些技術文章去影響更多的人;還可以去Github創建一個屬於自己的開源項目,打造屬於自己的產品。
這個時候提高自己的影響力主要是可以給自己創造更多的機會,所以,這個階段最大的任務是提高自己的影響力,為未來工作生涯做準備。對於軟體開發同學而言,首先要客觀認識自身的情況,想清楚自己現在要什麼、未來要什麼,做好職業規劃,從而選擇不同類型的企業。架構師,是Java開發人員非常嚮往的一個角色。架構師需要擁有完善和紮實的技術體系,具備較好系統分析和設計能力,豐富的項目研發經驗。
架構師是一個漫長的積累過程,大部分架構師的年齡在35歲左右,這個階段就是程式設計師的黃金期。程式設計師要向一名架構師發展,需要進一步加強技能的修養。對於網際網路公司來言,最重要的技能是對網絡和分布式系統的理解,比較麻煩的是分布式系統,除了分布式,在現在大型網際網路企業中,還需掌握高性能、深入淺出、性能調優、Spring、JVM等技術。
當然,也有一些運氣比較好的程式設計師,不但負責項目的設計工作,而且還負責項目的管理工作,對項目經理這個工作有一定的嘗試。因此,這類程式設計師可以審視一下自己,是否合適這項工作,如果自己對這種工作比較滿意,而且具備項目經理的要求,則可以向項目經理這個方向發展。項目經理的工作重點已經從編程轉移到對人、對技術、對進度、對項目的管理,因此,項目經理必須要了解軟體開發的各個環節、了解開發的各種技術和運用、了解開發隊伍人員的水平和特點。
在日常的工作和生活中就得側重鍛鍊這方面的能力,還要學習一些項目管理的知識,例如:PMP、CMMI、敏捷開發管理等。從程式設計師到項目經理可以使項目經理更好地理解程式設計師在項目中的地位和作用,了解軟體開發的各種規律性的東西,從而保證項目的正常完成。而且,項目經理的收入和地位在公司裡也是比較高的,因此,走向項目經理是程式設計師的另一個發展空間。很多程式設計師希望自己能成為公司中的主管、或項目經理等管理人員,無論是收入還是地位都會相對高一些。另外,還有一些程式設計師可能厭倦了日復一日枯燥而繁瑣的編程工作,希望藉助走向管理崗擺脫這種步步緊逼的工作狀態。當然,走向管理者就要求程式設計師要比一般人做更多的準備,做更多的轉型工作。由於軟體公司的管理者不同於一般公司的管理者,專業能力越強,管理起來就越得心應手,沒有專業能力的管理,遇到的問題很多,也很難解決。所以,想要往管理者發展的程式設計師,一定要把編程、項目設計、項目管理等基礎打好,這樣轉型到管理者成功率就會高一些,而且到時候也能更加得心應手。
各個子系統之間要進行通信,必須要選擇一種或多種通信協議,現代比較常見的是基於HTTP的協議。所以,了解更多協議對於學習安全也有很大的幫助,比如MySQL和PostgreSQL的協議都有安全的設計。系統之間通過網絡傳輸或者存儲到文件時,肯定只有一種格式,就是字符串。要將複雜的數據結構與字符串之間進行轉換,就需要用到序列化,簡單的序列化如JSON和XML,稍微複雜些的有protobuf、thrift等。需要了解所有這些序列化方式之間的優勢和劣勢。比如JSON和XML只能用於傳遞數據,而protobuf與thrift還可以用來做RPC協議,至少要確保每種序列化方式都自己嘗試過hello world。要形成自己的資料庫選取風格,就需要先對自己常用的資料庫有足夠深入的了解。對於關係式資料庫,除了一般的Create、Query、Delete、Update操作外,還需要能自行建立索引、資料庫的平行擴展、了解如何進行性能調試,以及了解常見查詢操作的性能級別、常見的查詢性能瓶頸點。需要關注的是每個目錄下的文件數不應該太多,當一個目錄下文件數(實際是inode數量,包括文件和目錄)超過1000時,性能就很差了。所以,建議將一個系統中要存儲的對象ID做16進位,隨後每2位16進位做成一級目錄,這樣可以確保每個目錄下的文件數不會超過256個。現代雲計算,如Amazon S3已經把存儲的問題解決的很好了,如果可能,儘量用好。多注意了解自己關注方向的所有框架的優勢和劣勢,選擇最適合自己的,而不是選擇最新的。主要是指接口協議,或者RPC協議。系統之間進行RPC調用很常見,注意選擇自己能熟練使用的,並且有所深入研究,並了解其常見的限制。RESTful API就是個比較常見的選擇,但是性能並不好,自己要對性能等參數有量化的了解,而不是簡單的一句好或不好。短連接接口在三次握手時是串行操作,要了解其為何耗時。除了要在如上的各種不可或缺的組成部分中有所了解,還要能清楚地知道一些常用系統模塊的原理,並能夠很深入的玩起來。1、HTTP伺服器:常見的無非是nginx、apache,自己要能進行基本配置,包括靜態文件、fastcgi轉發等。2、 關係式資料庫:常見的如mysql、postgresql、sqlite,自己要對每一種都有深入的了解,可以做一遍常見操作的性能測試,並牢記於心。比如sqlite雖然並不需要走網絡,但是實際查詢性能很差。3、NoSQL資料庫:memcache、redis、mongodb等,近幾年有很多,挨個了解其實現原理,以及各種常用操作的性能,當有需要時,隨時能拿得出手來用。4、雲計算平臺:幾種常見的雲計算平臺的應用方式要有了解,如Google的資源方式和Amazon的VPS方式,每種雲計算平臺往往還會提供一大堆附加服務,比如可靠資料庫,存儲,緩存等,也要分別有所了解。5、 加密/籤名技術:常見如truecrypt、openssl、gnu pg、sha1、md5、scrypt等,了解各種加密/籤名技術的安全性、字長等,並都能自己做過hello world。
北大青鳥藍白金學士後Java7.0課程:
適用人群
年滿20周歲,大專以上學歷;
適合大學生,在職提升、轉行或待業人群等有志於進入IT軟體行業發展的人群。
培養目標
1、精通javaEE平臺開發的java軟體工程師,能夠勝任各種行業的企業級軟體開發工作;
2、具備一年以上軟體開發經驗;
3、熟悉java軟體開發流程;具備解決目前主要問題的能力;
4、良好的語言表達、共同能力、工作責任心和團隊意識。
在線學習:在線自主學習,提高碎片時間的利用,視頻內容靈活,實時更新,與面授相輔相成,提高教學效果!
面授講解:專家導師面對面指導,構建良好學習氛圍,交流互動答疑更直接,更便利!
項目實操:項目難度由淺入深,規模由小到大,符合學習規模,9大行業,十八個項目,超過3萬行代碼訓練。
雲題庫考核:集面試題、測試題為一體,自主測試與考核測試,一測搞定,上萬道測試題。驗證薄弱點,真正做到有的放矢。
發展前景
根據IDC的統計數字,在所有軟體開發類人才的需求中,對java工程師的需求達到全部需求量的60%-70%。同時,java工程師的薪水相對較高。java軟體工程師一般月薪範圍在5000-10000元,遠遠超過了應屆畢業生月薪2500元的平均水平。通常來說,有一年工作經驗的java高級軟體工程師的薪酬大致在年薪10-13萬左右。
北大青鳥天津藍白金支持你成為一個受人尊重的專業人才!
那麼,你準備好了嗎?北大青鳥藍白金軟體園高薪就業班,歡迎你!
快來學到一門受益終生並改變你生活的的IT技術吧!
北大青鳥天津藍白金擁有20餘年職業教育經驗,學校依託北京大學優質雄厚的教育資源和背景,秉承「教育改變生活」的發展理念,一直致力於培養中國IT技能型緊缺人才。累計培養和輸送數萬名IT職業化人才進入IT行業,得到了社會各界廣泛的認可,是一所家長信任、學員喜歡的北大青鳥學校!
天津藍白金學校將繼續以永不妥協的教育品質,為學員提供更為優質的培訓服務,讓每一位學員更具自信與競爭力,培養職場精英,成就每一個家庭的幸福生活。
北大青鳥藍白金學校地址
天津市南開區白堤路中教儀大樓三樓
(南開區白堤路龍興裡9號)
網址:www.accptj.cn
學習熱線:022-87893245
和小編互動哦!
來源:網絡