寫給那些IT的新人們
IT=挨踢,這是IT人的自嘲,進入IT行業是有四五年了,也算得上是一個“老人”了吧,見了不少新人,面試了不少新人,也帶了一些新人,多多少少還是有點發言權的。
關於書本
新人們常常會說我看了多少多少的書,看過某某人寫的書,彷彿書看了就會做了。其實不然,很多新人在面試的時候誇誇其談,說啥啥都知道一點,到真正做的時候,啥都不會。歸根到底是沒有經驗,技術這玩意兒經驗非常重要,很多東西如果不是你碰到了,你從書上一輩子都找不到答案。
我看書的習慣一般都是先把整個書翻翻,瞭解一下書的基本內容,然後在實際專案中遇到相應的問題再去翻書,當然這是因為我對技術已經有一定的瞭解,不需要通讀整本書。初學者應該找一些適合自己的書,通讀一遍,其中的例子要認真做,一定要自己去寫程式碼,而不是Copy。我以前在學做網頁的時候,別人都用Ddreamweaver去做,只有我開啟原始碼編輯器學習HTML原始碼的編寫。
做完書的例子只能說明你會削木頭了,但會削木頭離會做櫃子還有很遠的路要走。還記得達·芬奇畫雞蛋的故事麼?不停地重複肯定是枯燥的,所以你需要自己嘗試去做一些實際的東西,比如做一個個人主頁、一個留言本、一個通訊地址本......在這些實際的東西中去實現你的創意,去實現你在書本上所學習的例子,並且將這些例子加入你的思想。
永遠不要認為書本能給你帶來多少東西,雖然它們很有用,但它們只是一個Key,一個引你入門的Key。我買的技術書中,最多的是VB.Net,但這卻是我最爛的一門技術。而我用得比較好的Delphi、Sql Server、Photoshop、CoreDRAW、CSS、HTML、Javascript、Xslt、Xml,我幾乎沒有買書,但因為實際的專案需要,或者是我個人的興趣愛好。
當然,我並不是反對你去買書,去讀書,我只是想告訴你,你需要有一種平和的心態。但你要記住,書本只是一個Key。
關於基礎
現在很多新人們都是好高騖遠,目空一切,基礎的東西不想做,難一點的東西又做不了,真的很令人頭疼。其實技術人員,尤其是中國技術人員,你要懂的東西太多太多了。我們拿Web程式設計師舉例吧,HTML、Javascript、CSS、Photoshop切圖,這些都是很基礎的東西,但很多人就是不願意去學,認為這些東西太低階,甚至有些老程式設計師也不擅長這些。但我要告訴你,在Web開發中,這些都很重要,尤其是CSS和HTML、Javascript,如果你不是做一個OA之類辦公的Web系統的話,這些在網站用得太多太多了,是一些Web應用的基礎。
雖然我們現在湧現一大批如ASP.Net的優秀開發環境,可以讓你完全不懂HTML也能開發出一套“網站”來,但正如其它程式化的東西一些,它會限制你的靈感與思維,它們都很霸道,所以才會有開源的興起。我以前甚至不願意用ASP.Net內建的GridView,我寧願自己去構造Table,這覺得這樣我更便於控制。
很多新人們喜歡拿新興的技術說事,比如說AJAX,但實質他根本就不懂AJAX實現的原理,連多執行緒的原理都不懂,怎麼能明白AJAX呢?有些做了一年多ASP.Net的人,居然還不知道.Net Framework框架的本質是什麼,不知道ASP.Net是如何實現的,也不知道客戶端和伺服器端是如何互動的。
在這裡,我建議做Web開的新人們,HTML、Javascript,CSS是實現一些Web功能的基礎,一定要打好基礎,當你會你記事本編輯這些程式碼的時候,恭喜你,你過關了。
關於語言的選擇
語言之爭都是大公司戰鬥的結果,套用一句管理上的話來說,把合適的的技術用在合適的地方。我們沒有必要跟風去不停地換新的語言,每種語言都有它的優劣,但在一般的專案中,很難看得出來。如果我們做一個只需要新聞釋出功能的小公司網站,你說是Java和.Net好,還是Asp和PHP好呢?在很多時候,Java與.Net、Asp與PHP是難分高下的,他們之間的差異或許是你一輩子也不需要用到,我們範得著把自己拉入某一些陣營嗎?
當技術達到一定的水平之後,語言只不過是錦上添花了,武俠小說常無招勝有招就是這個道理。你現在讓我換成Java或者是PHP,我很快就可以做專案,因為我掌握的不是語言,而是對技術深層次的理解,現在Java陣營也好,.Net陣營也好,不管你說它們之間有多少差別,但他們的本質始終沒有變,掌握這些本質,換一種語言就好比換一輛車,只需要一個熟悉的過程和一個磨合期而已。
最後,我建議新手們選擇一種在你實質工作中需要的語言,坦坦實實地學好,不要中途“變節”,這樣的成本太高了。.Net也好,Java也罷,只是一輛車而已,學好開本田就會駕豐田。
關於學習態度
學習嘛,在學習的過程中自然會遇到一些問題,遇到問題自然會想到求助。古人有云:禮下於人,必有所求,言下之意是有求於人,必要禮下於人。可是現在有些人不僅不禮下於人,反而還趾高氣揚,彷彿誰欠著他似的。我們老家有句俗話叫拜師學藝要吃二十四碗鼻涕,可見在學習過程中要受到多少的委屈。
吃得苦中苦,方為人上人,做技術尤是如此。我以前在學ASP的時候,同寢室有一哥們是學VB的,因為ASP也是用VBScript做為預設指令碼,所以有很多問題請教他,他當是也是給了我不少的嘲笑,像“這些簡單的問題都還要問”之類的話我倒是聽了不少。但到後我們一起學Delphi的時候,我就已經超過他了。
新人們碰到問題的時候,第一個想法就是想找人解決,當你去幫他解決的時候,他卻去做其它事了,好像這個問題是需要你來解決的,下次出現同樣的問題他還得找你。遇到問題最好的辦法是先排查問題,然後到網際網路上查詢問題的原因,這樣你才不會忘記,不要忽略了網際網路這個最好的老師。我以前在學ASP的時候,為了一個插入資料的問題,查了一個星期,但這個問題我永遠也忘記不了,再也不會範同樣的錯誤。
高手們一般都比較忙,雖然我不是高手,但我還是不原意在我寫程式碼正酣的時候,有人打斷我的思路。先把問題記下來,趁機會問問高手,不要讓他為你解決問題,你要的是一種解決問題的思路。公司常常有新人問我,這個地方出問題了,怎麼辦?我便問他,你上網查了嗎?不是我不願意幫他,而是授人魚不如授人以漁,我直接告訴他怎麼做,那不是在幫他,那是我在害他,我只能是告訴他排錯的方法,解決問題的思路,否則他永遠也不知道這個問題是怎麼解決的,沒有人會珍惜輕易得到的東西的。
最後,我想給踏入這行的新人們一個忠告,程式設計沒有捷徑可言,如果一定要找出一個捷徑,那只有六個字——多看、多問、多寫
相關文章
- 入門指南 | 寫給打算進入IT行業的新人們!行業
- 寫給那些想自學java的同伴Java
- 寫給新人——以體驗為導向的遊戲設計遊戲設計
- 小遊戲的玩法分析與設計——寫給策劃新人遊戲
- BA都在忙些啥 - 寫給新人的BA工作說明書
- 寫給開發們的色彩理論
- 我們公司給新人的README,值得每個程式設計師一讀程式設計師
- 寫給病友們的一封信
- 1024:寫給還活著的研發工程師們工程師
- 寫給園友們的一封求助信
- 【原創】老谷寫給要畢業的同學們
- WWDC 2018:寫給 OpenGL 開發者們的 Metal 開發指南
- MySQL裡的那些日誌們MySql
- Python:那些年我們遇到的坑Python
- 我們自研的那些Devops工具dev
- 寫給那些會做不會說的測試員!“它”正在摧毀你的面試……面試
- 那些年,我們看不懂的那些Kotlin標準函式Kotlin函式
- 大牛們是如何寫出那些高質量、高效能的SQL查詢語句的?SQL
- 寫論文的那些神操作
- 再聊我們自研的那些Devops工具dev
- 那些IP授權遊戲們的故事遊戲
- 寫給準備跳槽的小夥伴們的設計模式——工廠方法設計模式設計模式
- 送給那些有程式碼基礎但仍舊不會學自動化測試的朋友們
- 那些年,支撐尾款人們熬夜的AIAI
- 那些年,我們解析過的前端異常前端
- 寫給 35 歲的自己!
- 寫給小白的 Nginx 文章Nginx
- 寫給未來的自己
- 寫給自己的規劃
- 寫給你
- 花了20分鐘,給女朋友們寫了一個web版群聊程式Web
- 那些“一個人做的遊戲” 和它的玩家們遊戲
- 面向Vue新人:用Vue寫一個分頁器Vue
- 手寫那些年用過的React路由React路由
- 說一下那些年,我們遇到的404
- 那些年我們一起追過的大佬
- 我們來聊聊Cookie、Session和Storage的那些事CookieSession
- 那些年,我們處理過的SQL問題SQL
- 小程式開發,那些我們跳過的坑