撸过一万行代码,你看过这篇文章吗?
北上廣深真的是技術(shù)的寶地嗎?
猶記得剛剛參加工作之后,有人邀請我去深圳,說沿海地區(qū)是IT行業(yè)從業(yè)人員的寶地,只有在那里才會學(xué)到真正的技術(shù),而且能拿到更高的工資,不管從哪個層面來說,都值得你去看一看。然而當(dāng)時的我并沒有聽信他的話,甚至還在想,互聯(lián)網(wǎng)是平的,只要你愿意學(xué)習(xí),哪里都有機會。
這樣的想法顯然是錯誤的。在長沙這樣的內(nèi)地城市,也許你曾經(jīng)一度對技術(shù)充滿了興趣,但是卻不見得有機會讓你實踐新技術(shù),往往很容易就開始接受公司領(lǐng)導(dǎo)層或前輩們的教導(dǎo),一切以實現(xiàn)為重,最終把技術(shù)這條路給堵死。即使你想奮力一博,也往往年華不再了。
然而,真的只有內(nèi)地城市才這樣嗎?那天我跟一位老程序員聊天,他說現(xiàn)在這個時代,技術(shù)發(fā)展太快了,就算他想學(xué)習(xí),也看不到學(xué)習(xí)的方向,或者靜下心來想學(xué)習(xí)也會被生活中的瑣事所耽誤。
他說,“而且現(xiàn)在的企業(yè)對開發(fā)者要求也越來越高,不像十多年前他大學(xué)畢業(yè)后去廣州找工作那樣,只要你有點開發(fā)基礎(chǔ),總能找到工作。公司對你的要求也不高,你代碼寫得好不好,是不是參考設(shè)計原則,都不重要,關(guān)鍵只有六個字,梭代碼、梭得快就可以了。”
我說:“在廣州不是很不錯嗎?互聯(lián)網(wǎng)技術(shù)應(yīng)該也不錯啊。”
他說,“毛線,也只有頂級公司技術(shù)才會不錯,大部分公司其實跟內(nèi)地沒什么區(qū)別。”
好吧,我突然想起身邊那幾位去了北京深圳的朋友,他們也是從事軟件開發(fā)領(lǐng)域,這幾年都相繼回到了長沙,我曾經(jīng)問過他們覺得北上廣深技術(shù)如何,他們都紛紛表示,也就那樣吧,并沒有想象中那么好,或者大部分都是吹得好。當(dāng)然這幾位朋友由于各種原因,也未能有幸進去頂級互聯(lián)網(wǎng)企業(yè),而且最終也未能在技術(shù)領(lǐng)域得以進一步精進。
當(dāng)然也并非絕對,依然有許多人他們帶著夢想而去,回到長沙時,已然成為出類拔萃的翹楚,在我把長沙.net社區(qū)拉起來之后認識的一些人,深深的感受到他們身上那些與眾不同的感覺,顯然有別于其他開發(fā)者,成為各家企業(yè)互相爭奪的優(yōu)質(zhì)資源。還有許多開發(fā)者,他們的職場之路已經(jīng)一騎絕塵,甩開很多個層次,成為技術(shù)世界中的頂級玩家。
是什么決定了這種區(qū)別?不得而知。
學(xué)不完的技術(shù),哪些是自己的?
然后老程序員繼續(xù)吐槽:尤其是人年紀大了,就越來越感覺技能脫節(jié)了,而且是近幾年突然開始的,早幾年還能寫點移動端多端代碼和后端代碼,這一兩年就開始有點跟不上了,雖然這一兩年學(xué)了點python和go語言。
我說:“那也可以啊,這些語言都是目前最流行的互聯(lián)網(wǎng)語言,學(xué)會了優(yōu)勢明顯啊。”
他說:“雖然學(xué)了那么多語言,但是卻感覺根本只是一個搬運工,把網(wǎng)上的資料搬運下來,遇到的問題也根本解決不了。”
我說:“好吧,那大概是學(xué)習(xí)不得法,或者沒有獲得積累吧。”
(其實,我的內(nèi)心同樣沒有底氣,和他本質(zhì)上沒有任何區(qū)別,要說自己在技能上的積累,其實也好不到哪里去。)
一直在內(nèi)地城市,我深深的感覺到包括我自己在內(nèi),開發(fā)者們很容易進入一個職場的誤區(qū),即容易成為多面手,而無法在某些領(lǐng)域?qū)>?/span>由于一些公司對于人才的專業(yè)技能沒有特別的要求,往往把獨當(dāng)一面當(dāng)成是基本能力,只要你擁有這樣的能力,就會把你往項目上丟,然后就是項目管理,部門管理,然后就與技術(shù)脫節(jié)了。當(dāng)然,這些項目看起來也會用到許多不同的技術(shù),但這種技術(shù)的應(yīng)用水平卻只是停留在初級水平,遇到問題,通過百度快速解決往往是第一選擇,至于下次遇到了同樣的問題,你該怎么做?還是繼續(xù)尋求百度的幫助。為什么出現(xiàn)的技術(shù)問題,只要把百度中搜索到的魔法值一設(shè)置,答案就迎刃而解?
好吧,大部分這樣出來的高級工程師,大概只是CV工程師。(Ctrl+C,Ctrl+V)。
職業(yè)規(guī)劃,如何規(guī)劃?
是什么原因?qū)е铝碎_發(fā)者們,哪怕去了北上廣深,也沒有成為真正的技術(shù)大牛、或者程序員們,學(xué)了那么多東西,卻依然只知皮毛呢?
從某種意義上來說,也必須承認,許多以外包項目研發(fā)的企業(yè),實際上對于軟件工程師的職業(yè)發(fā)展規(guī)劃根本就是失敗的,畢竟讓這些非科班出生的企業(yè)家、以及一些依托百度搜索、靠掌握CV編程絕技成長起來的高級工程師或TeamLeader來對軟件工程師們進行所謂職業(yè)規(guī)劃根本也是不可能的事情,所以從某種層面上來說,需要開發(fā)者自己來明白自己的職業(yè)發(fā)展規(guī)劃。
在《構(gòu)建之法》這本書中,有一個章節(jié)《軟件工程師的成長》專門提到了這個內(nèi)容。在這個章節(jié)中,鄒欣老師提到,初級軟件工程師應(yīng)該有以下幾種成長:
1、積累軟件開發(fā)相關(guān)的知識、提升技術(shù)技能(如對于具體技術(shù)的掌握,動手能力)。
2、積累問題領(lǐng)域的知識和經(jīng)驗。
3、對通用的軟件設(shè)計思想和軟件工程思想的理解。
4、提升職業(yè)技能(區(qū)別于技術(shù)技能)(例如自我管理的能力、表達和交流的能力、與人合作的能力)
5、實際成功。應(yīng)該做出一些能夠公開展示的工作成果。
同時,老師也提到了一些職業(yè)成長的建議,包括做好自我評估的一些方法,雖然不少開發(fā)者做的都是所謂的"CRUD”開發(fā),但并非這種開發(fā)方式就是沒有技術(shù)含量的事情,同樣需要一些核心技術(shù)和擴展的知識。
例如,一個簡單的單表增刪改查,看似是滿足數(shù)據(jù)存放到數(shù)據(jù)庫的最簡單的操作,每天的重復(fù)或許枯燥無味,但是與數(shù)據(jù)庫技術(shù)相關(guān)的操作、大于大容量數(shù)據(jù)的數(shù)據(jù)庫操作、并發(fā)、備份、以及進一步的關(guān)系數(shù)據(jù)庫模型和數(shù)據(jù)挖掘和商業(yè)智能,都是屬于可以進一步的擴展能力。
所以一個人的知識成長,如同早年一款流行的策略類游戲《帝國時代》中的知識樹,往往都是從最基礎(chǔ)的技能出發(fā),推而廣之,進一步擴展,最終才能打造出更加完善的知識體系。
而如何才能提高技能?鄒老師認為,“答案很簡單,通過不斷的練習(xí),將低層次的問題都解決,變成不經(jīng)大腦的自動操作,才有足夠的時間和腦力來解決更高層次的問題”。老師將問題分成3個層次,分別是:低層次問題(變成自動操作)=》容易精通;中間層次的問題(由于需要花一點腦力來解決,所以可以是不斷的學(xué)習(xí)中);而高層次的問題,大部分情況下是無暇顧及、甚至很難遇到很難重現(xiàn)的,所以也很難成為所謂精通。
? ? ? ? ? ? ?
在工作過程中,盡可能的積累經(jīng)驗,讓自己掌握的技術(shù)更加純粹,形成自己的技能,除此之外,我們也可以有一些適當(dāng)?shù)淖詫W(xué)來進一步擴充自己的知識面。在長沙.net技術(shù)社區(qū)博客興趣小組中,有朋友指出,通過不斷的自學(xué)和練習(xí),也可以形成自己獨特的學(xué)習(xí)方法,這些學(xué)習(xí)方法能夠快速的應(yīng)對技術(shù)變化帶來的挑戰(zhàn)。在這個知識大爆發(fā)的時代,靠死記硬背來記住某些問題的解決辦法可能作用不大,只需記住具體的問題關(guān)鍵點即可。能力強的人不一定比其他人會許多東西,而是能夠以更快的速度解決問題。
例如,像我曾經(jīng)提到的作者鄒瓊俊,他的學(xué)習(xí)方式就非常獨特,那就是自學(xué)一種技術(shù),并出版一本書,然后把他應(yīng)用到公司項目中,進而推動公司的技術(shù)變革。在此之前他已經(jīng)出過.NET技術(shù)書籍《Asp.NET企業(yè)級開發(fā)實戰(zhàn)》這樣的暢銷書,最近他又出版了一本新書,這本新書則是基于跨平臺技術(shù)開發(fā)的書籍《H5+跨平臺移動應(yīng)用實戰(zhàn)開發(fā)》,這本書通過模擬一個社區(qū)的維修功能模塊來介紹如何進行H5+跨平臺移動應(yīng)用的開發(fā),采用了一些目前主流的前端開發(fā)框架或語言進行編寫,包括MUI、ES7等。
(據(jù)我所知,在目前的開發(fā)者圈子中,有關(guān)這一塊的技術(shù)書籍似乎不是特別多,尤其是前端技術(shù)發(fā)展的非常快,所以許多技術(shù)與生產(chǎn)環(huán)境嚴重脫節(jié)了,而這本書則采用了目前都比較先進的一些技術(shù),確實值得大家入手。)
當(dāng)然,我的重點并不是介紹這本書,而是介紹鄒瓊俊學(xué)習(xí)的這種形式。難道還有比寫一本書更好的學(xué)習(xí)方式嗎?
結(jié)語
對于IT企業(yè)而言,如果不掌握技術(shù)革新的方法或抓住新的機遇期,或許迎接而來的是自然而然的內(nèi)卷化到死亡。《浪潮之巔》一書中,將企業(yè)變革稱為“轉(zhuǎn)基因”,吳軍老師認為,技術(shù)浪潮面前,要保持優(yōu)勢,需要具有不斷變革的勇氣和能力。
人何嘗不是如此?學(xué)習(xí),并不斷的練習(xí),進而形成自己風(fēng)格的高效學(xué)習(xí)法,正是開發(fā)者們不斷刷新自我知識體系得到的寶貴財富。
總結(jié)
以上是生活随笔為你收集整理的撸过一万行代码,你看过这篇文章吗?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.NET Core Web Api
- 下一篇: 利用ICSharpCore搭建基于.NE