第一篇:怎樣成長為以一個真正的java程序員
很多網(wǎng)友問我學(xué)習(xí)Java有沒有什么捷徑,我說“無他,唯手熟爾”。但是我卻很愿意將自己學(xué)習(xí)的一些經(jīng)驗(yàn)寫出來,以便后來者少走彎路,幫助別人是最大的快樂嘛!
要想學(xué)好Java,首先要知道Java的大致分類。我們知道,自從Sun推出Java以來,就力圖使之無所不包,所以Java發(fā)展到現(xiàn)在,按應(yīng)用來分主要分為三大塊:J2SE,J2ME和J2EE,這也就是Sun ONE(Open Net Environment)體系。J2SE就是Java2的標(biāo)準(zhǔn)版,主要用于桌面應(yīng)用軟件的編程;J2ME主要應(yīng)用于嵌入是系統(tǒng)開發(fā),如手機(jī)和PDA的編程;J2EE是Java2的企業(yè)版,主要用于分布式的網(wǎng)絡(luò)程序的開發(fā),如電子商務(wù)網(wǎng)站和ERP系統(tǒng)。J2SE開發(fā)桌面應(yīng)用軟件比起VC,VB,DEPHI這些傳統(tǒng)開發(fā)語言來說,優(yōu)勢好象并不明顯。J2ME對于初學(xué)者來說,好象又有點(diǎn)深奧,而且一般開發(fā)者很難有開發(fā)環(huán)境。所以現(xiàn)在應(yīng)用最廣泛又最好學(xué)的就是J2EE了。J2EE又包括許多組件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要學(xué)習(xí)起來可不是一兩天的事。
那么又該如何學(xué)習(xí)J2EE呢?當(dāng)然Java語法得先看一看的,I/O包,Util包,Lang包你都熟悉了嗎?然后再從JSP學(xué)起。如果你學(xué)過HTML,那么事情要好辦的多,如果沒有,那你快去補(bǔ)一補(bǔ)HTML基礎(chǔ)吧。其實(shí)JSP中的Java語法也不多,它更象一個腳本語言,有點(diǎn)象ASP。然后你就該學(xué)一學(xué)Servlet了。Servlet就是服務(wù)器端小程序,他負(fù)責(zé)生成發(fā)送給客戶端的HTML文件。JSP在執(zhí)行時,也是先轉(zhuǎn)換成Servlet再運(yùn)行的。雖說JSP理論上可以完全取代Servlet,這也是SUN推出JSP的本意,可是Servlet用來控制流程跳轉(zhuǎn)還是挺方便的,也令程序更清晰。接下來你應(yīng)該學(xué)習(xí)一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代碼的混亂方式了,這種方式跟ASP又有什么區(qū)別呢?還好,SUN提供了Javabean可以把你的JSP中的Java代碼封裝起來,便于調(diào)用也便于重用。接著就是EJB了,EJB就是Enterprise JavaBean,看名字好象它是Javabean,可是它和Javabean還是有區(qū)別的。它是一個體系結(jié)構(gòu),你可以搭建更安全、更穩(wěn)定的企業(yè)應(yīng)用。它的大量代碼已由中間件(也就是我們常聽到的Weblogic,Websphere這些J2EE服務(wù)器)完成了,所以我們要做的程序代碼量很少,大部分工作都在設(shè)計和配臵中間件上。至于JDBC,就不用我多說了,你如果用java編過存取數(shù)據(jù)庫的程序,就應(yīng)該很熟悉。還有,如果你要用Java編發(fā)送電子郵件的程序,你就得看看Javamail了。
好了,對Java和J2EE有了一些基本概念之后,你就應(yīng)該編一些程序了,千萬不要紙上談兵哦。最好找一些有實(shí)例且?guī)Ч獗P的書來看,這樣看到好的程序就可以直接Ctrl+C再Ctrl+V,也不用勞您老大架再親自把它再輸一遍吧,再說直接復(fù)制還不用怕出錯,何樂而不為呢!還有就是要經(jīng)常上一些好的Java編程文章,有好的文章要Cut下來,有問題盡管問,只要問題不是太傻,一般高手都會回答你的。下面介紹幾個好的Java方面的編程網(wǎng)站:
CSDN論壇http://?csdn IBM可是Web服務(wù)的力推者 嗚…你費(fèi)勁千心萬苦,總算成為Java高手了,怎叫人不由喜極而泣呢!是啊,真不容易,真不簡單,真叫人感動??!那么打個電話告訴我吧,什么?我的電話號碼是多少?昏到,你打電話問不就知道了嗎,真是的……
如上是在網(wǎng)上考下來的,但個人認(rèn)為SCJP證書也好,程序員等級證書也好,不要太看重它;關(guān)鍵是你手中有沒有技術(shù),能不能拿出活來。我面試時候都是以證書為參考,主要衡量你的手段還是提問技術(shù)性問題以及一些編程方面的基礎(chǔ)問題。建議不要把證書看的太重。
第二篇:怎樣成長為以一個真正的java程序員
很多網(wǎng)友問我學(xué)習(xí)Java有沒有什么捷徑,我說“無他,唯手熟爾”。但是我卻很愿意將自己學(xué)習(xí)的一些經(jīng)驗(yàn)寫出來,以便后來者少走彎路,幫助別人是最大的快樂嘛!
要想學(xué)好Java,首先要知道Java的大致分類。我們知道,自從Sun推出Java以來,就力圖使之無所不包,所以Java發(fā)展到現(xiàn)在,按應(yīng)用來分主要分為三大塊:J2SE,J2ME和J2EE,這也就是Sun ONE(Open Net Environment)體系。J2SE就是Java2的標(biāo)準(zhǔn)版,主要用于桌面應(yīng)用軟件的編程;J2ME主要應(yīng)用于嵌入是系統(tǒng)開發(fā),如手機(jī)和PDA的編程;J2EE是Java2的企業(yè)版,主要用于分布式的網(wǎng)絡(luò)程序的開發(fā),如電子商務(wù)網(wǎng)站和ERP系統(tǒng)。J2SE開發(fā)桌面應(yīng)用軟件比起VC,VB,DEPHI這些傳統(tǒng)開發(fā)語言來說,優(yōu)勢好象并不明顯。J2ME對于初學(xué)者來說,好象又有點(diǎn)深奧,而且一般開發(fā)者很難有開發(fā)環(huán)境。所以現(xiàn)在應(yīng)用最廣泛又最好學(xué)的就是J2EE了。J2EE又包括許多組件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要學(xué)習(xí)起來可不是一兩天的事。
那么又該如何學(xué)習(xí)J2EE呢?當(dāng)然Java語法得先看一看的,I/O包,Util包,Lang包你都熟悉了嗎?然后再從JSP學(xué)起。如果你學(xué)過HTML,那么事情要好辦的多,如果沒有,那你快去補(bǔ)一補(bǔ)HTML基礎(chǔ)吧。其實(shí)JSP中的Java語法也不多,它更象一個腳本語言,有點(diǎn)象ASP。然后你就該學(xué)一學(xué)Servlet了。Servlet就是服務(wù)器端小程序,他負(fù)責(zé)生成發(fā)送給客戶端的HTML文件。JSP在執(zhí)行時,也是先轉(zhuǎn)換成Servlet再運(yùn)行的。雖說JSP理論上可以完全取代Servlet,這也是SUN推出JSP的本意,可是Servlet用來控制流程跳轉(zhuǎn)還是挺方便的,也令程序更清晰。接下來你應(yīng)該學(xué)習(xí)一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代碼的混亂方式了,這種方式跟ASP又有什么區(qū)別呢?還好,SUN提供了Javabean可以把你的JSP中的Java代碼封裝起來,便于調(diào)用也便于重用。接著就是EJB了,EJB就是Enterprise JavaBean,看名字好象它是Javabean,可是它和Javabean還是有區(qū)別的。它是一個體系結(jié)構(gòu),你可以搭建更安全、更穩(wěn)定的企業(yè)應(yīng)用。它的大量代碼已由中間件(也就是我們常聽到的Weblogic,Websphere這些J2EE服務(wù)器)完成了,所以我們要做的程序代碼量很少,大部分工作都在設(shè)計和配臵中間件上。至于JDBC,就不用我多說了,你如果用java編過存取數(shù)據(jù)庫的程序,就應(yīng)該很熟悉。還有,如果你要用Java編發(fā)送電子郵件的程序,你就得看看Javamail了。
好了,對Java和J2EE有了一些基本概念之后,你就應(yīng)該編一些程序了,千萬不要紙上談兵哦。最好找一些有實(shí)例且?guī)Ч獗P的書來看,這樣看到好的程序就可以直接Ctrl+C再Ctrl+V,也不用勞您老大架再親自把它再輸一遍吧,再說直接復(fù)制還不用怕出錯,何樂而不為呢!還有就是要經(jīng)常上一些好的Java編程文章,有好的文章要Cut下來,有問題盡管問,只要問題不是太傻,一般高手都會回答你的。下面介紹幾個好的Java方面的編程網(wǎng)站:
CSDN論壇http:/// 那里Java資料比較全;java.com.cn http://.cn/ 看這域名就知道有多牛,注冊用戶快接近一萬了,同時在線人數(shù)也在一千左右,人氣很旺的;
IBM的開發(fā)者網(wǎng)http:// IBM永遠(yuǎn)的藍(lán)色巨人;
那么我書也看了,程序也做了,別人問我的問題我都能解決了,是不是就成為高手了呢?當(dāng)然沒那么簡單,這只是萬里長征走完了第一步。不信?那你出去接一個項(xiàng)目,你知道怎么下手嗎,你知道怎么設(shè)計嗎,你知道怎么組織人員進(jìn)行開發(fā)嗎?你現(xiàn)在腦子里除了一些散亂的代碼之外,可能再沒有別的東西了吧!你現(xiàn)在最缺的是實(shí)際的工作經(jīng)驗(yàn),而不是書本上那些憑空想出來的程序。所以你快去找一份Java的編程工作來做吧(如果是在校學(xué)生可以去做兼職?。?,在實(shí)踐中提高自己,那才是最快的。不過你得祈禱在公司里碰到一個高手,而且他還愿意不厭其煩地教你,這樣好象有點(diǎn)難哦!
還有一個辦法就是讀開放源碼的程序了。我們知道開放源碼大都出自高手,他們設(shè)計合理,考慮周到,再加上有廣大的程序員參與,代碼的價值自然是字字珠嘰,鏗鏘有力(對不起,最近《金裝四大才子》看多
了)。學(xué)Java必讀的兩個開源程序就是Jive和Pet Store.。Jive是國外一個非常著名的BBS程序,完全開放源碼。論壇的設(shè)計采用了很多先進(jìn)的技術(shù),如Cache、用戶認(rèn)證、Filter、XML等,而且論壇完全屏蔽了對數(shù)據(jù)庫的訪問,可以很輕易的在不同數(shù)據(jù)庫中移植。論壇還有方便的安裝和管理程序,這是我們平時編程時容易忽略的一部份(中國程序員一般只注重編程的技術(shù)含量,卻完全不考慮用戶的感受,這就是我們與國外軟件的差距所在)。Jive的資料在很多網(wǎng)站上都有,大家可以找來研究一下。相信你讀完代碼后,會有脫胎換骨的感覺。遺憾的是Jive從2.5以后就不再無條件的開放源代碼,同時有l(wèi)icence限制。不過幸好還有中國一流的Java程序員關(guān)注它,外國人不開源了,中國人就不能開源嗎?這里向大家推薦一個漢化的Jive版本—J道。Jive(J道版)是由中國Java界大名鼎鼎的banq在Jive2.1版本基礎(chǔ)上改編而成, 全中文,增加了一些實(shí)用功能,如貼圖,用戶頭像和用戶資料查詢等,而且有一個開發(fā)團(tuán)隊(duì)在不斷升級。你可以訪問banq的網(wǎng)http:/// 去下載,或到同濟(jì)技術(shù)論壇的服務(wù)器上ftp://nro.shtdu.edu.cn去下,安裝上有什么問題,可以到論壇上去提問。Pet Store.(寵物店)是SUN公司為了演示其J2EE編程規(guī)范而推出的開放源碼的程序,應(yīng)該很具有權(quán)威性,想學(xué)J2EE和EJB的朋友不要錯過了。
你一定會高興地說,哈哈,原來成為Java高手就這么簡單啊!記得我也曾碰到過一個項(xiàng)目經(jīng)理,號稱Java很簡單,只要三個月就可以學(xué)會。其實(shí)說這種話的人就如當(dāng)年小日本號稱“三個月拿下中國”一樣大言不慚。不是我潑你冷水,你現(xiàn)在只是學(xué)到了Java的骨架,卻還沒有學(xué)到Java的精髓。接下來你得研究設(shè)計模式了。設(shè)計模式是高級程序員真正掌握面向?qū)ο蠛诵乃枷氲谋匦拚n。設(shè)計模式并不是一種具體“技術(shù)”,它講述的是思想,它不僅僅展示了接口或抽象類在實(shí)際案例中的靈活應(yīng)用和智慧,讓你能夠真正掌握接口或抽象類的應(yīng)用,從而在原來的Java語言基礎(chǔ)上躍進(jìn)一步,更重要的是,設(shè)計模式反復(fù)向你強(qiáng)調(diào)一個宗旨:要讓你的程序盡可能的可重用。關(guān)于設(shè)計模式的資料,還是向大家推薦banq的網(wǎng)http:///,他把GOF的23種模式以通俗易懂的方式詮釋出來,純Java描述,真是經(jīng)典中的經(jīng)典。有時間再研究一下MVC結(jié)構(gòu)(把Model-View-Control分離開的設(shè)計思想)吧,現(xiàn)在很流行的Structs就是它的一種實(shí)現(xiàn)方式,不過Structs用起來實(shí)在是很繁,我們只要學(xué)習(xí)其精髓即可,我們完全可以設(shè)計自己的MVC結(jié)構(gòu)。然后你再研究一下軟件Refactoring(重整)和極限XP編程,相信你又會上一個臺階。
做完這些,你不如整理一下你的Java代碼,把那些經(jīng)典的程序和常見的應(yīng)用整理出來,再精心打造一番,提高其重用性和可擴(kuò)展性。你再找?guī)讉€志同道合的朋友成立一個工作室吧,你可以去承接一些項(xiàng)目做了,一開始可能有些困難,可是你有技術(shù)積累,又考慮周全,接下項(xiàng)目來可以迅速作完,相信大家以后都會來找你的,所以Money就嘩啦啦的來了。。。
當(dāng)然你也可以參加一些開源項(xiàng)目,一方面可以提高自己,另一方面也是為中國軟件事業(yè)做貢獻(xiàn)嘛!開發(fā)者在互聯(lián)網(wǎng)上用CVS合作開發(fā),用QQ,MSN,E-mail討論聯(lián)系,天南海北的程序員分散在各地卻同時開發(fā)同一個軟件,是不是很有意思呢?
下面介紹兩個好的開源項(xiàng)目網(wǎng)站:
湖北省軟件公共開發(fā)平http://gro.clinux.org/
共創(chuàng)聯(lián)http://cosoft.org.cn/
哇,好高興哦,我終于成為高手了!非也,非也。古人云:“識時務(wù)者為俊杰”。你知道計算機(jī)界現(xiàn)在的發(fā)展形勢嗎?你知道微軟的.NET藍(lán)圖和SUN ONE計劃之間的明爭暗斗嗎?你知道計算機(jī)技術(shù)將向何處發(fā)展嗎?其實(shí)從各大計算機(jī)廠商最近的動作,都可以看出來“Web服務(wù)將是下一代互聯(lián)網(wǎng)應(yīng)用的制高點(diǎn)”,而微軟的.NET藍(lán)圖和SUN ONE計劃的斗爭焦點(diǎn),也就是Web服務(wù)。Web服務(wù)就是一個嶄新的分布式計算模型,它是一系列標(biāo)準(zhǔn)的綜合(XML,SOAP,UDDI,WSDL和WSFL等)。它使得不同語言編寫的軟件能夠輕易的集成起來,使網(wǎng)絡(luò)資源和Web站點(diǎn)變成一種服務(wù)而不是混亂的垃圾場。不遠(yuǎn)的將來,我們就可以在家里點(diǎn)擊一下鼠標(biāo),就可以完成出門旅游的全部準(zhǔn)備工作,包括定飛機(jī)票,定旅游線路,定好房間等。請注意,這所有的一切都是Web站點(diǎn)間自動完成的,再也不用象現(xiàn)在一樣,表面上是電子商務(wù),實(shí)際上很多環(huán)節(jié)都是人工操作。也許你會覺得這是天方夜談,不過就近的說,你也很有可能承接一個項(xiàng)目,要集成兩個企業(yè)的ERP系統(tǒng)。很有可能上游企業(yè)的系統(tǒng)是用Dephi編的,而下游企業(yè)的系統(tǒng)是用Java編的。你說你是Java高手,大家
都看者你怎么做呢。所以啊,你還得學(xué)習(xí)新技術(shù),如Web服務(wù),而且你Dephi也要懂一點(diǎn)吧(Dephi6現(xiàn)在已經(jīng)提供Web服務(wù)的控件了)。你編的Java系統(tǒng),可能要和.NET集成,所以你.NET要懂一點(diǎn)吧?到最后,你可能發(fā)現(xiàn)你已經(jīng)成為Java高手了,但很多時間卻在搞別的技術(shù)。太極張三豐里說,最厲害的招式就是沒有招式,可能就是這個道理吧!
因?yàn)閯倓偱d起,所以網(wǎng)上Web服務(wù)的資料不是很多,我還是給大家推薦幾個網(wǎng)站吧:
中國UDDI技術(shù)聯(lián)http:///developerWorks/cn/xml/index.shtml?csdn IBM可是Web服務(wù)的力推者
嗚…你費(fèi)勁千心萬苦,總算成為Java高手了,怎叫人不由喜極而泣呢!是啊,真不容易,真不簡單,真叫人感動啊!那么打個電話告訴我吧,什么?我的電話號碼是多少?昏到,你打電話問不就知道了嗎,真是的……
如上是在網(wǎng)上考下來的,但個人認(rèn)為SCJP證書也好,程序員等級證書也好,不要太看重它;關(guān)鍵是你手中有沒有技術(shù),能不能拿出活來。我面試時候都是以證書為參考,主要衡量你的手段還是提問技術(shù)性問題以及一些編程方面的基礎(chǔ)問題。建議不要把證書看的太重。
第三篇:【免費(fèi)下載】一個80后Java程序員的成長道路
來源于:http://dayang2001911.javaeye.com/blog/
一個80后Java程序員的道路
寫給想了解部分程序員職業(yè)發(fā)展生涯的人看,寫給準(zhǔn)備跳槽的程序員們看,寫給有過和我類似經(jīng)歷的同行們看,寫給自己看,寫給我的女朋友看,寫給其他行業(yè)中也想去努力拼搏的人看。
一、我的情況簡介
我是一名有3年多工作經(jīng)驗(yàn)的程序員,或者說是高級軟件工程師。
本科曾經(jīng)就讀于西安電子科技大學(xué),學(xué)過數(shù)學(xué)專業(yè),那時候國家建立了36所示范性的軟件學(xué)院,我一眼熱就改專業(yè)、轉(zhuǎn)學(xué)院,學(xué)了軟件工程。這個教育背景寫到簡歷上應(yīng)該還是不錯的,不過我在軟件學(xué)院其實(shí)沒怎么學(xué)軟件,所以找工作的時候自己心里都沒底。
沒好好學(xué)軟件的原因是那時候覺得軟件也不是我喜歡的,又打算考個經(jīng)濟(jì)學(xué)的研究生,想以后搞企業(yè)。最終研究生也沒能考上,又要養(yǎng)活自己,所以只好還是以軟件開發(fā)為生,在西安一家國企性質(zhì)的IT公司工作,公司主要給銀行做,公司老總也是原來銀行的一些小領(lǐng)導(dǎo)。
就這樣,我在這個公司從畢業(yè)一直干了3年,從一開始我沒什么基礎(chǔ),java都要自己現(xiàn)學(xué)(學(xué)校里是開這門課了的,畢設(shè)也用java做的),到三年之后我跳槽離開,可以說積累了一些開發(fā)經(jīng)驗(yàn)。從工資級別上看,離開時也是高級軟件工程師里的最高級了。
套用一句郭德綱的經(jīng)典臺詞:“我很欣慰”。
三年里做過5,6個項(xiàng)目,還有1,2個自己做的小項(xiàng)目,從一開始的簡單的修改一些變量、常量,用ireport一點(diǎn)一點(diǎn)畫一些表格,到用cognos開發(fā)報表,做一些BI項(xiàng)目的前端展示,到獨(dú)立開發(fā)模塊,再到最后和我的小師父一塊研究jbpm開發(fā)工作流的業(yè)務(wù)項(xiàng)目。順便提一下我的小師父,也是我的同事,只因?yàn)樗任疫€小,但技術(shù)上很牛,又帶過我,所以簡稱小師父了。
回想三年,雖沒有像很多更牛、更成功的程序員們的經(jīng)歷輝煌,但從我自己來看,我真的“很欣慰”。
因?yàn)?,我知道,我一點(diǎn)一點(diǎn)磨到這一步中間的代價是什么,是我多少個夜晚沒睡好覺,去一點(diǎn)一點(diǎn)摳代碼該怎么寫換來的。三年了,我真真正正睡過幾個舒心的覺呢?
但我又覺得我可能不適合這個行業(yè),我沒有Robbin或者我的小師父那么牛的技術(shù)。別人我不知道,單從我小師父干活時表現(xiàn)出的那種素質(zhì),技術(shù),我就總覺得我真是太菜了,而且我還耗費(fèi)那么多時間不睡覺去一點(diǎn)一點(diǎn)學(xué),還花銀子去買各種技術(shù)書籍,這些我小師父是很少去做的。我發(fā)現(xiàn)我們的“投入產(chǎn)出比”實(shí)在過于懸殊。
回過頭想一下,我覺著我當(dāng)時選擇轉(zhuǎn)到軟件工程專業(yè)也挺合適我的,因?yàn)槲以仁菍W(xué)的數(shù)學(xué),是理科,轉(zhuǎn)到軟件工程,算是工科,從理科轉(zhuǎn)到工科這才是我轉(zhuǎn)專業(yè)的本質(zhì),我認(rèn)為雖然我在開發(fā)上技術(shù)還不夠精湛,但是我要是在理科可能混的更慘。我喜歡工科,我喜歡可以時不時的出些小成果的工作。
所以說,做到現(xiàn)在我也喜歡上了這個工作,這個行當(dāng),而且我希望自己技藝能更精湛,或者說編碼能更快點(diǎn)、質(zhì)量能更高點(diǎn),并且我慶幸我在第一份工作經(jīng)歷中能遇到技術(shù)高手,又能親自帶我、教我,更慶幸的是我通過第一份工作經(jīng)歷使我對軟件開發(fā)有了更多的興趣,讓我對自己的定位不模糊。雖然我現(xiàn)在不如這些技術(shù)牛人,但是我會堅持,借用一句名言“I came,I saw,I conquer”。我相信有那么一天,我會做的很好,我不會擔(dān)心自己在工作時間里憋不出那幾行代碼,我不會為了消除這種擔(dān)心而用寶貴的睡眠時間去提前開始思考、編碼,我不會不敢給項(xiàng)目經(jīng)理報我的進(jìn)度。
我以為經(jīng)過這三年的經(jīng)歷我能得到很多很多的回報,但是當(dāng)我從這個公司辭職后去找第二家公司的時候,我發(fā)現(xiàn)我能得到的回報是IT界的一種普遍回報的平均數(shù)。
二、第一次跳槽
從西安那家公司離職后,我來到北京,開始我的第一次跳槽經(jīng)歷,三個月找工作的經(jīng)歷,讓我知道了我到底值多少錢,更讓我知道了什么是競爭的殘酷性、理智性。
其實(shí)我找到第一份工作的過程很簡單,由于原來部門的經(jīng)理是我的校友,可能出于對學(xué)校的一種回報,答應(yīng)給軟件學(xué)院一些招聘名額,當(dāng)時什么都不會的我就去試了試,又正巧面試我的副經(jīng)理出差,就由經(jīng)理問了問一些筆試中的問題,和一些Java方面的問題,我記得答的不怎么樣,不過可能也沒完全答錯,也就過關(guān)了。后來想想,經(jīng)理主要是做C的開發(fā),那個副經(jīng)理才是Java出身,如果真讓副經(jīng)理面了,恐怕結(jié)果也不會這么順利。
也就是說,我第一份工作得來的還是很容易的,沒有經(jīng)過那么多次的選擇。
也許正是第一份工作得來的相對容易,第二次找工作的經(jīng)歷就被上帝公平地安排一下,參加應(yīng)聘的次數(shù)變多了,找工作的時間也延長了,用了3個月才定了下來。
人未到北京,網(wǎng)上的簡歷已經(jīng)投了很多,到了北京沒幾天就有招聘的電話打來。
三、人力外派的招聘
1.人力外派公司的職位
是一家做人力外派的公司給我打來的電話。由于我有銀行業(yè)軟件開發(fā)的背景,而他們也正有某國有銀行的項(xiàng)目需要,所以給我打了電話。到北京之前我就想,不能定的太快,要多比較一下,賣個好價錢。出于比較的心理,我答應(yīng)到公司去面試。
公司就在上地那個有著亞洲第一廳堂的大廈里,來之前由于住的地方不能上網(wǎng),也沒好好查這個公司的基本情況,并不知道是做人力派遣的,到了之后,公司的總監(jiān)很哥們似的把我拉到角落,給我介紹大致的情況。
“公司目前有兩個職位,一個是給某銀行做報表方面的項(xiàng)目,算是高級軟工,另一個是給國家某總局做項(xiàng)目,并且是跟另一家公司合作,算是系統(tǒng)分析師級別”。一聽這個情況,我首先反應(yīng),希望能更上一層樓,做做系統(tǒng)分析師,所以就說想做后者。再說到待遇,銀行那個項(xiàng)目給到稅前6K,某總局的那個項(xiàng)目可以給到7K。
2.期望待遇與實(shí)際待遇有差距
我以為憑在西安工作了三年,而且又被原單位非常認(rèn)可的程度(包括獲得優(yōu)秀員工的獎勵,工資級別是高級軟工的最高級這兩點(diǎn)),我認(rèn)為我在北京應(yīng)該得到至少至少7K的水平。而這個系統(tǒng)分析師的職位也才給到7K,使我相當(dāng)不爽。但是我也知道,不爭取是得不到好東西的,我就給那總監(jiān)說,我的理想待遇是8K,總監(jiān)說不太可能。
雖然價錢沒談攏,但是我還是想試試自己的面試能力,就同意和合作公司的技術(shù)方面的負(fù)責(zé)人去面試。
我原本以為就自己去面試,中途又加了一個,聽總監(jiān)說有近10年的工作經(jīng)驗(yàn)了,能力相當(dāng)強(qiáng),我是一個尊重經(jīng)驗(yàn)的人,因此對這位大哥也是抱著十分尊崇的心情的。
我、10年經(jīng)驗(yàn)的大哥以及外派公司的總監(jiān),我們?nèi)司偷搅四晨偩值捻?xiàng)目開發(fā)現(xiàn)場,與合作公司的技術(shù)負(fù)責(zé)人見面。
3.第一次跳槽之第一次面試
來之前,我大致準(zhǔn)備了一下,主要是想了想該怎么介紹自己的項(xiàng)目經(jīng)歷什么的。由于我最后一個項(xiàng)目的經(jīng)歷算是集大成之作,而且也因這個項(xiàng)目得到了“優(yōu)秀員工”的榮譽(yù),所以我著重準(zhǔn)備了最后一個項(xiàng)目,有關(guān)工作流的項(xiàng)目。
面試主要也是問經(jīng)歷。合作公司的負(fù)責(zé)人拿著我的簡歷看,我給他在來個同期聲,把我的經(jīng)歷介紹一下,其實(shí)這個介紹和簡歷上的也差不多。
我介紹自己:在某某年幾月到某某年幾月,我參與某信托投資公司的綜合業(yè)務(wù)系統(tǒng)的開發(fā),主要利用了
JBPM
工作流引擎實(shí)現(xiàn)該系統(tǒng)的流程部分。我的主要職責(zé)是對JBPM進(jìn)行了技術(shù)攻關(guān)、分配一些模塊、開發(fā)公用接口等工作。
負(fù)責(zé)人問了我如何對JBPM進(jìn)行的技術(shù)攻關(guān)的問題。其實(shí)當(dāng)時有我小師父在,他基本已經(jīng)弄清了JBPM的使用了,因此我的主要任務(wù)是把這個工作流引擎運(yùn)用在項(xiàng)目中,比如做出一個實(shí)際的例子,但是也有一部分對JBPM學(xué)習(xí)的任務(wù)。我就大致說了一下對JBPM技術(shù)攻關(guān)的過程,比如看了JBPM提供的例子、技術(shù)文檔,而且我們部門還邀請了上海一家公司給我們做了幾次咨詢、培訓(xùn),把他們運(yùn)用JBPM的項(xiàng)目拿出來給我們進(jìn)行了講解。為了體現(xiàn)出我的價值,我著重強(qiáng)調(diào)了自己在這個項(xiàng)目中封裝了一些流程的接口,用于給項(xiàng)目組成員使用,使他們不必對JBPM更深入了解,降低了開發(fā)難度。
之后,負(fù)責(zé)人又問了問以前我做過的項(xiàng)目,也沒什么太特別的問題,這里就不再贅述了。
輪到10年經(jīng)驗(yàn)大哥面試了,這位老兄瘦瘦的,戴副眼鏡,歪歪一坐,一副誰也不吊的樣子。負(fù)責(zé)人也像問我似的,讓他自己說說自己的經(jīng)歷,我一聽我都快坐不住了。這位老兄經(jīng)驗(yàn)豐富,而且聽他說自己非常喜歡玩各種新技術(shù),很喜歡自己鼓弄,由于這個項(xiàng)目中可能用到有關(guān)搜索方面的東西,他也說自己也用過搜索引擎lucense,其實(shí)這個我也見過,可惜從沒碰過,當(dāng)時很后悔,至少也應(yīng)該了解了解啊,這樣至少有的說嘛。
負(fù)責(zé)人又問了他有沒有做過項(xiàng)目經(jīng)理,他說也做過,不過還是喜歡做技術(shù),所以也沒做多久。給我的感覺就是,技術(shù)很牛,很有經(jīng)驗(yàn)!
我真是都不想再待在那個面試的房間里了,明擺著我就是一個陪襯。不過,我還是想,既來之則安之,面就面到最后。
合作公司的技術(shù)負(fù)責(zé)人面試完畢了,合作公司的項(xiàng)目經(jīng)理也過來面試我們。項(xiàng)目經(jīng)理問了我們一些個問題,我記得的一個問題是讓我說說我的優(yōu)缺點(diǎn)。
4.我的缺點(diǎn)
其實(shí)在離開上一家公司之前,技術(shù)總監(jiān)曾經(jīng)找我最后談話,了解我離職后的打算以及對項(xiàng)目后期的建議,談完后,我特意問了技術(shù)總監(jiān)一個問題,我問他認(rèn)為我的缺點(diǎn)有哪些,我希望通過領(lǐng)導(dǎo)的眼睛看到我不能看到的問題。
由于我們原先的公司規(guī)模不大,軟件開發(fā)部總共也就100人左右,而且我當(dāng)時所在的信托項(xiàng)目由于問題很多,技術(shù)總監(jiān)直接進(jìn)入我們項(xiàng)目組,指導(dǎo)我們的設(shè)計,并對我們實(shí)現(xiàn)的功能進(jìn)行把關(guān),最緊張的時候項(xiàng)目組全體成員
14,5個人封閉開發(fā),這也包括技術(shù)總監(jiān),因此技術(shù)總監(jiān)對我們項(xiàng)目組每個人的情況都非常了解。
在我眼中,技術(shù)總監(jiān)是一個很聰明,看問題能看到本質(zhì)的人,因此我信他說的。
作為領(lǐng)導(dǎo),作為有著豐富職場經(jīng)驗(yàn)的老手,他首先評價我有很多不錯的地方,比如我能夠從大局看待項(xiàng)目,這主要是指當(dāng)時我們項(xiàng)目極度缺乏詳細(xì)設(shè)計文檔,而缺乏設(shè)計文檔在開發(fā)初期給項(xiàng)目組造成了很多開發(fā)上的困難,開發(fā)人員不能又開發(fā),又琢磨要實(shí)現(xiàn)什么。我把這個問題反饋給了技術(shù)總監(jiān),并且詳細(xì)的列出了需要哪些功能的詳細(xì)設(shè)計文檔。
負(fù)責(zé)寫詳設(shè)的是我另一位師傅,這位同事在我進(jìn)入第一個項(xiàng)目組的時候給了我很大幫助,這次我沒有給我這位師傅留太多面子,直接把問題反應(yīng)給了技術(shù)總監(jiān),估計也造成了我和這位師傅之間的一些隔閡。
接著技術(shù)總監(jiān)看我對自己缺點(diǎn)的問題還是比較認(rèn)真的,就繼續(xù)說了下去。他說其實(shí)我在項(xiàng)目中也暴露出一些問題,可能也不算是缺點(diǎn)等等的,可見技術(shù)總監(jiān)的說話還是滴水不漏的,一點(diǎn)也不會把事情搞得讓我很難堪。
他認(rèn)為我在項(xiàng)目緊張開發(fā)的那段時間里沒能安排好自己的工作,當(dāng)時分配給了我?guī)醉?xiàng)工作,包括開發(fā)公用模塊、給其他開發(fā)人員分配任務(wù)以及開發(fā)一些自己的模塊等等,在這些工作開展的時候,我沒能把精力集中在對流程核心接口的開發(fā)中,有些任務(wù)可以分給其他人來做的沒有分配,導(dǎo)致代碼質(zhì)量不是很高、效率底下等情況。技術(shù)總監(jiān)也說,這也有他們分配任務(wù)沒考慮過細(xì)的原因等等。
我在聽完他說我的這個缺點(diǎn)之后,我的心里其實(shí)沒有太服氣,但也說不出到底是什么不服,可能有這樣一個想法,為什么你們當(dāng)時不給我指正呢?為什么項(xiàng)目經(jīng)理有那么多問題,技術(shù)總監(jiān)都給他及時的批評指正,而我卻得不到領(lǐng)導(dǎo)的這種指導(dǎo)呢?我不服氣的是,我認(rèn)為技術(shù)總監(jiān)偏袒項(xiàng)目經(jīng)理,說難聽點(diǎn)就是有幫派習(xí)氣。
雖然我對技術(shù)總監(jiān)有不滿的情緒,但是對他做事的風(fēng)格,實(shí)事求是分析問題的方法還是非常佩服,所以對技術(shù)總監(jiān)說的我的缺點(diǎn)很留心,離職后,我立馬琢磨他所說的意思。
后來我在吸收了技術(shù)總監(jiān)意見的基礎(chǔ)上,總結(jié)出了我的缺點(diǎn)就是,有時候不能安排好自己工作的優(yōu)先級。針對這樣的問題,我自己想了想解決方法,應(yīng)該先把公用的東西優(yōu)先做出來,涉及到別人的東西也要先做,可以分配給別人做的應(yīng)該分出去,自己只做精力允許的、最重要的那部分。
我到現(xiàn)在都對我當(dāng)時向技術(shù)總監(jiān)征求個人缺點(diǎn)的看法很得意,技術(shù)總監(jiān)看問題就是不一樣,如果讓我自己總結(jié)自己的缺點(diǎn),怎么也不可能想到自己在安排自己的工作上出問題。而且經(jīng)過提煉,我還可以把自己的缺點(diǎn)放到面試中去說。
5.出人意料的結(jié)果
我把自己的缺點(diǎn)講給合作公司的項(xiàng)目經(jīng)理,面試又進(jìn)行了一會就結(jié)束了,人力公司的總監(jiān)和合作公司的負(fù)責(zé)人出去商量最終結(jié)果。
在這空當(dāng),我主動找10年經(jīng)驗(yàn)大哥聊了聊,我表達(dá)了我對他技術(shù)上、經(jīng)驗(yàn)上的欽佩,而且希望以后能交流交流的意愿,我向他要了手機(jī)號碼。沒想到這位老兄說“你要我電話干嘛,沒必要給你電話”,讓我很詫異,我心說了,還有這么刺頭的人,他又說“最近裝修搞得他頭都暈了,別再給我打電話了“之類的,簡直讓我覺得很尷尬,一下子對他的敬意全無。
人力公司總監(jiān)回來了,結(jié)果很明顯。他用車把我倆往回送,對那老兄說了一些什么,那老兄到了就下了,就??偙O(jiān)和我了,他問我說“你猜錄取誰了?”,我很平靜的告訴他,肯定是那位有著10年工作經(jīng)驗(yàn)的大哥無疑了。
但是,結(jié)果出乎我的意料,總監(jiān)說錄取我了。
我很意外,總監(jiān)跟我解釋道,主要看中我的團(tuán)隊(duì)意識,雖然那位老兄有10年經(jīng)驗(yàn),但是不易合作,即使技術(shù)強(qiáng)也不合適,因此決定要我。
聽到這個結(jié)果,自己還是比較滿意的,畢竟是首戰(zhàn)告捷了,雖然我是不會選擇去這家人力外派公司的,但是對自己能夠獲得這個工作機(jī)會還是很高興的。
經(jīng)過第一家公司的面試,雖然是人力外派類的公司的面試,但是由于成功過關(guān)了,所以自己的信心增強(qiáng)了。
四、兵敗外企
1.T公司
其實(shí)在來北京之前,自己心里就已經(jīng)有非常向往的公司了,也就是外企T公司。
知道T公司是因?yàn)槲以瓉淼耐聫?qiáng)子曾經(jīng)應(yīng)聘過T的西安分公司,而且這個公司在軟件行業(yè)內(nèi)的口碑非常好,在IT紅黑榜網(wǎng)站上查這個公司的評價,基本都是好評,不像其他公司似的,某某公司拖欠工資、某某公司領(lǐng)導(dǎo)很壞之類的負(fù)面評價。這些都與T公司絕緣。
最讓我對T公司產(chǎn)生興趣的還是他們的開發(fā)方式。
2.敏捷開發(fā)
T
公司在開發(fā)上很有特色,公司采用敏捷開發(fā)方式,我理解敏捷開發(fā)是一種開發(fā)方法論,為了能成為T公司的員工,我買了本《敏捷開發(fā)》的影印版開始看。
敏捷開發(fā)大致就是說以實(shí)際的軟件、代碼作為和客戶交流需求的載體,而不是用文檔,歡迎變化而不是遵循計劃之類的。
在來到北京不久,一家專業(yè)的編程方面的雜志社聯(lián)合T公司舉行一年一度的敏捷中國大會,我到了北京的時候已經(jīng)錯過了報名參會的時間,不過好在我跟雜志社聯(lián)系了一下,補(bǔ)上了報名。
會議組織得很專業(yè),包括宣傳材料、會議胸牌、茶歇等都組織的非常好。會議由許多演講組成,值得一提的是,大會的主題演講的演講者也是敏捷開發(fā)的提出者之一,同時也是T公司的科學(xué)家。
我參會的目的很明確,想通過敏捷開發(fā)大會進(jìn)一步了解敏捷開發(fā),另一個就是想多和T公司的員工們交流一下,取得應(yīng)聘T公司的經(jīng)驗(yàn)。
實(shí)際上,T公司主辦的這個敏捷開發(fā)大會的目的也是和我的目的類似,也是要宣傳敏捷開發(fā)的理念,宣傳T公司,而且提倡參會人員和T公司的員工自由交流。
演講的很多都是老外,雖然我極力認(rèn)真去聽他們講的是什么,但是我英語還沒達(dá)到能直接聽懂他們在講什么。
雖然參加了這個會的收獲一般,但是由于和T公司能走的更近,所以覺得也是做應(yīng)聘準(zhǔn)備的一個重要步驟,我想象在應(yīng)聘的時候可以給他們說我參加了這個會議,從一個側(cè)面也能表明我對敏捷開發(fā)的興趣。3.電話面試
開過這個敏捷大會后,我就開始著手準(zhǔn)備因?yàn)榭粗?,所以慎重?/p>
我到網(wǎng)上搜關(guān)于
T
公司的面試、筆試了。
T
公司的應(yīng)聘信息,包括筆試、面試的題目等等,結(jié)果不多。倒是碰到一個做T公司職位的獵頭,就加了MSN,我說明了我的情況,這個女獵頭主要做高端的,也就是5年以上工作經(jīng)驗(yàn)的。我追著問她T公司招聘的流程,甚至題目。女獵頭心地很善良,發(fā)給我一份文檔,寫了T公司面試的一些情況。
T公司是外企,外企面試一般都是先進(jìn)行一次電話面試,電話面試可以使人力了解應(yīng)聘者的口語水平,電話面試通過后再真正面試。女獵頭的文檔列出了T公司電話面試的一般問題,比如有個人介紹、曾經(jīng)遇到的一些困難什么的。看上去問題都不太難,我用英文把教育經(jīng)歷、三年的工作經(jīng)歷、項(xiàng)目中承擔(dān)的責(zé)任、收獲都寫成了稿子,并熟記于心。
投簡歷后的第2,3天進(jìn)行了電話面試,時間定的是下午4:00,到了3:50的時候我還沒有不一樣的感受,可是當(dāng)時間到了3:55的時候,我發(fā)現(xiàn)自己心跳加速了,到了4:00的時候簡直不能平靜了。
好在T公司是4:00多給我打來的電話,我盡力地平息著我的緊張。首先人力要求我做一個英語的個人介紹,這個不難,我已經(jīng)有了稿子,只要照著念就OK了,不過在念的過程中我還是有意識的放慢速度,稍微打些磕巴,免得被看穿。
個人介紹很快念完了,人力開始提問了,“what is your challenge in your current job?”,其實(shí)我已經(jīng)聽懂了她所問的,就是說遇到過什么挑戰(zhàn),但是由于緊張,突然聽不懂“current”這個單詞,問題說完了我就在不停的回想current到底是什么意思。我估計因?yàn)槲乙呀?jīng)離職了,當(dāng)前并沒工作,而她問在current
job(當(dāng)前工作)中遇到什么挑戰(zhàn)就導(dǎo)致我有點(diǎn)神智不清了,不過很快我反應(yīng)了過來,從稿子中找到遇到的困難那部分,就開始往上套。
首先我說了個技術(shù)上的挑戰(zhàn),如何在信托項(xiàng)目中使用JBPM工作流引擎,以及如何把這個工作流引擎結(jié)合具體業(yè)務(wù)在項(xiàng)目中使用。說完,人力繼續(xù)問我如何解決的,我就把技術(shù)總監(jiān)給我們指明的要把“業(yè)務(wù)和流程分開”的解決思路說了。之后人力又繼續(xù)追問,還有沒有其他方面的挑戰(zhàn)。我都被問得快有點(diǎn)撐不住了,想了想就把自己當(dāng)時沒能安排好自己工作優(yōu)先級的這個缺點(diǎn)改造了一下,說了說。但是由于這部分沒能預(yù)先準(zhǔn)備,邊想邊說,說得特別磕巴,有的詞發(fā)音都沒發(fā)準(zhǔn)。
說到半截,可能人力已經(jīng)知道我的外語水平了,就不要我再用英語折磨她了,讓我可以說中文了,我就把沒能用英語表達(dá)清楚的地方用中文重新說了一下。
時間已經(jīng)過去了15分鐘,最后人力讓我提問,為了給人力留下深刻印象,我問了5,6個問題,有關(guān)于敏捷開發(fā)在T公司的開發(fā)效果的,有對敏捷開發(fā)能否在大型項(xiàng)目中應(yīng)用的,有關(guān)于T公司是否做國內(nèi)項(xiàng)目的,反正我盡可能的想了很多問題,體現(xiàn)自己對他們公司的興趣。
這個電話面試時間總共有20分鐘,完后我的感覺并不太差,不過我也明確地知道了我的英語口語水平實(shí)在不怎么樣,但是,我總以為上天會照顧我,至少讓我能過了電話面試這第一關(guān),哪怕讓我進(jìn)入下一關(guān)再出局。
4.晴天霹靂
想到這里,我心情還不錯地和女朋友一塊去逛超市買東西,從超市高高興興買了東西回來后,我習(xí)慣性的看了一下郵箱,發(fā)現(xiàn)了T公司的一封信。信的內(nèi)容讓我失落到谷底:
“After careful consideration, we are unable to match your skills and background with any of our current open positions.”
晴天霹靂!而且原以為要幾天才會有結(jié)果,一看郵件到達(dá)的時間就是我電話面試后的15分鐘后,我覺著他們太輕率了!但也只能接受這個結(jié)果。
我反復(fù)琢磨著“技能和背景與現(xiàn)有職位不匹配”一句的含義,最終,我理解為一方面,我原先的工作單位規(guī)模不大,另一方面,我原先的開發(fā)方式也和他們的不同,我雖然看了敏捷開發(fā)的書,但是從沒實(shí)踐過,更別說口語水平了,真是徹底失敗。
那一晚我想丟了魂似的,可不么,理想實(shí)現(xiàn)不了,真是很痛苦。不過,我總歸還得繼續(xù)找工作,這家最理想的不行那就換點(diǎn)別的吧,退而求其次,還是希望能進(jìn)入到外企工作,不但拿錢多,而且學(xué)到的東西也多。
從網(wǎng)上看到有路X社北京研發(fā)中心的招聘啟事,我給他們也投了,沒多久,來了個電話面試,讓我說了說經(jīng)歷,用中文問了些諸如HashMap和HashTable的區(qū)別之類的問題,過后也沒有了音信。
后來,通過獵頭我還接到了
S公司的電話面試,S公司是發(fā)明了J語言的公司,電話面試的內(nèi)容也大同小異,我用我磕磕巴巴的英語應(yīng)付了這些電話面試。
再后來,通過其他獵頭還給一家韓國公司投了簡歷,囧的是,連獵頭這關(guān)都沒過。
5.認(rèn)識自我
這幾家外企的應(yīng)聘,我基本都在電話面試就結(jié)束了自己前進(jìn)的步伐,幾次失敗讓我非?,F(xiàn)實(shí)地認(rèn)識了我當(dāng)前的水平、經(jīng)驗(yàn)、技能、背景這幾個方面,與外企要求的條件相比差距還是相當(dāng)大的??谡Z不過關(guān),工作過的單位也不是規(guī)模大的公司,做過的項(xiàng)目也不是非常大,這些都導(dǎo)致了我和我最向往的公司以及那些高薪的外企的遠(yuǎn)離。
清楚了自己的水平,自己也認(rèn)為目前應(yīng)聘外企是不適合的。而現(xiàn)在,我要做的是改變求職的方向,不能把重心都放在外企上,所以最終我決定以應(yīng)聘國內(nèi)的大型公司為主。這么做是希望自己可以從大公司中學(xué)到小公司所欠缺的更加規(guī)范化的東西。
五、轉(zhuǎn)變方向有代價
1.做ERP的大公司K 繼續(xù)在人才網(wǎng)上搜索大公司,聯(lián)系到了一家,是在ERP領(lǐng)域做得很大的K公司。K公司的筆試,試題分了幾類,量很大,題目應(yīng)該說不算難,包括JAVA的一些基礎(chǔ)知識、寫SQL查詢語句等等。還有要寫一個單例類的題,我沒想起來怎么定義的,忙發(fā)短信找同事求援,幸虧小師父找了一個,讓我少丟10分。
上午筆試,下午面試。面試時間比較長,首先面試官先介紹了一下K公司,K公司是做ERP產(chǎn)品的大型公司云云。我還是介紹我做過的項(xiàng)目,尤其是對工作流技術(shù)的研究以及在項(xiàng)目中的運(yùn)用這方面著重多講,并引起和面試官的一些討論。氣氛還比較融洽,席間我投瞄到我上午的筆試卷子,好像是60多分。面試到了最后,面試官認(rèn)為我所講的經(jīng)歷都是項(xiàng)目經(jīng)歷,而K公司是以做產(chǎn)品為主,這其實(shí)是一個差別。
面試過后,回去等待結(jié)果,過了幾日,K公司人力約我和北方區(qū)的總經(jīng)理見面,我也如約而至,其實(shí)主要是總經(jīng)理再和我聊聊期望薪水,再了解一下我過去的經(jīng)歷。關(guān)于期望薪水,我給K公司報的是9K,但是我也說可以考慮減少到8K,其實(shí)我心里算計的怎么也應(yīng)該比7K要多。
K公司規(guī)模很大,招聘流程也很長,北京公司這邊負(fù)責(zé)筆試面試等工作,最后還要把我的資料送到總公司那邊,總公司再進(jìn)行一下最后把關(guān),我也被告知我需要等待1周左右的時間來等結(jié)果。
在這一周里,正好又有家做咨詢、技術(shù)解決方案的公司找到我。
2.掙開源的錢
姑且給這家公司起名叫P公司好了,公司的發(fā)展方向比較獨(dú)特,利用開源軟件給做軟件開發(fā)的公司提供咨詢、技術(shù)支持的服務(wù)賺錢。
P公司代理了從操作系統(tǒng)到數(shù)據(jù)庫以及web服務(wù)器等各方面的開源軟件,通過賣許可證、技術(shù)咨詢等方式掙軟件開發(fā)商的錢。
可能正是因?yàn)槲以诤啔v中有“開源”的關(guān)鍵字,又在項(xiàng)目中用過JBPM,所以得到了P公司的面試機(jī)會。公司有位副總,人稱馬總,曾經(jīng)在美國帶過項(xiàng)目,而且巧的是也用JBPM開發(fā)過項(xiàng)目,還拿到了一個美國的大獎,9年后回到了祖國。馬總相信開源,也很會玩開源的東西。3.與馬總的上海之行
和馬總交流并且能得到他的一些指導(dǎo),對我而言也是種收獲。在我眼中一些技術(shù)高手、大牛們總是高高在上,很難溝通。
馬總卻很具有親和力。P公司在上海召開了一個給軟件開發(fā)商宣講開源解決方案的大會,到了快開會的時間還有很多人沒到場,為了不讓已經(jīng)到的人等的心急,馬總上臺預(yù)熱,他稱之為“和大家聊聊天”,他的“聊天”方式很放松,做幾個小調(diào)查,比如問誰知道“開源”,還推出了有獎問答,凡是舉手回答問題的還能得獎,使得會場氣氛很熱烈。
我也跟著去了上海,和馬總一塊給一家上海的軟件公司將開源報表的解決方案,我側(cè)重講解iReport的使用。由于JasperSoft出了一個管理報表的引擎JasperServer,用于管理報表,權(quán)限等信息。馬總讓我對這方面也進(jìn)行了解,尤其是在機(jī)子上配置好這個軟件用于講解,整了一晚上也沒整出來,馬總用候機(jī)的時間給配了出來。
那天正好K公司給我打電話,商量薪酬的事情,他們給我開了一個非常吃驚的價錢,開的是6K,而我期望能在9K,聽到這個價錢我很難接受,因此直接就說這個價格沒法接受之類的話,后來想想有點(diǎn)后悔。
憑著用過iReport,做報表的過程講解的還算到位,但是對如何使用參數(shù)、變量這些稍微復(fù)雜的地方,我就沒太多講,能看出來有些讓馬總失望。
在結(jié)束上海之行的時候,馬總找了個機(jī)會跟我談了一下,我記住了他的一句話,說“你還要再上三個臺階才行”,這句話我覺著是對我的一個十分中肯的評價,雖然工作三年了,也做過一些項(xiàng)目,似乎有了些積累,但是并沒在技術(shù)上特別精通,而且在溝通方面也沒能鍛煉的很好。我認(rèn)為這種技術(shù)支持、咨詢類的公司需要既懂技術(shù)又能講解、還能懂架構(gòu)的技術(shù)支持人員。4.從開發(fā)轉(zhuǎn)變?yōu)樽稍??我?zhǔn)備好了嗎?
我對P公司有好感,主要是兩個方面,一個是開源,另一個就是馬總,我覺著我如果選擇開源作為事業(yè)的方向?qū)⒛芤龑?dǎo)我走向成功,再加上有馬總這樣的經(jīng)驗(yàn)豐富的領(lǐng)導(dǎo)指導(dǎo)、培養(yǎng)我,我覺著我將會有很不錯的前途。
但我認(rèn)為自己還是一名水平不太高的軟件開發(fā)工程師,還需要用幾年時間向架構(gòu)師、項(xiàng)目經(jīng)理的方向奮斗才行,而做咨詢、技術(shù)支持是屬于需要依靠很豐富的經(jīng)驗(yàn)才能做好一種工作,雖然我能快速學(xué)習(xí),但還是會缺乏在項(xiàng)目中的實(shí)踐,很難給客戶以很好的支持,最終可能也會讓馬總失望。
從上海回來后,我和人力談了我的想法,我說自己還是應(yīng)該在開發(fā)上面多做一些工作,目前的工作可能不適合,把P公司的應(yīng)聘結(jié)束掉了。
5.從做項(xiàng)目轉(zhuǎn)變?yōu)樽霎a(chǎn)品,也要付出點(diǎn)代價。
我又趕緊和K公司聯(lián)系,K公司人力抓住了K公司是做產(chǎn)品的而我是做項(xiàng)目出身的這一差別作為6K待遇的理由,又說讓我權(quán)衡是進(jìn)入一個大型的平臺以后不斷發(fā)展,還是為了眼前的待遇而放棄進(jìn)入大公司。我更看重K公司這樣的大發(fā)展平臺,但是還是希望人力能再提高一些待遇,畢竟我這是在北京工作,刨去稅真的感覺“回到了解放前”。
人力讓我等幾天和總公司協(xié)調(diào),最后等來的結(jié)果就是,總部不批準(zhǔn)我的應(yīng)聘申請。我很難過,因?yàn)槲艺夜ぷ饕呀?jīng)從5月20號一直找到了7月20多號了,K公司又是大公司,我后悔從一開始就把不滿意薪水的話說給了人力,又忙和人力又溝通看有沒有什么補(bǔ)救,因?yàn)楫吘贡本┕具@邊認(rèn)為我還是不錯的,可是結(jié)果已經(jīng)出來了,也無法改變了。
如果應(yīng)聘上了,那種薪酬,也就是從做項(xiàng)目轉(zhuǎn)變?yōu)樽霎a(chǎn)品要付出的一種代價吧。6.從做銀行業(yè)務(wù)的軟件開發(fā)轉(zhuǎn)換為給某家居公司做系統(tǒng)?
這種可以轉(zhuǎn)變我工作方向的機(jī)會很多。有一家家居公司B要上ERP系統(tǒng),用的SAP的ERP,但是有些功能還是要自己開發(fā),因此他們想招一些高級軟件工程師。
面試中談了談項(xiàng)目經(jīng)驗(yàn),走走過場,基本就搞定了。待遇是稅前7K。面試完了,我也就決定了,肯定不去。
我想以我目前三年的開發(fā)經(jīng)驗(yàn),到企業(yè)中做信息化的工作,要做到技術(shù)總監(jiān)或者CIO的話肯定也是很難的。因?yàn)楹芏嗳硕际窃谟辛撕茇S富的軟件實(shí)施經(jīng)驗(yàn)后,才跳到非軟件公司做企業(yè)自身的信息化方面的工作的,我自然還不合適。
7.從開發(fā)轉(zhuǎn)變?yōu)闇y試?代價依然很高。
找工作找到現(xiàn)在,出現(xiàn)了沒有可選的局面了,有點(diǎn)抓狂,有點(diǎn)絕望。這時候,一家知名公司,神X公司約我面試。和面試官談了才知道,雖然我投的是這家公司的高級軟件工程師,但是他們想找我過來做測試,這個測試不是一般的黑盒測試,要寫測試代碼、腳本之類的??紤]到如果在這樣的大公司做測試也是一種機(jī)會,我也樂意考慮這個職位。但是談到待遇,只比應(yīng)屆生的工資高點(diǎn),實(shí)在是打擊,面試官的理由是我對寫測試腳本還有網(wǎng)絡(luò)性能這些測試方面的東西還不了解,還需要學(xué)習(xí)一段,所以給這個價錢。
事后,我想了,我如果應(yīng)聘了測試,就是在用我的弱勢去應(yīng)聘,而把我的強(qiáng)項(xiàng)(開發(fā)經(jīng)驗(yàn))沒體現(xiàn)出來,那自然得不到好的待遇,雖然是一個機(jī)會,但是我還是希望在軟件開發(fā)這條道路上繼續(xù)發(fā)展,即使我選擇換一種方向,經(jīng)過自己衡量所需要付出的代價,我還是選擇放棄這個知名公司的測試的職位。
第四篇:Java程序員成長路線
004km.cn
Java程序員成長路線
Java程序員
高級特性
反射、泛型、注釋符、自動裝箱和拆箱、枚舉類、可變
參數(shù)、可變返回類型、增強(qiáng)循環(huán)、靜態(tài)導(dǎo)入
核心編程
IO、多線程、實(shí)體類、集合類、正則表達(dá)式、XML和屬性文件
圖形編程
AWT(Java2D/JavaSound/JMF)、Swing、SWT、JFace
004km.cn
網(wǎng)路編程
Applet、Socket/TCP/UDP、NIO、RMI、CORBA
Java語法基礎(chǔ)
類、抽象類、接口、最終類、靜態(tài)類、匿名類、內(nèi)部類、異常類、編碼規(guī)范
Java開發(fā)環(huán)境
JDK、JVM、Eclipse、Linux
Java核心編程技術(shù)
Java,設(shè)計而又非常精巧的語言。學(xué)習(xí)Java,須從Java開發(fā)環(huán)境開始,到Java語法,再到Java的核心API。
1.Java開發(fā)入門:Java開發(fā)環(huán)境的安裝與使用,包括JDK命令、EclipseIDE、Linux下Java程序的開發(fā)和部署等。
004km.cn
2.Java語法基礎(chǔ):基于JDK和Eclipse環(huán)境,進(jìn)行Java核心功能開發(fā),掌握J(rèn)ava面向?qū)ο蟮恼Z法構(gòu)成,包括類、抽象類、接口、最終類、靜態(tài)類、匿名類、內(nèi)部類、異常的編寫。
3.Java核心API:基于JDK提供的類庫,掌握三大核心功能:
A。Java核心編程:包括Java編程的兩大核心功能——Java輸入/輸出流和多線程,以及常用的輔助類庫——實(shí)體類、集合類、正則表達(dá)式、XML和屬性文件。
B。Java圖形編程:包括Sun的GUI庫AWT(Java2D、JavaSound、JMF)和Swing,IBM和GUI庫SWT和Jface;
C.Java網(wǎng)路編程:Applet組件編程,Socket編程,NIO非阻塞Socket編程、RMI和CORBA分布式開發(fā)。
4.Java高級特性:掌握J(rèn)DK1.4、JDK5.0、JDK6.0中的Java高級特性,包括反射、泛型、注釋,以及java高級特性——自動裝箱和拆箱、枚舉類、可變參數(shù)、可變返回類型、增強(qiáng)循環(huán)、靜態(tài)導(dǎo)入等。
JavaEE初級軟件工程師
004km.cn
JSF框架開發(fā)技術(shù)
配置文件(頁面導(dǎo)航、后臺Bean)、JSF組件庫(JSF EL語言、HTML標(biāo)簽、事件處理、)、JSF核心庫(格式轉(zhuǎn)換、輸入驗(yàn)證、國際化)
Javaweb核心開發(fā)技術(shù)
開發(fā)環(huán)境(Eclipse、Linux)
三大組件(JSP、JavaBean、Servlet)
擴(kuò)展技術(shù)(EL、JSTL、Taglib)
網(wǎng)頁開發(fā)技術(shù)
HTML、XML、CSS、JavaScript、AJAX
數(shù)據(jù)庫設(shè)計技術(shù)
SQL、MySql、Oracle、SQLServer、JDBC
Web服務(wù)器(Tomcat/Jetty/Resin/JBossWeb)
004km.cn
JavaWeb核心技術(shù):
JavaWeb項(xiàng)目開發(fā)的全過程可以分解為:
網(wǎng)頁開發(fā)+數(shù)據(jù)庫設(shè)計——>JavaWeb項(xiàng)目開發(fā),其中,javaWeb由6項(xiàng)基本技術(shù)組成:JSP+JavaBean+Servlet+EL+JSTL+Taglib,而JSF正是將這6種技術(shù)進(jìn)行有機(jī)結(jié)合的技術(shù)框架:
JavaEE中級軟件工程師
四種經(jīng)典架構(gòu)SSH1、SSI1、SSH2、SSI2
Struts1表現(xiàn)層框架
入門配置、核心組件、標(biāo)簽庫、國際化、數(shù)據(jù)檢驗(yàn)、數(shù)據(jù)庫開發(fā)、Sitemesh集成、集成Hibernate/iBATIS
Struts2表現(xiàn)層框架
入門配置、核心組件、標(biāo)簽庫、國際化、數(shù)據(jù)校驗(yàn)、Sitemesh集成轉(zhuǎn)換器、攔截器、集成Hibernate/iBATIS
004km.cn
Spring業(yè)務(wù)層框架
入門配置、IoC容器、MVC、標(biāo)簽庫、國際化、數(shù)據(jù)校驗(yàn)、數(shù)據(jù)庫開發(fā)
Hibernate持久層框架
MySQL、Oracle、SQLServer iBATIS持久層框架
MySQL、Oracle、SQLServer
Web服務(wù)器(Tomcat/Jetty/Resin/JBossWeb)
Java高級軟件工程師
javaWeb開源技術(shù)與框架
工作流、規(guī)則引擎
004km.cn
搜索引擎、緩存引擎、任務(wù)調(diào)度、身份認(rèn)證
報表服務(wù)、系統(tǒng)測試、集群、負(fù)載平衡、故障轉(zhuǎn)移
JavaWeb分布式開發(fā)技術(shù)
JTA(Java事物管理)
004km.cn
JAAS(Java驗(yàn)證和授權(quán)服務(wù))
JNDI(Java命名和目錄服務(wù))
JavaMail(Java郵件服務(wù))
JMS(java信息服務(wù))
WebService(web服務(wù))
JCA(java連接體系)
JMS(java管理體系)
應(yīng)用服務(wù)器(JBossAS/WebLogic/WebSphere)
JavaEE系統(tǒng)架構(gòu)師
面向云架構(gòu)(COA)
COA、SaaS、網(wǎng)格計算、集群計算、分布式計算、云計算
004km.cn
面向資源架構(gòu)(ROA)
ROA、RESI
面向web服務(wù)架構(gòu)(SOA)
WebService、SOA、SCA、ESB、OSGI、EAI
Java設(shè)計模式
創(chuàng)建式模式:抽象工廠/建造者/工廠方法/原型/單例
構(gòu)造型模式:適配器/橋接/組合/裝飾/外觀/享元/代理
行為型模式:責(zé)任鏈/命令/解釋器/迭代子/中介者/備忘錄/觀察者/狀態(tài)/策略/模板方法/訪問者
Java與UML建模
對象圖、用例圖、組件圖、部署圖、序列圖、交互圖、活動圖、正向工程與逆向工程
004km.cn
CTO首席技術(shù)官
發(fā)展戰(zhàn)略
技術(shù)總監(jiān)
團(tuán)隊(duì)提升
團(tuán)隊(duì)建設(shè)
項(xiàng)目管理
產(chǎn)品管理
一般情況下,java的發(fā)展路線是這樣的,當(dāng)然,具體情況因人而異。比如,有的可能后來轉(zhuǎn)入產(chǎn)品職位或其他職位了。另外,每個企業(yè)里面java從業(yè)人員的title是不同的。比如,有的企業(yè)有CTO,而有的企業(yè)則只有技術(shù)經(jīng)理或技術(shù)主任等,叫法不同,但本質(zhì)和所需掌握的技術(shù)大致相同。
(ps:本文章由北大青鳥廣安門校區(qū)搜集自互聯(lián)網(wǎng))
第五篇:java程序員的成長之路
Java目前是最流行的語言之一,是很多公司和程序員喜愛的一門程序語言.而且, Java的入門比C++相對來說要簡單一些, 所以有很大一部分程序員都選擇Java作為自己的開發(fā)語言.我也是其中之一, 就是因?yàn)橛X得學(xué)C++太難, 當(dāng)初在學(xué)校學(xué)了將近一個學(xué)期的C++, 啥進(jìn)步都沒有, 哈哈, 天資太差, 所以才選擇自學(xué)Java(當(dāng)時學(xué)校并沒有開設(shè)Java的課程), 才走上了程序開發(fā)這條路.Java雖然入門要容易, 然而要精通它, 要成為專家卻很難.主要原因是Java所涉及的技術(shù)面比較寬, 人的精力總是有限的.有些Java方面的技術(shù)是必須要要掌握的, 鉆研得越深入越好, 比如多線程技術(shù).1.基礎(chǔ)階段
基礎(chǔ)階段, 可能需要經(jīng)歷1-2年吧.這個時段, 應(yīng)該多寫一些基礎(chǔ)的小程序(自己動手寫的越多越好).計算機(jī)是一門實(shí)踐性很強(qiáng)的學(xué)科, 自己動手的東西, 記憶非常深刻, 效果要勝過讀好多書.當(dāng)然, 學(xué)Java基礎(chǔ)的時候, 書籍的選擇也非常重要, 好的書籍事半功倍, 能讓你打個非常好的基礎(chǔ).而差的書籍, 很容易將你帶入歧途, 多走很多彎路.書籍不在多, 而在乎讀得精(有些書, 你讀十遍都不為過).我記得我學(xué)Java的第一本書是
2.中級階段
中級階段, 是一個更漫長的時期, 能否突破此階段, 跟個人的努力和天資有著很大的關(guān)系.你不得不承認(rèn), 同樣一門新技術(shù), 有些人一個月領(lǐng)悟到的東西, 比你一年的都多.這就是天資, 程序員是一個需要天才的工作.我想, 很多人聽說李一男吧, 此君就是這樣的人物, 三個月的時間就能解決好大一幫人幾年解決不了的問題, 給華為某部門帶來了很多的收益.哦, 這是題外話了, 與此篇的主題無關(guān), 只是本人偶爾的感慨而已:).這個階段, 就需要研究很多專題性的東西了, 比如: IO的實(shí)現(xiàn)原理, 多線程和Java的線程模型, 網(wǎng)絡(luò)編程, swing, RMI, reflect, EJB, JDBC等等很多很多的專題技術(shù), 鉆研得越深越好.為了更好的提高, 研究的更深入, 你需要經(jīng)常到網(wǎng)絡(luò)上搜索資料, 這個時候往往一本書起不來很大的作用.選一個JDK版本吧, 目前建議選用1.6, 多多研究它, 尤其是源
代碼(盡量!就是盡自己最大的努力, 雖然研究透是不可能滴).比如
說: util, collection, io, nio, concurrent等等包.可能有人會反對我說, 不是有API文檔嗎, 為什么還要研究這么多的源代碼? 錯了, 有API文檔, 你僅僅只是知道怎么用而已, 而認(rèn)真仔細(xì)的研讀這些大牛的源碼, 你就會深入更高的一個階層, 自己的編碼, 設(shè)計都會有很大的提高.如果有能力和精力, 我建議你把JDK的每一行代碼都熟悉一遍, 絕對只有好處, 沒有壞處!而且你會有些意外的收獲, 比如, 當(dāng)你仔細(xì)地讀完concurrent包的時候(不多, 好像總共是86個類吧), 你就會對Doug Lea佩服得五體投地.這個時候最忌碰到難題就去尋找?guī)椭? 去網(wǎng)上找答案!先把自己的腦袋想破吧, 或者等你的老板拿著砍刀沖過來要把你殺了, 再去尋求幫助吧.對于專題的學(xué)習(xí), 英文原版的閱讀是非常必要的, 看的越多越好, 多上上IBM的developer, SUN的網(wǎng)站吧, 當(dāng)然Javaeye也很不錯:), 有很多大牛, 呵呵.這個時候, 你應(yīng)該建立自己的代碼庫了, 你應(yīng)該自己去研究很多有意思的東西了.從一個200多M的文件中尋找一個字段, 最壞情況(在文件的末尾咯)也只需要1秒左右的時間, 你知道嗎?這個階段, 有很多很多類似的有趣的東西可以供你去研究, 你需要更多地關(guān)注性能, 規(guī)范性, 多解決一些疑難問題.需要學(xué)會所有的調(diào)試技術(shù), 運(yùn)用各種性能工具, 還有JDK附帶的很多工具, 這些你都要熟練得跟屠夫操刀一樣.也可以看看
3.高級階段
高級階段, 我就不敢妄言了.呵呵, 我感覺自己也是處于中級階段吧.也是根據(jù)自己的一些經(jīng)驗(yàn), 談?wù)勛约旱睦斫獍?
這個階段, 需要研究各種框
架, Spring, struts, Junit, Hibernate, iBatis, Jboss, Tomcat, snmp4j等等, 我覺得這個時候, 只要是用Java實(shí)現(xiàn)的經(jīng)典框架, 你都可以去研究.------在此申明一下, 我的意思不是說會用.光會用其實(shí)是遠(yuǎn)遠(yuǎn)不夠的, 你可以選擇自己喜歡鉆研的框架, 去好好研究一下, 興趣是最好的老師嘛.建議開始的時候, 研究Junit和Struts吧, 小一點(diǎn), 里面都采用了很多的模式, 呵呵, 可以熟悉一下, 盡量想想人家為什么這么做.我建議主要的精力可以花在spring和jboss上, 尤其是jboss,經(jīng)典中的經(jīng)典, 設(shè)計, 性能, 多線程, 資源管理等等, 你從中可以學(xué)到的東西簡直是太多了.而且它還有一本寫得很好的參考書, 叫
程和UML方面的資料, 或者自己主持一個項(xiàng)目玩玩, 不一定非得出去拉項(xiàng)目賺錢(能賺錢當(dāng)然更好), 不管成功或失敗, 都是很寶貴的經(jīng)驗(yàn), 都能提高很多!