注:本文只代表個(gè)人的一點(diǎn)理解。
經(jīng)過(guò)這兩天的思考,計劃分為幾部分:
1. 簡(jiǎn)單介紹我的工作軌跡
2. 結合3個(gè)中國城市(北京,上海,西安),1個(gè)國外的城市(硅谷Sunnyvale)進(jìn)行對比。
3. 從軟件領(lǐng)域縱覽
4. 從技術(shù)角度看發(fā)展
5. 個(gè)人對一些國內公司的拙劣意見(jiàn)
好,不多廢話(huà)
1. 工作軌跡
2. 北京-上海-西安-Sunnyvale
從工作環(huán)境上來(lái)說(shuō),其實(shí)所有公司都差不多,為了給自己申請一臺高配置的電腦要煞費苦心,甚至有很多代碼瘋子選擇自己掏錢(qián)買(mǎi)高配置電腦,不過(guò)我工作過(guò)的幾家公司還好,這方面吝嗇的只占50%吧,所以我感覺(jué)很幸福。
從工作機會(huì )上來(lái)說(shuō),不用說(shuō)最好的就是硅谷了,各種世界級大公司,主要說(shuō)一下國內的,北京上海都差不多,很多好公司,包括國內的,國外的分公司以及子公司,數量之巨大我想很多人都了解。在西安華為中興已經(jīng)成為了很多人眼中的最好軟件公司,一個(gè)原因,就是給的錢(qián)多,因為華為他們在各個(gè)城市給的價(jià)錢(qián)都差不多,所以我們可以想一下,把北京的工資拿到西安來(lái)花是個(gè)什么感覺(jué)。其實(shí)西安也有聊聊幾個(gè)很優(yōu)秀外企,例如Thoughtworks,IBM, Emerson,被IBM收購的SPSS,NEC,Newegg等等吧,我就不一一列舉了。下面就說(shuō)一下我對以上公司的個(gè)人感覺(jué),我們就用工作3年以上的一個(gè)Java程序員來(lái)去對比吧:
Thoughtworks -- Java 程序員的天堂,工資1W以上沒(méi)有問(wèn)題,不過(guò)據說(shuō)管理方面被西安本土化了。
IBM -- 聽(tīng)起來(lái)挺唬人的,工資應該是在7k-9k左右,平時(shí)非常閑,不打卡,沒(méi)有固定的工作時(shí)間(這點(diǎn)很人性),住房公積金會(huì )相對豐厚,我了解的幾個(gè)team完全木有斗志(不代表所有),沒(méi)有學(xué)習的激情,給人的感覺(jué)是混日子拿工資的天堂。
Emerson -- 工資不是很給力6k+吧
原SPSS -- 很Cool的公司,有強大的技術(shù)實(shí)力,福利待遇沒(méi)得說(shuō),可惜被IBM收購以后很多東西都縮水了。
NEC -- 工資和Emerson應該差不多吧,面試過(guò)好多NEC的技術(shù)以及一些PM,個(gè)人不是很滿(mǎn)意
Newegg -- 前幾年很不錯,現在好像蕭條了很多
華為 -- 工資很可觀(guān),工作3年以上之后會(huì )有拿到更多內部股份的機會(huì ),年終獎豐厚,常年加班,包括周六周日,很是熱鬧,面試過(guò)很多華為的,一個(gè)都沒(méi)招進(jìn)來(lái)。
中興 -- 比華為差那么一點(diǎn)點(diǎn)的公司,剩下都一樣,也面試過(guò)很多,還是一個(gè)都沒(méi)招進(jìn)來(lái)。
以上西安的公司的管理以及工作方式都非常的本土化,個(gè)人感覺(jué)進(jìn)取的激情很少,管理混亂,PM各種不專(zhuān)業(yè),甚至讓我感覺(jué)西安根本就沒(méi)有真正意義上的PM。
3. 軟件領(lǐng)域分析
給政企單位提供服務(wù)的領(lǐng)域,這個(gè)是鐵飯碗,但是存在很多不公平競爭,不多說(shuō)這個(gè),再說(shuō)下去保不齊這篇文章審核都不過(guò)了。你懂的。
互聯(lián)網(wǎng),很火,很熱,甚至已經(jīng)很成熟了,多少之前的創(chuàng )業(yè)者實(shí)現夢(mèng)想的地方,有成功的,有失敗的,競爭激烈,因為肉太多了。
移動(dòng)互聯(lián)網(wǎng),現在很熱,也很火,我將重點(diǎn)談?wù)剬σ苿?dòng)互聯(lián)網(wǎng)的個(gè)人看法。
在這里能賺到錢(qián)的卻很少很少,多少投資也都砸進(jìn)去了,收回的卻微乎其微,也是導致很多創(chuàng )業(yè)者夢(mèng)想破滅的“搖籃”,個(gè)人認為移動(dòng)互聯(lián)網(wǎng)開(kāi)始很混亂,大家都看到了這片商機,也都付諸了行動(dòng),可是都是在兩眼一抹黑地在這片混亂的戰場(chǎng)上廝殺,當我們看到Nokia,Motola,Blackberry這樣的巨人也在這片戰場(chǎng)上倒下的時(shí)候,難免都會(huì )有些替他們感到惋惜。
現在炙手可熱的iOS,Android的出現導致了很多人的退出,同時(shí)也有很多人參與了進(jìn)來(lái)。Android作為一個(gè)開(kāi)源的平臺,為自己爭取了很大的市場(chǎng)份額,優(yōu)秀的程序架構加上快速開(kāi)發(fā)的APIs,也吸引了無(wú)數的開(kāi)發(fā)者,我就是其中之一,可是個(gè)人對Android的擔憂(yōu)就是由于開(kāi)源而沒(méi)有統一并且明確的標準,這難免讓人擔心會(huì )沖走J2ME的老路(前段時(shí)間看到了一個(gè)新聞,說(shuō)是Google也注意到了這方面的不足,已經(jīng)開(kāi)始研究策略了);還有就是Android market,現在叫做Play store,雖然換了圖標換了名字也換了排名算法,可是大家能看到的還是一堆一堆的垃圾軟件排名非常的靠前,這難免讓我這種有各種潔癖的人感到難受。相比較之下,目前最好的Software sotre應該就是App store了,感覺(jué)至少會(huì )比Play store公平那么一點(diǎn)點(diǎn),嗨。。這種混亂不好避免,各種水軍,各種刷,其實(shí)也能理解,都是為了利益。iOS的應用開(kāi)發(fā)很快速,尤其是它的xCode,簡(jiǎn)直是開(kāi)發(fā)者的天堂(個(gè)人感覺(jué)),可是從技術(shù)角度上來(lái)說(shuō),個(gè)人感覺(jué)Android的整體架構要比iOS強。但是Apple給我的感覺(jué)就是把現有的產(chǎn)品做到極致的一家公司,哪怕是一個(gè)非常微小的細節,是我們在工作和生活上學(xué)習的榜樣。
4. 從技術(shù)角度看發(fā)展
對于開(kāi)發(fā)語(yǔ)言簡(jiǎn)單的說(shuō),Java的鼎盛已快過(guò)去,C++王者要歸來(lái)。為什么這么說(shuō)?
Java現在覆蓋的領(lǐng)域最大的市場(chǎng)份額現在來(lái)看應該是J2EE相關(guān)的項目,可是PHP還是能搶走很大一部分市場(chǎng)的,唯一J2EE能保住的就是企業(yè)級的開(kāi)發(fā)了(雖然這就是J2EE出現的根本原因,雖然當時(shí)J2EE搶走了很多website的市場(chǎng)份額)。J2ME呢,隨著(zhù)Android很iOS的出現、Blackberry的倒下,已經(jīng)快不復存在。J2SE來(lái)說(shuō)(這里只是只client的開(kāi)發(fā),用Swing和AWT),超級慢的運行速度早就沒(méi)有任何的競爭能力。
C++就像是一個(gè)家庭的主人,永遠要負責這個(gè)家庭的安全一樣,應用在各個(gè)領(lǐng)域,從各種開(kāi)發(fā)板子,到我們看到的UI,無(wú)所不能,在這里對于開(kāi)發(fā)者來(lái)說(shuō),唯一的挑戰就是時(shí)間問(wèn)題,不過(guò)隨著(zhù)越來(lái)越多的lib的積累,我想開(kāi)發(fā)速度也是會(huì )慢慢提高的。
剛才提到UI,讓我想到了openGL,這項技術(shù)也會(huì )更大面積的興起,雖然覆蓋面已經(jīng)很大了。
對于腳本呢,個(gè)人比較推薦Python,高效率的開(kāi)發(fā),是每一個(gè)程序員的夢(mèng)想,不是嗎?
好了,說(shuō)了這么多關(guān)于語(yǔ)言方面的,下面說(shuō)一下關(guān)于開(kāi)源項目的那點(diǎn)事兒吧。
開(kāi)源項目是推動(dòng)整個(gè)軟件行業(yè)的一個(gè)完全不能忽略的一大塊,要說(shuō)整個(gè)軟件行業(yè)是汽車(chē)的話(huà),我想開(kāi)源項目最少是發(fā)動(dòng)機的一部分??墒俏覀冊谶x型的時(shí)候往往面對的態(tài)度不對,當前大部分人用開(kāi)源組件,都只是用,其中會(huì )有一部分人會(huì )對之有所改動(dòng),但是這就是我們的誤區,我們一直在我們的項目基礎上進(jìn)行選擇、進(jìn)行對比,這時(shí)往往忽略了里面的代碼實(shí)現,這樣最終也只是用人家的項目而已。開(kāi)源,什么是開(kāi)源,開(kāi)源就是別人寫(xiě)的代碼你不用寫(xiě)了,但是不是你完全不用寫(xiě)了,你要知道,如果你不用開(kāi)源,你同樣要寫(xiě)和人家一樣的代碼,如果寫(xiě)不出來(lái)人家一樣的代碼,我想你還是先不要用開(kāi)源,自己寫(xiě)吧,還能提高自己的能力,不知道我表達清楚沒(méi),如果理解到這一點(diǎn),我想,你會(huì )用開(kāi)源項目了。
對于測試,哈哈,這個(gè)應該是整個(gè)軟件行業(yè)不論是國內還是國外都很頭疼并且必須要做的事情,它決定著(zhù)你的產(chǎn)品的成??!
很多國內的軟件公司招了一堆號稱(chēng)叫做QA的人,每個(gè)人分上幾百甚至幾千的cases,之后坐在電腦前,輸入-->點(diǎn)擊-->觀(guān)察結果,如果是預期的pass,如果不是預期的,打開(kāi)Bug tracking工具,報bug。個(gè)人更喜歡和這類(lèi)人叫做UE(User Experience)哈哈,完全自己給起的名字,其實(shí)也挺好聽(tīng)的。我心目中的QA應該是了解項目的整體代碼架構的(說(shuō)到這我插一句,大家都在做什么單元測試,之后呢,當作完了總結的時(shí)候都說(shuō)意義不大,為什么會(huì )出現這種情況?因為還沒(méi)有真正意義上了解測試的概念),我們的單元測試首先要從架構的測試開(kāi)始,之后測試業(yè)務(wù)代碼框架,測試完業(yè)務(wù)代碼框架,再之后測試業(yè)務(wù)代碼,這幾個(gè)環(huán)節中用到的最多的是什么?Mockup data吧?好,具體怎么生成Mockup data我就不用多說(shuō)了吧,每個(gè)項目不同,架構不同,這些data的結構都不同,這些data也確實(shí)是比較枯燥,但是非常有用!
5. 個(gè)人對一些公司的拙劣意見(jiàn)
好了,就先寫(xiě)這么多吧,這次沒(méi)有多說(shuō)關(guān)于敏捷開(kāi)發(fā)的事情,因為個(gè)人認為這個(gè)工作方式取決于“人”,強求不來(lái)。
聯(lián)系客服