今天你培訓(xùn)了嗎?
金旭亮
(附:“WCF消息交換模式”學(xué)習(xí)資源包)
收到過(guò)一些學(xué)生的郵件,向我咨詢(xún)是否應(yīng)該到一些專(zhuān)業(yè) IT 培訓(xùn)機(jī)構(gòu)進(jìn)行就業(yè)培訓(xùn)的問(wèn)題。
我自己是一名高校教師,也當(dāng)了幾年的班主任,比較了解當(dāng)前在校生的情況。我的看法是:
如果你是在校的計(jì)算機(jī)專(zhuān)業(yè)的大學(xué)生,你應(yīng)該在低年級(jí)(大一和大二)開(kāi)始就學(xué)習(xí)業(yè)界所需要的技術(shù),并主動(dòng)地在高年級(jí)時(shí)尋找兼職和實(shí)習(xí)機(jī)會(huì),組建興趣小組,參加各種程序設(shè)計(jì)競(jìng)賽,并認(rèn)真地在四年大學(xué)期間完成一個(gè)能代表你最高水平和獨(dú)特創(chuàng)意的作品,那么,你根本就不需要在畢業(yè)前為了就業(yè)而花上萬(wàn)元去專(zhuān)門(mén)的 IT 培訓(xùn)機(jī)構(gòu)參加培訓(xùn)。
另外,參加培訓(xùn)的不應(yīng)該僅僅是為了“就業(yè)”這樣一個(gè)急功近利的目的。
我聽(tīng)這行業(yè)的朋友說(shuō):目前中國(guó)的 IT 就業(yè)培訓(xùn),尤其是 .NET ,是“劣幣驅(qū)逐良幣”的“混戰(zhàn)”。
是不是這樣呢?我還真不能下結(jié)論,雖然我自己在大學(xué)中講授了近 5 年的微軟平臺(tái)軟件開(kāi)發(fā)技術(shù)系列課程,也到企業(yè)給在職人員搞過(guò)培訓(xùn),應(yīng)該來(lái)說(shuō)還是對(duì)教學(xué)有一定經(jīng)驗(yàn)的,但畢竟未在各種商業(yè)培訓(xùn)機(jī)構(gòu)中針對(duì)急于就業(yè)的學(xué)生講過(guò)課,不了解學(xué)生的心態(tài)和IT培訓(xùn)機(jī)構(gòu)的實(shí)際情況。
我上網(wǎng)搜了一下,還看了一些 IT 培訓(xùn)機(jī)構(gòu)的視頻和簡(jiǎn)要介紹。有了一些想法,說(shuō)出來(lái)與大家交流,也供想?yún)⒓优嘤?xùn)的學(xué)生進(jìn)行參考。
我看到當(dāng)前針對(duì)就業(yè)的培訓(xùn)主要分為 Java 和 .NET 兩大塊,這是與業(yè)界人才需求現(xiàn)狀基本相符的,但其中有一個(gè)值得注意的現(xiàn)象: Java 培訓(xùn)比 .NET 培訓(xùn)成熟,相應(yīng)的培訓(xùn)機(jī)構(gòu)規(guī)模也較大。我想也許是這樣一個(gè)原因: Java 出現(xiàn)得早,應(yīng)用廣,而且是開(kāi)放的架構(gòu),大型項(xiàng)目用得多。雖然作為后起之秀的 .NET 進(jìn)步很快,但要趕超已有領(lǐng)先一步的 Java ,還需要時(shí)間。
2002 年 .NET 剛出來(lái)時(shí),當(dāng)時(shí) Java很 火,大多數(shù)人學(xué)的都是 Java ,而我在接觸到 .NET 和 Visual Studio.NET 之后,當(dāng)時(shí)心中就很肯定,這是一個(gè)優(yōu)秀的軟件運(yùn)行平臺(tái),未來(lái)會(huì)得到廣泛應(yīng)用,也許無(wú)法壓倒 Java ,但一定至少會(huì)平分秋色。 7 年過(guò)去了,事實(shí)正向我所預(yù)測(cè)的方向發(fā)展。
過(guò)去有人說(shuō) Java 程序員工資高, .NET 程序員工資低,聽(tīng)到這種說(shuō)法,我不禁一笑。你用哪種技術(shù)不是你工資的決定性因素,你自己的能力和素質(zhì)才是關(guān)鍵。當(dāng)你不具備必需的能力與素質(zhì)時(shí),你用哪種技術(shù)都無(wú)法得到高薪。這個(gè)道理無(wú)需我廢話了。
比對(duì)一下 Java 和 .NET 兩大平臺(tái)的技術(shù)特點(diǎn)很有意思,我這里就從學(xué)習(xí)者的角度來(lái)做一下比較: Java 的初始學(xué)習(xí)曲線比較陡 ,但一旦摸著了門(mén)徑,有了一定的開(kāi)發(fā)經(jīng)驗(yàn),也就可以靠自己一路走下去了。而 .NET 的特性是上手特快,但易學(xué)難精 ,而初學(xué)者眼光不夠,會(huì)用 Visual Studio 畫(huà)個(gè)界面,拖幾個(gè)控件,編幾個(gè)小程序,就認(rèn)為“會(huì)了”,就“自信心滿滿”了,就開(kāi)始“不求甚解”了,他不了解,其實(shí)他連 .NET 真正的大門(mén)都沒(méi)摸著。真正想精通.NET,必須以“年”為基本學(xué)習(xí)單元。我看到一些對(duì).NET不屑一顧的人,其實(shí)并不真正地花時(shí)間去了解這一平臺(tái)。我相信只要你真正深入地嘗試探索一下面紗之后技術(shù)內(nèi)幕,你就不會(huì)再持原有的看法。
這里要說(shuō)一下 Visual Studio ,經(jīng)過(guò)微軟多年的持續(xù)完善,這一集成開(kāi)發(fā)工具已高度成熟,兼具功能強(qiáng)大與易學(xué)易用為一體,實(shí)在是微軟在開(kāi)發(fā)領(lǐng)域的殺手锏,為推動(dòng)微軟技術(shù)的普及功不可沒(méi)。但成也蕭何敗也蕭何,Visual studio高度封裝的交互界面,所擁有的大量自動(dòng)化的功能,很容易誘導(dǎo)初學(xué)者不求其解。一流的 Visual Studio 副產(chǎn)品之一是帶來(lái)了比 Java 更多的自我感覺(jué)良好的“菜鳥(niǎo)”。
還是回到 IT 培訓(xùn)這個(gè)話題,我自己主要從事微軟平臺(tái)的技術(shù),就談?wù)? .NET 培訓(xùn)。我看了好幾家 .NET 培訓(xùn)的課程大綱,內(nèi)容驚人的一致,象是從一個(gè)模子里倒出來(lái)的,不過(guò)也情有可原,畢竟 .NET 就是那么些東西。許多家都強(qiáng)調(diào)“項(xiàng)目教學(xué)”,號(hào)稱(chēng)要講授“真正”的“項(xiàng)目”。
在這里,我要 打破軟件培訓(xùn)中的“項(xiàng)目至上”論 !我個(gè)人認(rèn)為,真實(shí)的軟件項(xiàng)目,如果不經(jīng)過(guò)改造,不適合于針對(duì)初學(xué)者進(jìn)行的系統(tǒng)培訓(xùn)。
其理由如下:
真實(shí)的項(xiàng)目,用到的技術(shù)和采用的技術(shù)解決方案,都受到系統(tǒng)原始需求的根本性制約,有些地方過(guò)于復(fù)雜,有些地方又過(guò)于簡(jiǎn)單,還有些地方采用的技術(shù)是“并不規(guī)范但能頂用的”,而且所有用到的技術(shù)都是混雜在一起的,相互關(guān)聯(lián)和依賴(lài)。對(duì)于初學(xué)者而言,這樣的一個(gè)真實(shí)的項(xiàng)目不是一個(gè)好的學(xué)習(xí)材料,它過(guò)于復(fù)雜而且難于把握,只有針對(duì)有基礎(chǔ)有經(jīng)驗(yàn)的人,才能從這些真實(shí)項(xiàng)目中有較大的收益。
所以,如果你作為一名學(xué)生并且沒(méi)有足夠的開(kāi)發(fā)經(jīng)驗(yàn),不要被招生廣告中的“真實(shí)”“完整”項(xiàng)目所迷惑,須知項(xiàng)目再好,你學(xué)不會(huì)吸收不了也是無(wú)用。
我個(gè)人覺(jué)得, 針對(duì)初學(xué)者的教學(xué)應(yīng)該注重循序漸進(jìn),由淺入深,通過(guò)大量小的精簡(jiǎn)的實(shí)例取代一個(gè)完整的大項(xiàng)目,而將大的真實(shí)的項(xiàng)目安排在培訓(xùn)后期, 而不要按照某個(gè)真實(shí)項(xiàng)目用到的技術(shù)來(lái)組織教學(xué)。這不利于學(xué)生掌握整個(gè)技術(shù)體系,而只會(huì)給他的大腦制造更多的混亂。
另一個(gè)是要正確認(rèn)識(shí)“集中封閉式”的“速成培訓(xùn)”。大部分 IT 培訓(xùn)機(jī)構(gòu)都是連續(xù)數(shù)月的培訓(xùn),有的培訓(xùn)機(jī)構(gòu)每天安排的授課時(shí)間和練習(xí)時(shí)間長(zhǎng)達(dá) 10 小時(shí),這明顯是違背教育學(xué)規(guī)律的。編程是一種技能,是一種需要經(jīng)驗(yàn)累積出來(lái)的能力,短期突擊,的確是“臨陣磨槍?zhuān)豢煲补狻保湔嬲男Ч怯邢薜?,學(xué)生們,不要指望你經(jīng)過(guò)幾個(gè)月的培訓(xùn)編程能力就會(huì)“大幅度提升”,“功力暴漲一甲子”,找工作時(shí)就可以“當(dāng)場(chǎng)拿下”。
我覺(jué)得“ 講講練練 ”是一種好的學(xué)習(xí)和教學(xué)方式,具體地說(shuō),學(xué)生聽(tīng)一小時(shí)的課程,教師要安排他要練習(xí)兩到三個(gè)小時(shí),而且講授內(nèi)容的多少和深淺,都應(yīng)該是經(jīng)過(guò)認(rèn)真推敲過(guò)的,這樣才能有好的教學(xué)效果。
不過(guò)這樣一來(lái),教學(xué)質(zhì)量是好了,但招生規(guī)模就上不去了,錢(qián)就賺得少了,恐怕大家都不愿,所以這只是一種理想罷了。學(xué)生對(duì)此要有清醒的認(rèn)識(shí)。
這里談一下選擇 IT 培訓(xùn)機(jī)構(gòu)最重要的因素,我告訴你:學(xué)費(fèi)不重要(只要你還拿得出),機(jī)構(gòu)的規(guī)模不重要(不管它有多大,關(guān)鍵是我花了錢(qián)能不能學(xué)到東西),講授技術(shù)是否最新最全也并不重要, 那什么最重要?
我告訴你: 教師!
選擇一個(gè)培訓(xùn)機(jī)構(gòu),關(guān)鍵看它請(qǐng)了哪些教師!你可以上網(wǎng)搜搜看,這些教師基本情況如何,是否出了技術(shù)書(shū)籍,是否發(fā)表了論文,是否參加過(guò)項(xiàng)目,特別地,如果他有個(gè)人博客的話,從他的文章可以比較清楚地了解這名教師。
只要有好的教師教你,你所花的錢(qián)就值!
有些規(guī)模比較大的培訓(xùn)機(jī)構(gòu),有許多的分支機(jī)構(gòu),我個(gè)人認(rèn)為:選擇這樣的培訓(xùn)機(jī)構(gòu)時(shí)一定要注意你所選擇的教學(xué)點(diǎn)教學(xué)水平如何, 不要相信同一培訓(xùn)機(jī)構(gòu)下所有分支機(jī)構(gòu)的水平都是一樣的 ,哪怕都用一樣的教材和課程體系。因?yàn)闆Q定教學(xué)質(zhì)量的是教師而不是教材!舉個(gè)例子大家都能明白,我國(guó)中小學(xué)都是統(tǒng)編教材,那為什么同樣教一門(mén)課,有的就是特級(jí)教師,有的課講得只會(huì)讓學(xué)生想睡覺(jué)?
而且,按照常理來(lái)說(shuō),教學(xué)這件事是難于標(biāo)準(zhǔn)化的,你培訓(xùn)的是人,不是工業(yè)產(chǎn)品,孔子早就說(shuō)過(guò)要“因材施教”,請(qǐng)問(wèn)一下,“因材施教”能標(biāo)準(zhǔn)化嗎? IT 培訓(xùn)不是麥當(dāng)勞 ,美國(guó)佬有本事能讓全世界所有的麥當(dāng)勞服務(wù)質(zhì)量都一樣,那是人家的本事,看看他們?cè)诠芾砩舷铝硕啻蟮墓Ψ?!而我?guó)有些 IT 培訓(xùn)機(jī)構(gòu),通過(guò)加盟店快速擴(kuò)張到全國(guó),我覺(jué)得這可能會(huì)帶來(lái)質(zhì)量的較大下降,因?yàn)槲覒岩伤麄內(nèi)ツ睦镎夷敲炊嗟挠凶銐蛩降膸熧Y來(lái)跟上這在全國(guó)范圍內(nèi)的擴(kuò)張?
另外, 不要迷信所謂技術(shù)牛人授課 ,我告訴你,搞開(kāi)發(fā)和講課是兩個(gè)領(lǐng)域,我聽(tīng)過(guò)的技術(shù)牛人講課,不少講課的水平讓我來(lái)說(shuō)——不及格。他技術(shù)再牛,如果表達(dá)不出來(lái)或者表達(dá)不清楚,學(xué)生學(xué)不會(huì),那有什么用?學(xué)生就是滿足一點(diǎn)虛榮心罷了。想想陳景潤(rùn)當(dāng)數(shù)學(xué)老師不合格的例子就清楚了。當(dāng)然,如果培訓(xùn)機(jī)構(gòu)選的老師不僅技術(shù)牛,而且口才好,那可真是“十全十美”了,有這種老師授課,花錢(qián)我也愿!良師帶給你的絕不僅僅是技術(shù)本身,你可以學(xué)到很多。
還有一個(gè)是廣告,我個(gè)人比較反感那些說(shuō)話比較極端的廣告,動(dòng)不動(dòng)就說(shuō)自己的“第一”,“頂尖”,可是好象不少 IT 培訓(xùn)機(jī)構(gòu)都這么說(shuō),我就奇怪了,大家都第一,那誰(shuí)是“老二”?估計(jì)是大家全部“并列第一”。不過(guò),我想現(xiàn)在沒(méi)人會(huì)把廣告當(dāng)真的,某民族企業(yè)不天天在喊“每天一斤奶,強(qiáng)壯中國(guó)人”嗎?結(jié)果真是強(qiáng)壯了,連腎都成石頭了,能不“強(qiáng)”“壯”嗎?
作為一名專(zhuān)業(yè)教師,我一直很關(guān)注中國(guó) IT 教育,因?yàn)樯碓诟咝?,接觸到許多學(xué)生,所以對(duì)中國(guó)高校計(jì)算機(jī)教育的現(xiàn)狀感同身受。
中國(guó)英語(yǔ)教學(xué)的失敗,是新東方成功的前提,而中國(guó)高校計(jì)算機(jī)教育的失敗,是 IT 培訓(xùn)機(jī)構(gòu)生存與發(fā)展的前提。所以,IT培訓(xùn)機(jī)構(gòu)要感謝教育部和教育部領(lǐng)導(dǎo)下的各高校,源源不斷地為IT培訓(xùn)機(jī)構(gòu)提供足夠的生源。
其實(shí)如果中國(guó)高校都能真正地給學(xué)生以切實(shí)的幫助,四年的時(shí)間足夠培養(yǎng)出一名合格的軟件工程師,學(xué)生們又何必再花上萬(wàn)元去另外參加以就業(yè)為目的的培訓(xùn)?
但在現(xiàn)階段,參加培訓(xùn)是有用的,再差的學(xué)生,花了這么多學(xué)費(fèi),都會(huì)努力去學(xué),因此,肯定是比參加培訓(xùn)前有長(zhǎng)進(jìn)。只不過(guò)提醒別抱太高的期望。
因?yàn)橹袊?guó)高校的改革實(shí)在是太難了,現(xiàn)狀的改善不是一年兩年能看得到的。
誰(shuí)該為中國(guó)高等教育令人失望的現(xiàn)狀負(fù)責(zé)?學(xué)生有責(zé)任,教師有責(zé)任,學(xué)校有責(zé)任,教育部有責(zé)任,國(guó)家有責(zé)任,社會(huì)也有責(zé)任,轉(zhuǎn)一圈下來(lái),這板子還真不知道該打在誰(shuí)的屁股上。
好了,有關(guān)IT培訓(xùn)的話題就聊到這。
最后,附上我最近完成的一個(gè)有關(guān) WCF 消息交換模式的學(xué)習(xí)資源包,與對(duì) WCF 感興趣的朋友們交流。
==============================
( http://download.csdn.net/source/1378464 )
簡(jiǎn)介:
本資源包包括一個(gè) PDF 文檔和幾個(gè) VS2008 示例項(xiàng)目,主要介紹如何在 WCF 應(yīng)用程序中實(shí)現(xiàn)各種信息交換模式,包括“請(qǐng)求 / 應(yīng)答”,“單向通訊”,“雙向通訊”和“事件驅(qū)動(dòng)”。
特別值得指出的是如何在 WCF 開(kāi)發(fā)的分布式系統(tǒng)中實(shí)現(xiàn)服務(wù)端回調(diào)客戶(hù)端代碼,我先設(shè)計(jì)了一個(gè)典型的實(shí)例來(lái)展示其中的基本開(kāi)發(fā)方法。然后,以此為基礎(chǔ),我展示了如何開(kāi)發(fā)“事件驅(qū)動(dòng)”的分布式系統(tǒng),即如何讓網(wǎng)絡(luò)中的計(jì)算機(jī)去響應(yīng)另一臺(tái)計(jì)算機(jī)中引發(fā)的事件:
服務(wù)端負(fù)責(zé)激發(fā)事件:
客戶(hù)端訂閱并響應(yīng)服務(wù)端激發(fā)的事件:
本資源包中還重點(diǎn)介紹了多線程技術(shù)在 WCF 分布式系統(tǒng)開(kāi)發(fā)中的應(yīng)用,特別地引入了新的多線程開(kāi)發(fā)技巧,使用 TLS (線程局部存儲(chǔ)區(qū))實(shí)現(xiàn)跨線程更新可視化控件。
在本資源包的最后,我介紹了一個(gè)如何使用 WCF 快速搭建一個(gè)雙機(jī)聊天程序示例:
期望我發(fā)布的這些技術(shù)資源能幫助軟件技術(shù)愛(ài)好者更好地掌握 WCF ,如有技術(shù)高手發(fā)現(xiàn)本資源中在技術(shù)上的疏漏之處,敬請(qǐng)指正。
謝謝大家!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
