首先一首音樂送給你們,祝你們可以突破自我。html
好吧並不讓插入flash ,那麼直接貼網址吧java
https://www.bilibili.com/video/av1286380/index_134.html程序員
每一個人都會有錯誤,可是要從細節中找尋本身的錯誤。面試
對於程序員來講,錯誤要麼就是很容易就找到,要麼就很是隱蔽。算法
首先就是發生在我本身身上的事,公司週五下午有一個職場禮儀培訓,而後老師讓我總結內容,我馬上尷尬,說話結巴和忘詞了,當着全公司面出醜。。。。編程
好吧,雖然如今想起來仍是很尷尬,可是做爲程序員必定要學會如何總結本身的錯誤和他人的錯誤,這裏我就先總結一下本身犯下了哪些錯誤。c#
那麼先是第一條,我總結了一下,老師首先說的是職場穿着,以後是如何與老闆交流,歡迎客戶,與客戶交流,介紹領導,送走客戶等等,如今我大概也就記得這些了,具體操做老實說沒有通過練習或者真的記錄筆記,我是絕對不可能還記得的。網絡
那麼爲何說我犯了錯誤呢,由於對程序員來講,除了穿西裝以外的場景基本不太可能出現,甚至穿西裝來講,我不以爲大部分公司會強制要求程序員穿西裝,因此我對於這部分沒有認真聽,致使了被老師叫到以後當衆出醜。框架
而後說爲何是犯了錯誤,假如老師最後沒有叫我總結呢?這裏有個誤區就是並非沒讓我總結就不會犯錯,其實應該感謝這個老師讓我犯下的錯誤暴露了出來,那就是這些套路,其實頗有可能會用到的。ide
假如我以後創業,若是沒有學會這些套路,至少會見客戶的時候,就不會意識到哪些動做是犯忌,哪些動做是會讓客戶不舒服的。
接下來是第二條,由於沒有當衆講解的經驗致使忘詞,或者說忘記以前的內容(雖然我也確實沒認真聽),這方面暴露出來的問題就是個人臨場應變能力不足,作事不專心。
我作事確實很容易分心,這是事實,因此我決定找一個能磨練意志力的方法,以後分享給你們,其實我以爲我天天堅持上下班騎自行車24千米已經很磨練人了(偷笑),這個暫且不表,說一下臨場應變能力,這方面的能力確實是我欠缺的,由於我學習經從來說,能夠說基本不會有用到這些內容的狀況,我畢竟不是正規大學畢業的,這個缺點是要認清,相應來講不會有面對比較多人的狀況,我我的以爲由於我沒有記筆記的緣由致使我會忘詞和緊張,由於個人性格就是謀定然後動,面對突發狀況應變不足。
最後是第三條,第三條能夠說是面對同事或者說是(職場中)我最應該關心的問題,就是本身露出了某些破綻致使同事(或者其餘人)攻擊而讓本身出現損失的狀況。
解決方案也很簡單,就是絕對不要露出破綻,可是我要告訴你們一個信息,就是每一個人由於成長生活經歷,或多或少都會露出一些問題而本身卻什麼都感受不到,反而認爲很正常,那麼這個時候就要正確認識出本身露出的什麼破綻,不然就是很危險的事情。
好比我說個例子,財務你們都懂,若是財務貪小便宜,那麼問題就大了。
這裏再說一下我遇到的程序員的問題吧。
先說這三點,之後有機會再補充吧。
職業規劃問題,我能夠說,我遇到過的程序員,百分之百都是徹底沒有職業規劃這個概念,而其中百分之九十,說的是代碼幹不動了就去作管理。
這是很是有問題的,我就先不說管理好很差幹,而是管理職位老是比程序員少的,同時每一個人管理水平有好有壞,好的公司又只有那麼多,做爲一個程序員如何使用十幾年的編程經驗去和別人十幾年的管理經驗相比呢?
問題就處在競爭和我的水平上,若是幹不過別人,繼續回去作程序員嗎?
這個時候就要有一個至少是存在的職業規劃,我說的意思固然不是說寫代碼寫不動了就去作管理,就算目標是管理,也要有這麼一份職業規劃,規劃本身在何時學習管理知識,什麼條件下轉管理崗位。
固然我做爲程序員才入行1年多,這裏仍是請你們多網上查查其餘人的博客帖子,就我目前來講給不了你們太多的意見,固然也能夠給你們一些小建議。
首先就是任務分解,例如目標是入職微軟,那麼分解目標就是先學會英語,至少要達到可以自如和外國人溝通的地步,這一步能夠報班也能夠花時間自學。
而後是數學,數學水平我我的以爲至少大學本科一下的,至少要可以在網絡的幫助下使用。
最後是算法,微軟面試的算法應該不是很難,算法導論學會後,看一下微軟面試經(大概就是其餘人的面試經驗和麪試題),雖然面試題不太可能重複,可是至少要知道大概流程,同時要肯定面試流程。
還有就是我上面說的,最好找一個一樣是微軟或者也是相同等級的大公司人員先預演一下,我相信他們也應該樂於這樣,或者說花錢讓他們給本身作一些諮詢服務也能夠。
大概就是這樣吧,核心內容就是分解大目標,規劃小目標,規劃到以天爲目標,好比上面說的學英語,下班回來後,學10個單詞,複習昨天的10個單詞,算法導論看3頁,複習昨天看的3頁,這樣積累下來,不用特別長的時間,就有顯著的提高,固然得堅持。
而後是工做態度,說工做態度,就是不要以得過且過的態度對待工做,我記得郭德綱一直說,相聲這一行,門檻在門裏面,有的人進來了再出去捨不得,你也是藝術家,我也是藝術家,你們湊合湊合得了。
這一句一樣適用於咱們這一行,甚至能夠說程序員的入門要求比相聲低多了,相聲還有賣不出票的時候,程序員只要入門了,至少不會上街要飯。
而我要說的是,若是看到門檻就躺下不動了,職業生涯很快就會遇到瓶頸,甚至有的人不理解,我給你這麼多錢,你爲何要走,爲何?對我來講就是技術得不到提高,因此我走了,不是很簡單的事情嗎?
如今的網站開發,小公司的項目,有幾百我的使用已經很不得了的事情了,幾千上萬已經能夠融資了,在這麼小的數量級下,所須要的技術並不會很高,大部分人就一生爛在裏面了,即不提高技術,又懶得動腦子,一年的經驗用了十幾年,以後就轉管理,有什麼用?
因此我但願你們和上面的職業規劃聯繫起來,程序員的 dry(don't repeat you self)原則,不要忘了,在有能力的狀況下,尋求突破吧。
最後是代碼質量。
說到代碼質量,我以爲一大半是代碼風格,一小半是debug 能力。
這裏的第一也是惟一的原則,仍是 dry 原則。
而後就是 語言的風格,我看過好多代碼,若是沒有能力優化本身的代碼,那麼就
Convert.int32(sId);
多寫註釋吧。
這裏說一下細節,就是儘可能遵照語言的風格,好比java就是小駝峯,c#雖然也是小駝峯,可是其中接口就使用了其餘的風格,私有變量也是其餘風格。
我看過有的人c# 風格,大寫,小寫,下劃線風格相互使用,這種是很是討厭了,本身看着累別人看着更累。
還有就是不要作多餘的操做。
這裏給你們演示一下:
int id = int.parse(Request["id"].ToString());
大意是這樣,我要說的是這裏ToString 是徹底沒有必要的,並且直接轉換若是轉換空引用是會拋出異常的。
建議是這樣:
string sId = Request["id"];
if(sId != null &&! sId.IsEmpty()){
int id = Convert.ToInt32(sId);
//作其餘的事。
}
我入門時間也不長,可是我知道一個道理,就是能使用別人的框架,就儘可能使用別人的框架,爲何?
由於我不認爲本身寫的代碼比別人的好。
至少現階段對我來講,本身實現的代碼,確實不如別人,固然照着別人的框架造輪子又是另外一回事,但公司項目中,在範圍內使用別人的框架,並且儘可能使用最新版。
1節省時間,2減小錯誤。
固然仍是具體事例具體分析,若是沒有這樣的東西,那也只能硬着頭皮本身造了。
固然上面扯遠了,良好的代碼風格,能節省不少時間和精力,還有是測試,這裏建議你們瞭解一下 TDD,(若是是網站開發,給每一個Controller的 每一個方法建立一個單元測試。)
關於網站開發的經驗,你們能夠看一下個人其餘幾篇隨筆
總之但願你們可以從中學習到東西,若是有意見能夠提出來。
結尾再推薦一首音樂,風格是迷幻電音。