我的軟件開發(fā)生涯 (10年開發(fā)經(jīng)驗(yàn)總結(jié)和爆棧人生)
簡(jiǎn)介
網(wǎng)名靈感之源,智能實(shí)驗(yàn)室創(chuàng)始人,從事軟件開發(fā)超過10年,寫過千萬下載量軟件,熱衷開源,寫過多個(gè)爆棧項(xiàng)目(系統(tǒng)開發(fā)技術(shù)棧、.Net技術(shù)棧、數(shù)據(jù)庫技術(shù)棧、前端開發(fā)技術(shù)棧)?,F(xiàn)定居于澳大利亞悉尼,研發(fā)經(jīng)理,從事系統(tǒng)架構(gòu)開發(fā)。
爆棧人生
現(xiàn)在流行說全棧。每種開發(fā)都有其相關(guān)的技術(shù)。您是否覺得難以羅列某種開發(fā)所包括對(duì)技術(shù)(技術(shù)棧)呢?
您是否想過:
- 我做的這個(gè)職業(yè),究竟包含哪些技術(shù)呢?
- 我所掌握的技術(shù)這個(gè)子集,在整個(gè)技術(shù)大系這個(gè)超集里面占的比例是多少呢?
- 我究竟還沒有掌握多少技術(shù)呢?
- 面試的時(shí)候會(huì)考哪些技術(shù)呢?
- 那么,開發(fā)是否也應(yīng)該有這樣的技術(shù)棧概覽圖呢?
我搜索了很久,沒有找到一個(gè)符合我要求的“較為全面”地表述各種技術(shù)大系的圖表。所以我創(chuàng)建了爆棧,覆蓋了以下技術(shù)棧:
- 系統(tǒng)開發(fā)技術(shù)棧 https://github.com/unruledboy/DevelopmentStack
- 您是架構(gòu)師/設(shè)計(jì)師嗎?您可以在系統(tǒng)開發(fā)技術(shù)棧這里找到比較全面的基礎(chǔ)、分析、項(xiàng)目/計(jì)劃、文檔、設(shè)計(jì)/建模、實(shí)現(xiàn)、質(zhì)量、管理、編譯、測(cè)試、發(fā)布、維護(hù)、排錯(cuò)和學(xué)習(xí)等。
- Web前端技術(shù)棧 https://github.com/unruledboy/WebFrontEndStack/blob/master/README.zh-cn.md
- 您是前端攻城師/設(shè)計(jì)師嗎?您可以在Web前端技術(shù)棧這里找到比較全面的瀏覽器、平臺(tái)、類庫、框架、工具等。
- 數(shù)據(jù)庫技術(shù)棧 https://github.com/unruledboy/DatabaseStack/blob/master/README.zh-cn.md
- 您是數(shù)據(jù)庫開發(fā)人員/管理員嗎?您可以在數(shù)據(jù)庫技術(shù)棧這里找到比較全面的關(guān)于SQL Server和Azure等數(shù)據(jù)庫系統(tǒng)的技術(shù)細(xì)節(jié)。
- .NET技術(shù)棧 https://github.com/unruledboy/DotNetStack
- 您是.NET碼農(nóng)嗎?您可以在.NET技術(shù)棧這里找到比較全面的關(guān)于.NET技術(shù)的框架、平臺(tái)、IDE、開發(fā)包、桌面系統(tǒng)、web開發(fā)、SOA、數(shù)據(jù)訪問、生產(chǎn)力、組件、工具等信息。
這些技術(shù)棧不僅提供相關(guān)技術(shù)的描述、網(wǎng)站、GitHub地址等,還提供交互式的HTML預(yù)覽,方便你全面理解各種技術(shù)點(diǎn)的關(guān)系。
不管您是否前端攻城師/設(shè)計(jì)師、數(shù)據(jù)庫開發(fā)人員/管理員還是.NET碼農(nóng),我們都?xì)g迎您加入我們的行列!
爆棧的官網(wǎng):http://overflowstack.github.io/
#p#
軟件生涯的開始
上初二,學(xué)校開了電腦課。電腦老師叫鄧騰飛,
第一次上課,眼睛里看見的是一臺(tái)臺(tái)白色的機(jī)器,帶了個(gè)像電視的東東,能顯示東西,真神奇。課程上多了,覺得電腦挺好玩的,感覺就像在跟電腦交 談,而且比較聽話,從來沒有人這么聽我的話。不過問題來了,當(dāng)時(shí)安裝的是DOS3.x版,滿屏幕是英文,很多都不認(rèn)識(shí)。這個(gè)時(shí)候我就更加希望能把英文掌握 好。
到了初三,終于有了屬于自己的第一臺(tái)電腦,386,DX40,4M內(nèi)存,120M硬盤,當(dāng)時(shí)感覺很好了。以前是一個(gè)月才回家一次,有了電腦后就常?;丶伊?,一到家就“抱”著它,經(jīng)常搗弄到凌晨4-5點(diǎn)。
后來電腦升級(jí)了,486,DX80,開Turbo的,4M內(nèi)存,210M硬盤,光電鼠標(biāo),還帶個(gè)鉤可以掛到顯示器邊上的,很有趣的設(shè)計(jì)。至今,這臺(tái)電腦還放在老家,或許,多年后,要么放博物館,要么給孫子說:你看,你爺爺當(dāng)年的電腦是這樣的。
初三畢業(yè),會(huì)考,我的英文拿了滿分,英文老師很替我高興,說這么多年沒有人拿這么高分,說要獎(jiǎng)勵(lì)我一本英文語法書,名字忘記了,但我仍然記得封面顏色是紅是的,而且到現(xiàn)在還保留著,放在老家。當(dāng)時(shí)就有那么一個(gè)念頭:我是為了電腦學(xué)好英文的。
電腦老師的電腦,記得是Novell的無盤工作站,我們當(dāng)年為了要拿權(quán)限,試圖模擬個(gè)登錄界面,蕩老師輸入密碼時(shí),這樣我們就可以盜取了。不過最后沒有成功。后來學(xué)生們的電腦用上了DOS 3.x。先用的GWBASIC,后來接觸了Quick BASIC和Pascal。
上了高中,在電腦課中認(rèn)識(shí)了幾個(gè)志同道合的人,我們平時(shí)會(huì)常常交流技術(shù)。但大家都想做自己的事情,成立自己的工作室。這跟我以后所認(rèn)識(shí)到的個(gè)人 英雄主義很類似。我記憶中最大的便是我們幾個(gè)曾經(jīng)在一個(gè)暑假中進(jìn)行一個(gè)比賽,用自己最熟悉的語言寫一個(gè)程序,比一下技術(shù)水平,看看誰寫得更好,可惜最后不 了了之(沒有評(píng)比)。當(dāng)時(shí)大家的作品我仍然保留著,后來一次硬盤壞了,所有以前研究的東西都沒有了。
其中一個(gè)厲害的家伙是張敏鋒,他在DOS下利用QuickBASIC實(shí)現(xiàn)了一個(gè)類似x-windows的圖形化的界面 ,支持中文直接寫屏、鼠標(biāo)、帶中文輸入法、圖片(自己定義的位圖格式!)、動(dòng)畫和音樂,實(shí)在讓我驚嘆不已!可惜他現(xiàn)在不再寫程序了,實(shí)在太遺憾了。
另外一個(gè)是“道友”,他更牛,特別擅長用PASCAL和QuickBASIC,他的算法功底很扎實(shí),經(jīng)常給我們演示他寫的算法,并用圖形表現(xiàn)出 來。后來他上了大學(xué)了,用Delphi+DirectX寫了一個(gè)很著名的《決戰(zhàn)坦克》,效果好得不得了。多年前他在珠海金山公司開發(fā)WPS。
還有一個(gè),名字忘記了,用匯編寫了個(gè)圖形功能庫,在QuickBASIC中調(diào)用,實(shí)現(xiàn)真彩色,因?yàn)镼uickBASIC的Screen12模式就支持16色。可惜現(xiàn)在不他的知道下落。
還有一個(gè),阿祥,用PASCAL的牛人,實(shí)現(xiàn)了類似張敏鋒的圖形化界面,多年前他在騰訊公司寫QQ。
還有一個(gè),Chicken,這家伙最喜歡鉆研技術(shù),從DOS下的QuickBASIC到Windows下的Visual BASIC,再到VC++,再到Java,多年前在21CN做開發(fā),現(xiàn)在在創(chuàng)業(yè)。
還有一個(gè),Silly,這家伙好像學(xué)了10多種語言,有一些我根本沒有聽說過的?,F(xiàn)在下落不明。
實(shí)際上,我們高中畢業(yè)那一屆出來的,很多出來都做軟件開發(fā),可能是那一年開始市場(chǎng)比較熱吧。
事實(shí)上,我們從正規(guī)電腦課程中沒有得到多少專業(yè)知識(shí),這應(yīng)了一句老話:師傅領(lǐng)入門,修為在個(gè)人。在高中的時(shí)候,我們做了不少荒唐事情,其中一件跟學(xué)習(xí)電腦最難忘的是:我們“入侵”電腦老師的房子。
那應(yīng)該是在讀高二的時(shí)候,一個(gè)周末,我們幾個(gè)熱衷學(xué)習(xí)編程的在學(xué)校留宿的同學(xué),跟平時(shí)一樣,到電腦老師的房子用他的機(jī)器,因?yàn)橹苣┑臅r(shí)候電腦室 不開,而且電腦老師也樂意于讓我們學(xué)習(xí)電腦。但那個(gè)周末老師不在家,而我們習(xí)慣了每個(gè)周末都用他的電腦,大家又沒有鑰匙,碰巧另外一個(gè)老師經(jīng)過, 說:"break in啊",當(dāng)時(shí)就震驚。然后大家都說:你看,這老師都讓我們闖進(jìn)去了,那就闖唄。最后,我們爬窗進(jìn)去了。當(dāng)晚大家的確研究了不少東西。我們還在老師的房子 里面開小灶,弄了一鍋粥,吃得挺開心的。大家累了倒頭便睡。第二天早上,老師開門看見我們和變樣了的房子,“責(zé)罵”了我們一頓,他其實(shí)也沒有什么的,呵 呵。不過我們之后都沒有在未曾得到老師的同意之前“入侵”他的房子了。
在高中,從求伯君先生的作品WPS了解到他的個(gè)人經(jīng)歷,很欽佩他,便把他作為我的偶像和目標(biāo),或許這便是個(gè)人崇拜吧。至今仍然記得DOS下的WPS打開文檔的萬能密碼是CTRL+QIUBOJUN (求伯君的拼音)。
我把所有課余時(shí)間都放到學(xué)習(xí)電腦和編程中了。很少玩游戲,而且比較少參與課外活動(dòng),周末和假期都把所有時(shí)間都投入到學(xué)習(xí)編程中。
高中,學(xué)習(xí)的確繁重,但我仍然把相當(dāng)多的學(xué)習(xí)時(shí)間都放到學(xué)習(xí)編程中。
畢業(yè)后知道電腦老師自己開了間電腦公司,但沒有了解其近況。
#p#
第一次開發(fā)人生的感悟
在大學(xué)的時(shí)候?qū)懥似形颍F(xiàn)在原文放出來。
我是一個(gè)英文專業(yè)的大學(xué)生,但我真正想做的,卻是成為一位IT人。六年多以來,廢枕忘食,連那“黑色七月”前的莘莘學(xué)子浴血奮戰(zhàn),殺得昏天暗地 的瘋狂日子里,我仍然是“兩耳不問窗外事,一心只顧編程序”。更離譜的是,連在答語文考卷的時(shí)候,我不由自主地想起前一陣子的還沒有完成的程序來。高考結(jié) 果出來卻有點(diǎn)出乎意料,考上了第一志愿。
這六年多以來,我想成為一位IT人的愿望越來越強(qiáng)烈,這更讓我瘋狂地學(xué)習(xí)電腦知識(shí),盡可能地接觸與電腦有關(guān)的東西,關(guān)注有關(guān)電腦的信息,對(duì)自己 不斷“充電”。在家里時(shí),我常常在白天構(gòu)思程序,晚上從別人開始入睡的時(shí)候開始上機(jī),大概是11p.m.吧,一直地打到窗外第一屢陽光射進(jìn)我的工作室為 止。原因有2: 1.晚上安靜,我的思維為一天中最清晰的,這樣能更好地讓我發(fā)揮; 2.晚上正常的人都睡了 。
考上大學(xué)的近一年來,我總在問自己,“到底有沒有選擇錯(cuò)了?”為什么我會(huì)有這個(gè)想法呢?我理科不大好,害怕考不上大學(xué),所以在高中分科的時(shí)候選擇了文科, 希望能考上大學(xué)后可以選擇與電腦相關(guān)專業(yè),即使是旁聽也好。但是考上大學(xué)后,發(fā)現(xiàn)這根本是不可能的事情,因?yàn)槲宜诘拇髮W(xué)不但沒有電腦專業(yè),連相關(guān)的專業(yè) 也沒有。當(dāng)獲悉這令我頓感近乎絕望的事實(shí),我消沉了。不能學(xué)電腦,又能怎樣?
我平時(shí)行為不羈,獨(dú)來獨(dú)往,不受束縛,穿著更是以舒服為重,因此經(jīng)常成為老師跟同學(xué)“攻擊”我的借口。老師曾多次找我做“思想工作”,苦口婆心地向我表明 作為freshman應(yīng)該盡量接觸英語,多讀英文名著,擴(kuò)大詞匯量......,如此云云。我當(dāng)然明白老師的出發(fā)點(diǎn)是很純潔的,但是,老師,你可知道,對(duì) 我來說,英語,是作為我學(xué)習(xí)電腦的工具,而非電腦作為學(xué)習(xí)英語的輔助工具。我曾多次對(duì)自己說:“一定要在保證英語過關(guān)的基礎(chǔ)下,才能搞電腦!”但往往不能 keep promise,因此我常常感嘆:“到底有多少人能信守承諾,又有多少人可以達(dá)成愿望?”
我每當(dāng)遇到不如意的事情的時(shí)候,經(jīng)常以“世事沒有完美”來安慰自己,應(yīng)該說是欺騙才對(duì),因?yàn)槲疑钪@僅僅讓心里好過點(diǎn),如此而已。但在這以后,又可以做些 什么呢?但一件事讓我明白到一句古語——“只要有恒心”的的確確是不假。體育課要考1500米,要是以前,我根本是不會(huì)害怕的,但幾年來已經(jīng)荒廢了,頗有 “廉頗老已,尚能飯否”的感覺。真正站在起跑線上時(shí),我知道,該來的都會(huì)來了的......我不大擅長描寫心理活動(dòng),想必很多網(wǎng)友都有過同樣的感覺。結(jié)果 怎樣?跑了個(gè)第一。不但重拾了當(dāng)年的感覺,而且深深明白:成功貴乎堅(jiān)持。雖然很多網(wǎng)友都明白這點(diǎn),但是,又有多少人能真正在實(shí)際中運(yùn)用了呢?先輩雖然留下 了不少的至理名言,但是,沒有多少能真正體會(huì)到個(gè)中含義,這不能不說是個(gè)遺憾。
是否,
有過不知方向的感覺?
問自己,
“為什么?”
生活中,
往往決定方向的,
不是自己,
而是眾說紛紜,
不知所措,
其實(shí),
真正的方向,
是自己決定,
不由別人左右。
有感 于1999年
#p#
職業(yè)軟件開發(fā)生涯
工作經(jīng)歷
1. 大學(xué)四年級(jí)(貌似)的時(shí)候去深圳蛇口工作了幾個(gè)月,算是第一份工作吧,做的是醫(yī)藥銷售管理系統(tǒng)(GSP)。公司效益不好,同事們紛紛離開,我是倒數(shù)第二個(gè) 走的,最后公司倒閉了?;蛟S這就是謠言很厲害的說我做過的公司都倒閉的來源之一吧。其實(shí)我有一個(gè)碼農(nóng)同事,他最近做的3家公司都倒閉了。主要用ASP和 VB,SQL Server好像是6.5什么的,還是用的MMC的管理器。在這間公司認(rèn)識(shí)了一個(gè)程序媛,工作期間交流多了,關(guān)系好起來,她成了我的女朋友。后來中學(xué)70 周年紀(jì)念,帶她回去,感覺很自豪。大家常說:“做軟件開發(fā)的,哪里會(huì)有女朋友?”,其實(shí),書中自有黃金屋,書中自有顏如玉。做開發(fā)的也可以找到女朋友。不 過,后來因?yàn)橐粋€(gè)經(jīng)典的原因,分了。
2. 畢業(yè)后第一份正規(guī)的工作是做辦公自動(dòng)化(OA)的,應(yīng)該是中國第一家公司使用ASP.NET+VB.NET+SQL Server做的。當(dāng)時(shí)還是.NET 1.0 Beta,那里我第一次接觸.NET,學(xué)了VB.NET (我的背景是DOS下的GWBASIC、QuickBASIC,一路到Windows下的Visual BASIC)。不過,當(dāng)時(shí)很多事情發(fā)生,一直影響到現(xiàn)在,其中一樣就是,我在那里遇到了我現(xiàn)在的老婆。你看,做軟件開發(fā)還真能找到老婆的。 部門經(jīng)理經(jīng)常刪除我的代碼,我離職了,還冤枉我破壞服務(wù)器,公司克扣了我近兩個(gè)月工資,然后我就直接回老家和老婆結(jié)婚了。后來這個(gè)部門經(jīng)理被查出倒賣產(chǎn)品 源代碼,被炒了。對(duì)了,這個(gè)源代碼當(dāng)年在網(wǎng)上流傳很廣泛,相信很多做.NET的都下載過。在這里掌握了ASP.NET、VB.NET、SQL Server等。
3. 第三份工作是一家給南方航空做新在線售票系統(tǒng)的公司,用的Java,那是我第一次接觸Java,做了好像3個(gè)月不到,不喜歡,走了,沒多久,公司劇變,要倒閉,員工們都在周末回公司搶機(jī)器來抵工資。
4. 第四份工作是一家做房地產(chǎn)管理系的公司,在這家公司呆了5年,完善.NET和數(shù)據(jù)庫技術(shù),就是在這個(gè)期間寫了個(gè)人的千萬下載量軟件。如果不是移民澳洲,可 能會(huì)提前走。對(duì)了,在這里用到了Silverlight,這個(gè)技術(shù)已經(jīng)被淘汰。語言主要用的C#,掌握了Oracle和O/RM等技術(shù)。
5. 第五份工作是來澳洲后的第一份,做能源管理的,呆了兩年,老板是斯里蘭卡人,公司大部分員工是印度人,部門經(jīng)理是伊朗人,其它都是印度碼農(nóng)。在這里接觸到 海量數(shù)據(jù)(起碼當(dāng)時(shí)來看算吧,單表30億條,每天更新數(shù)百萬),數(shù)千存儲(chǔ)過程,在這里,做了大量數(shù)據(jù)庫優(yōu)化,性能暴升,我的數(shù)據(jù)庫技術(shù)大增,還重寫了主系 統(tǒng),掌握了ASP.NET MVC、Bootstrap、Knockoutjs等等一票技術(shù)。
6. 第六份工作是做Care的,接觸到醫(yī)學(xué)方面的知識(shí),譬如身體檢查就有近20個(gè)的項(xiàng)目,復(fù)雜的算法,幾百個(gè)問題,過百頁的算法。這里呆了2年,菲律賓大媽,你還安好?在這里掌握了Service Bus、angularjs、bower、yeoman等。
7. 第七份工作是做金融/財(cái)務(wù)貸款/支付的,呆了4個(gè)月,老板是猶太人,比較懂得把錢用到極致。經(jīng)常要我加班,有些時(shí)候加班到晚上10點(diǎn)多,一些時(shí)候甚至星期天凌晨。
8. 第八份工作是做GIS相關(guān)的,目前呆了快一年,這里在微博吐槽了幾十回了,不再細(xì)說。在這里掌握了團(tuán)隊(duì)管理/GIS、增強(qiáng)了WPF/數(shù)據(jù)挖掘/數(shù)據(jù)倉庫等技術(shù)。
好了,說完經(jīng)歷就說職場(chǎng)吧。一句話:職場(chǎng)黑暗。遇到好多不爽的事情和混帳的人,有人的地方就有漿糊,有利益就有買賣,就有手段,博弈。這么多年就只有一個(gè)半公司尚算正常能讓我好好地搞研發(fā)。
跳槽是加薪的最佳辦法,跳槽是加薪的最佳辦法,跳槽是加薪的最佳辦法。重要的事情要說三遍。
#p#
如何成為一名程序員
說明:文章中提及的技術(shù)大部分已經(jīng)過時(shí),正確點(diǎn)來說,應(yīng)用范圍已經(jīng)比較小了。因此我并不是介紹新技術(shù),只是談?wù)劤绦蛉松?/p>
從事軟件開發(fā),可以是科班出身,也可以不是。我知道從事軟件開發(fā)的,除了計(jì)算機(jī)專業(yè)的(計(jì)算機(jī)科學(xué)/軟件工程等),還有科班是學(xué)電子、化學(xué)、生物、數(shù)學(xué)、醫(yī)學(xué)等等,不一而足。而我,是學(xué)英語的。
做開發(fā),首先是個(gè)人的能力。個(gè)人能力可以包括很多方面,不過,我覺得最重要的兩樣是:學(xué)習(xí)能力、交流能力。
可能有一些程序員會(huì)問怎樣學(xué)習(xí)好英文,除了在課堂上認(rèn)真學(xué)習(xí)英文外,可以盡量多看些英文節(jié)目、連續(xù)劇、新聞、廣播來練習(xí)聽力,多看英文技術(shù)書籍、文章提升閱讀能力,多在英文技術(shù)論壇、博客交流提升表達(dá)能力。
我偏好高質(zhì)量的代碼。剛畢業(yè)的時(shí)候,寫了一篇20多頁的《VB編程標(biāo)準(zhǔn)》,想發(fā)表在《電腦報(bào)》上,可惜沒有給編輯采納,可能是我的語言表達(dá)太差了,但我仍然希望能在原來公司里面推行,可惜能理解的人太少。
這些年來,遇到各種各樣的開發(fā)人員,各有各的編程風(fēng)格,水平參差不齊。中國的程序員有個(gè)性,他們中的部分人相信能憑一己之力就能把一個(gè)系統(tǒng)做 好,實(shí)際上,單槍匹馬的英雄時(shí)代已經(jīng)過去,開發(fā)人員應(yīng)該是實(shí)干家,不應(yīng)該發(fā)白日夢(mèng)。他們?yōu)槭裁磿?huì)拒絕接受編程規(guī)范呢?理由很簡(jiǎn)單:“我有我的習(xí)慣,為什么 要花時(shí)間重新學(xué)習(xí)別人的規(guī)范?別人的規(guī)范不一定就好。”是的,別人的規(guī)范的確不是最好的,但在工作實(shí)踐中總結(jié)出來的規(guī)范能切合實(shí)際需求,能讓開發(fā)快速進(jìn)行 并完成,最關(guān)鍵的是能滿足客戶需求。同時(shí),遵循同一規(guī)范,無論在開發(fā)交流還是工作移交,都能快速領(lǐng)會(huì)。
掌握好開發(fā)語言是每個(gè)程序員必須做的。但怎樣才算及格呢?很多人說,掌握越多越語言越好,一些則說掌握一種就夠了。我認(rèn)為都有道理,但我相信在 很好地掌握一種語言的基礎(chǔ)上,舉一反三,觸類旁通地學(xué)習(xí)并能應(yīng)用其它語言就更好了。實(shí)際上,我們不能強(qiáng)求不同的客戶需求使用同一種語言,開發(fā)必須為客戶需 求服務(wù)。現(xiàn)在.NET大行其道,想想在2003年很多論壇上還有大量的帖子,主題都是圍繞是否放棄現(xiàn)有掌握的技術(shù),去學(xué)習(xí).NET。這種問題類似于一直以 來的爭(zhēng)論不休的兩種語言之間的優(yōu)劣,最后還是不了了之的。實(shí)際上,任何語言都有其存在的理由,不必去爭(zhēng)論什么,關(guān)鍵是自己用得舒服,能滿足客戶需求就好。 我在工作中也要根據(jù)不同需求用不同的工具。除了語言本身,還的掌握好IDE(開發(fā)環(huán)境)/工具,工欲善其事,必先利其器。
要做好開發(fā),除了個(gè)人/團(tuán)隊(duì)技術(shù)過硬之外,還應(yīng)該多學(xué)習(xí)同行,前人總有讓我們學(xué)習(xí)的地方。我的做法是:做開發(fā)之前,先客戶需求分析,再下研究一下市面上領(lǐng)先的同類軟件/系統(tǒng)/解決方方案,借鑒他們的優(yōu)點(diǎn),注意,是學(xué)習(xí)優(yōu)點(diǎn),不是抄襲。
怎樣成為一名雇員
大部分程序員都得找工作糊口(一小部分可能自己給自己打工,做老板),這樣就免不了要找工作:首先是寫好一份簡(jiǎn)歷,然后是過面試關(guān),然后是協(xié)同開發(fā),還有跟同事相處了。
這些年來,我既做過應(yīng)聘者,也做過面試官。最近我在找新工作,網(wǎng)友調(diào)侃:“你不是在去面試的路上,就是在面試中”。
首先,是寫份好簡(jiǎn)歷。之于簡(jiǎn)歷,我更強(qiáng)調(diào)過硬的個(gè)人能力,不過現(xiàn)在僅僅談?wù)労?jiǎn)歷。
一份好的簡(jiǎn)歷很重要,它是你的應(yīng)聘某份工作的敲門磚。簡(jiǎn)歷內(nèi)容因人而異,但宗旨是要誠實(shí)。實(shí)在太多的人寫自己精通xx了,有更離譜的, 稱自己精通幾種甚至十幾種語言。我相信世界上最偉大的程序員都不這樣說。還有工作和項(xiàng)目經(jīng)驗(yàn),很多人寫得很玄,一看就知道是捏造的,經(jīng)典的如北大青鳥的學(xué) 生的簡(jiǎn)歷,都是套模板的,水分太大,建議大家老老實(shí)實(shí)地寫。不過,仍然可以有點(diǎn)技巧的:那就是專業(yè)規(guī)范化的文字描述。建議多看看各大技術(shù)網(wǎng)站的相關(guān)文章。
需要強(qiáng)調(diào)的一點(diǎn),那就是證書?,F(xiàn)在社會(huì)風(fēng)氣是很強(qiáng)調(diào)證書的,各種證書多得我看證書縮寫根本認(rèn)不出來是什么。很不好意思的告訴大家,我連初級(jí)程序 員都不是,因?yàn)槲覐膩頉]有參加過國內(nèi)任何認(rèn)證考試。大家可能覺得很奇怪,為什么我做軟件開發(fā)這好么久了仍然還不考一個(gè)證書;可能大家更加關(guān)心的是:我沒有 證書怎樣成功應(yīng)聘職位。我不大注重證書。我覺得證書只是能力某種程度上的體現(xiàn),并不是能完全代表你的所有能力?;蛟S也就是這樣,很多程序員考了一大堆的證 書。
寫好了簡(jiǎn)歷,就是投簡(jiǎn)歷了。除了直接投,還可以“騷擾”獵頭。除此之外,還可以找熟悉的人做內(nèi)推。當(dāng)然,如果你名氣大,直接就被雇主騷擾了。我 當(dāng)年沒經(jīng)驗(yàn),把自己當(dāng)萬能膏藥,同時(shí)投了同一個(gè)公司應(yīng)聘多個(gè)職位,我以為招聘公司會(huì)把我當(dāng)全才,但實(shí)際上他們會(huì)認(rèn)為你什么都不行,純粹為了混個(gè)工作做做。 所以,應(yīng)該有針對(duì)性地投心目中感覺最對(duì)口、最有可能的那個(gè)。
關(guān)于職位廣告,部分或真或假或夸張,如果分辨,那是門學(xué)問。
關(guān)于獵頭,獵頭大多不懂技術(shù),而且部分真的很爛,說得不好聽,這些爛中介就是買賣人口的,譬如一些從來不答復(fù)你,一些說:"行啊,我晚點(diǎn)回復(fù)你,然后就沒下文了"