最近一段時間因為家庭和感情原因,我也面臨着辭職和找工作的問題,在北京上海和現在工作的城市因為人脈及虛名和其它原因,如果找起工作來可能會相對容易一些,但是主要是考慮到這些年一直在外漂泊,是以很想回到湖北老家找個工作,用朋友勸阻的話說“武漢是個二線城市,機會比北京上海要少”,但我這次主要不是考慮機會的問題,主要是考慮父母逐漸年邁在湖北武漢工作照顧起父母來比較友善,此外據我了解武漢還是有機會的,遂決定辭職回武漢。8月20日回家了一趟,9月1日回到公司上班,同時遞交了辭職報告,得到公司同意之後我将網上的個人履歷公開,之後沒有在網上主動找工作(N多年都沒有主動去找過工作了),一周後一家公司找到我,接下來兩周的時間完成了面試、接受聘用通知書的過程,我将9月30日回武漢,10月10日之前将去公司使用。
在這段時間裡收到一個計算機系大四的學生向我請教求職問題,本人一不是什麼人力資源專家二不是什麼獵頭三也不是什麼職業規劃師,隻是一個有7、8年工作經驗、有過面試和被面試經理的經驗一個開發人員而已,是以沒有那些專家分析得那麼全面,正所謂“橫看成嶺側成峰,遠近高低各不同”,從開發人員的角度講講找工作的問題,因為個人經驗因素太多,可能一定正确,希望大家參考借鑒。
————————————————————————————————————
以下是第一封信:
周老師:
您好!
我是在CSDN上■■《■■■■ ■■■■ ■■》的小×,×××,不知道您還記不記得我呵。
我現在大四了,面臨着就業,我希望可以找一個C#開發的職位。但是有一些問題,我自己判斷不來,希望向您請教。
1.我自我感覺和身邊的多數同學相比,自己算是比較有優勢的。但是我們學校實力并不強,我和其他院校的優秀同學相比會不會有差距,差距有多大,我并不清楚。我在所有的2010年畢業并笃志于.NET方向的同學中可以排到什麼位置,我也估計不到。您在.NET領域工作多年,應該帶過不少畢業生,我随這封郵件附上一份履歷,希望您可以幫我指出我在畢業生中處于什麼水準。
2.我對自己的英文聽說能力比較有信心,希望可以進入外企,赢在起跑線上。但是我在51Job和ChinaHR搜尋工作資訊時發現,将.NET開發+應屆生這兩條作為搜尋條件的話,搜到的職位寥寥無幾。應屆生如何才可以進入外企呢?希望您可以指教。
3.各個公司釋出在網上的介紹都很是雷同,斥資***,與***有合作關系,成功完成過***。這麼多的資訊看的眼花缭亂,如果是您在求職的話,您會根據哪些要素來判斷自己是否适合某個企業呢?
最近聽說您要回武漢老家工作了,祝您多吃鴨脖,工作順利!
——————————————————————————————————
我的回信:
×××同學:
你好。去年我在寫《ASP.NET夜話》時無意中關注到你在翻譯《■■■■ ■■■■ ■■》了,而且我還看過你翻譯的幾頁,感覺翻譯的還不錯,在還未畢業的大學生當中能有你這樣的能力的确實不多(至少我在讀大學其間沒有你這麼優秀,表現平平),确實就像你自己所說的那樣,跟你的同學相比你已經赢在了起跑線了。
下面就你提到的幾個問題進行回答一下:
第一個問題,你說跟你的同學相比你具有不少優勢,但是由于所在學校跟名校相比名氣不是太大。說一些讓你增加信心的話吧,我也是2002年從江漢石油學院畢業的,我的專業還是建築工程專業,當時不論是專業課還是計算機方面我都是表現得很一般的。從你在履歷中介紹的幾個項目來看,好像都是WinForm的項目,我不知道你在網上求職時留意到沒有一些公司在招聘C#方面的開發人員主要是用來做什麼?是做WinForm軟體還是做WebForm網站?建議你下次浏覽求職類網站時留意一下。據我自己的觀察以及一些獵頭公司推薦給我的機會來看,我了解似乎用C#做網站的比做WinForm的多,但是你在履歷中沒有說明這個問題,現在到你畢業時還有一段時間,如果你觀察用C#做網站的多的話,建議你多了解一些ASP.NET開發方面的知識,甚至動手做一做,相信C#基礎牢靠的話掌握ASP.NET會比較快的。此外,在你提到的項目中似乎沒有涉及到資料庫,作為開發人員應該提及一下對資料庫的熟練程度的。
最近幾年來作為技術管理人員我面試過不少人,我也被不少公司面試過,就我的經曆來說我和一些面試官都很少關注學校綜合實力,而是比較在意面試者的學習和工作經曆是否和公司的要求接近,當然不同的公司的要求可能會不盡相同,我曾經拒絕過幾個名校畢業的計算機專業的研究所學生,原因很簡單他們完全不符合公司的要求。
第二個問題,你說你希望利用自己的英語優勢到外企去工作,對這方面我了解不少太多。好像外企确實招聘應屆生比較少,大部分人招聘人員對畢業生印象不是太好:剛從學校出來,容易意氣用事,不能經受挫折和委屈,外企可能也是這樣的吧。今年我就招聘了兩個畢業生,都在試用期結束之前走了,他們都不能适應從學生到公司職員的那種轉變。我認識的一家獵頭公司的人告訴我,他們把人按照工作年限分做幾個等級:0-3年的,這類開發人員基本上不會被獵頭公司關注,算作是初級開發者;3-5年的,這類開發人員會得到一定程度的關注,算是中級開發者;5-8年的,這類開發人員算是進階人才了,一般獵頭公司關注得最多的就是這類人才,外企似乎也比較青睐,這類人員職業素質和技術素質都經過長時間的鍛煉都相當不錯;至于8年以上的,算作骨灰級了了,這類人才一般招的機關很少,是以獵頭公司關注也不是太多,加上幹了這麼多年的優秀人才也許就已經擁有一定的股份之類的,不再輕易變換公司。有一句話說得好:“最快的路不一定是最近的路。”你可以了解一下外企在校園招聘的情況,如果沒有的話可以先找一個公司做3年左右,注意在這3年時間裡不要把英語丢下了,一定要堅持學習。
第三個問題,關于找公司的問題。這個方面我沒有太多的經驗,不過在找工作時盡量考慮一些有些聲譽和好口碑的公司或者有一定規模的公司,這樣曆練的機會會相對多一些。在找工作時可以利用一些個人關系,從公司當地的朋友、親人或者同學那裡看能否了解那個公司的情況。此外,一般的公司都有公司網站,到公司網站去看看,了解一下應聘公司的經驗範圍及公司動态,從這些資訊上也能從側面上了解這個公司。一般來說,公司網站是一個公司的門面,如果公司開辦時間很長而公司網站不怎麼樣的話,有可能這個公司不是太理想。此外如果在面試和其它形式的交流過程中,相關人員支支吾吾的話你也需要警惕。
以上是我的一點經驗,希望對你有用。
另外,在你的履歷中發現了一些問題,網上都有履歷模闆的,用那種比較常用的模闆來寫你的履歷可能會好一些,因為大家已經習慣了履歷那種常見的格式,找資訊時也友善些。将個人技能用文字的方式而不是自己給自己打分的方式來寫可能會好一些,在校其間獲得的榮譽也可以列出來。對于企業關注的基礎知識、資料庫知識及JS及HTML和CSS方面(如果做網站就會有要求)你的掌握和領悟程度,并以一些你的項目來展示你的能力,這樣可能你會有更多的機會一些,注意适當措辭,區分“知道”、“了解”、“掌握”、“熟練掌握”和“精通”(這個詞盡量少用)之間的差別。
當然上面的是一些我在招聘别人和自己寫履歷時的心得和體會,可能有以偏概全之嫌,如果你覺得某些地方對你有用,那就适當采用吧。
周公(周金橋)
2009/09/22
—————————————————————————————————————-
該同學的回信如下:
周老師:
您好!
非常感謝您的熱心解答和指教,您的回複的确直指到了我的問題所在,真的很感謝您!
您說“在還未畢業的大學生當中能有你這樣的能力的确實不多”,這實在是過譽了。因為我在CSDN學生大學營上認識了一些同學,他們的代碼寫的很好,很漂亮,他們對某一方面問題的認識很是深入。而我在.NET的學習上更多是跟着一本書按順序看下來,把代碼改寫一下,運作一下,很少有對某一方面很深入的研究。和他們的差距正是我危機感的來源和前進的動力之一。我翻譯《■■■■ ■■■■ ■■》也更多的是一種愚公移山式的勞動,不知不覺中就翻完了600頁,可惜在即将把山夷平的時候卻被出版社把我這個山寨的愚公給阻止了,呵呵,不過也沒關系,反正我的初始目的隻是想學習C#和鞏固英語。
您還提到我履歷中沒有提到資料庫應用和ASP.NET,真的是被您說中了,這兩方面正是我的欠缺之所在。因為我在學C#的過程中真的體會到了“學的越多,才知道會的越少”這句話的含義。學了文法之後會發現很多Framework中的類不太會用,學了一些類庫的用法又發現還有MSIL、CLR和JIT、GC這些高深的東西。用Reflector檢視别人的代碼的時候看到人家引入了很多系統的DLL,發現竟然還有一門叫做P/Invoke的學問。這才發現.NET的寬廣和駁雜,對同學們的“其實.NET就這點兒東西,拖拖按鈕而已”的說法頗不贊同。就在意識到.NET的博大精深的同時,我萌生了一個現在看來挺弱智的想法:“等我把C#學好了,再去看WEB開發的東西肯定快得很”。但是我對于“學好”的定位卻在随着學習的過程而提高,尤其是在看着CSDN和部落格園上很多前輩們寫的文章發傻的時候,我才知道“學好”實在是一個太高的目标。也就這樣我對web開發的學習計劃就拖下來了。今天聽了您的建議,我決定去買本您的《ASP.NET夜話》,惡補一下。
關于履歷格式的問題,我會結合您的意見去修改的。您還提到了履歷中應該提及基礎知識的掌握情況,其實《彙編》、《資料結構》、《資料庫基礎》這幾門課我都是考了90分以上,上機實驗也都是自己做的,沒有去抄襲同學或網上的模闆。不過我曾聽一個工作了的師兄說過,把考試成績寫到履歷上會讓人家認為你是在炫耀,還會讓人家認為你是那種隻會啃書本不懂開發的書呆子。不知道這點您怎麼看呢?
再次感謝您在繁忙的工作中抽出時間閱讀郵件并解答我的問題!
祝 工作順利!
學生 ×××
2009-09-22
—————————————————————————————————————-我的答複:
×××同學:
你可以看看網上的應屆生的履歷模闆,履歷中不會将每年的考試成績列出來,但會列一些在校其間獲得的獎勵(如果太多的話盡量列出與應聘崗位有關的獎勵),關于MSIL、GC、JIT、P/Invoke和CLR這些你可以暫時停留在知道的程度上就可以了,實際上在開發過程中也沒有誰一上來就那這些東西說事的。
但是,除了做嵌入式開發比較少應用資料庫之外,不管是做WinForm還是ASP.NET大多數情況下都需要跟資料庫打交道,inner join、left join、right jion、union、group by、having這類的用法多少會考一點,還有有關資料庫範式方面的知識,這些知識點我在面試時考過别人,别人在面試我時也考過我,是以我覺得這些還是比較重要的。
至于ASP.NET,用.net可以在三個領域做開發:嵌入式裝置如Mobile,桌面應用程式WinForm和Web應用程式WebForm。在早些年在嵌入式裝置上用.net做開發的少,這些年多了一些,但是還是沒有在WinForm和WebForm方面的應用多,我從業這些年來以及向别人詢問得到的答複似乎都是比較偏重于WebForm開發(B/S架構在用戶端隻需要浏覽器即可,免了C/S架構需要在用戶端安裝軟體和.NET Framework以及軟體版本更新的問題等)。當然我并不是說B/S比C/S就多了很多優點,很多情況下用C/S架構更适合。其實WebForm和WinForm相比,多了HTML、CSS和JS方面的要求,隻要C#過硬,學習起來難度不是太大,隻是需要注意的是在開發WinForm時我們不會太多考慮使用某個控件是否合适的問題,但是在WebForm中實作某個效果可能會有使用HTML控件、使用ASP.NET伺服器控件、直接輸出HTML代碼等幾種方式,這時候就需要我們根據情況決定采用那種方式了,我的建議是不要一味使用伺服器控件,某些情況下用其它方式替代可能會更好。
此外,你在網上看别人寫的文章時,會覺得别人的實作無論是從代碼量、執行效率、可讀性及思路方面都比自己勝出許多,特别是在閱讀一些在某個行業從事多年開發的前輩的文章時這種感覺會更加強烈,這種感覺是很正常的。學無止境的,我的部落格上曾經轉載過一篇文章叫《不要迷失在技術的海洋中》,網址是:http://blog.csdn.net/zhoufoxcn/archive/2007/10/30/1857097.aspx,之是以轉載那篇文章就是解決經常有人問要學的知識太多該如何去學的問題,建議你去看看。在學習時你會發現有很多高深或者晦澀的地方,但是真正到開發中的時候你會發覺用上那些知識點的地方也不多,平常要用到的大都是一些很基礎的問題,是以我覺得更多的是應該把基礎打牢,然後再選取一個到幾個點進行突破,使自己在這幾個方面上比别人更突出,這樣你可能會多一些機會。要想面面俱到似乎不太容易,也似乎沒有必要,可能我們也不會運用所有的知識點在所有的領域進行開發,基礎牢靠并且經驗豐富之後再花很少的時間就能掌握和領會新的知識了。就像我,最開始是學Java的,用的資料庫是MySQL,後來轉到用C#開發,資料庫也改成SQL Server了,由于基礎學習得比較好,是以轉過去也沒怎麼費力,後來給某省做一個網站人家要求用Oracle,我發現在MySQL和SQL Server中的經驗大部分都可以用到Oracle中,我隻需要記得Oracle與衆不同的那一部分就足夠了。
上面是我個人的一些經曆和建議,當然我不是那種職業規劃師或者人事經理或者獵頭公司的從業人員,我的經驗來自于我跟他們的交往的總結,不一定正确,一家之言,僅供參考。
周公(周金橋)
2009/09/23
——————————————————————————————————
總結(其中有些不一定是我的觀點,或許在我以前職業生涯中困惑時看到了就記下來作為自己的了):
1、第一份工作盡量不要太看重薪水,工作是一個持續的過程,更應該關注是否可持續。想當年我參加工作時第一個月工資才¥600,因為在那裡工作不是很忙,而我個人毅力比較強可以堅持自學,等到3年半後我離開那裡時因為工作态度好,工資漲了不少,并且我個人基礎打得非常牢固,這對于我現在非常用。
2、善待你的第一份工作。如果可能,盡可能第一份工作幹得長一些,認真負責一些,我發現我身邊很多朋友,工作不怎麼認真負責,而且動不動就辭職不幹了,一問大部分第一份工作時就是這樣,養成習慣了,跳來跳去,一直遊離于核心團隊之外,個人發展前景和薪水待遇自然不必說了。
3、在學習上選擇合适的突破點。就像我在回答那位同學的信說的那樣,程式設計語言、資料庫那麼多,每一種程式設計語言或者資料庫再細分又會有更多的應用場合,想全部學會全部是不可能的,應對的辦法就是“一專多能”,一專是指在某個比較具體的方向上你要比同時起步的人要強(比如你的同學),在保證專的情況,再适當拓寬自己的眼界。現在的畢業生容易走兩個極端:一是上學玩遊戲睡覺的,這種人什麼都不知道;一是學習比較認真的,什麼都知道,就是什麼也做不了,這兩種人對于公司來說都是沒有什麼用的。有些同學可能會看到今天有兩家公司招Java程式員,于是回去看看Java文法去面試;明天看有三家公司招.NET的,于是翻翻.NET講義去面試,最終結果可想而知。就我個人來說,在工作中我也不是一定會弄清楚我所在的這個領域的全部知識,看過我的《ASP.NET夜話》的朋友可能有一個感覺,在書中我沒有太多去講解伺服器控件的用法,而是對一些常見的控件進行講解,最後适當拓展一下,因為我覺得學到那些知識我們就可以應對企業開發了,其它的知識可以在工作之餘有時間再鑽研去。
4、養成多動手的習慣。現在很多學生的動手能力越來越弱了,這主要跟他們不太願意動手有關系。在學習時,老師布置什麼作業拿到QQ群或者論壇裡可能就有答案了,下課後不是卿卿我我就是網吧歌廳,進階人員的面試偏重于電話面試,不必說每一句代碼,隻要說出思路就可以了,但是對于應屆生還是偏重于理論與動機實踐相結合的。連配置資料庫連接配接、啟動停止資料庫服務或者Web服務都不會,或者幹脆離開了伺服器控件就活不了,别人寫好的JS腳本都不知道怎麼去用,這樣即使通過了面試到了企業也不會過試用期的。
5、養成獨立思考的習慣。做開發時面對的情況千變萬化,但隻要我們獨立思考善于總結,總會發現一些共同規律,這樣即使我們去做一個以前從來沒有做過的系統我們也不至于束手無策,不知道從那裡下手。在網上經常看到這樣的情況:有人問了一個問題,别人給了一個類似的解決方法,提問人依然還在那裡要直接的答案,不能動手将别人的解決方法改成适合自己的情況的,這種情況很危險。
最後要說的是,人有千種,路有千跳,一定要找到适合自己的那一條。
周公(周金橋)
2009/09/27
=======================================================================================================
有一定工作經驗的開發人員請看此篇《工作經驗到底是個什麼東東?工作經驗從哪裡來?》。