程式設計師學習心得體會
程式設計師主要跟各種程式語言,各種程式軟體打交道,很多人認為程式設計師都比較沉悶,工作也是複雜繁瑣的,那麼程式設計師本身有什麼心得體會呢?下面是由小編整理的,希望對您有用。
篇一
我始終認為,對一個初學者來說,IT 界的技術風潮是不可以追趕的,而且也沒有能力去追趕。我時常看見自己的DDMM 們把課本扔了,去賣些價格不菲的諸如C#, VB.Net 這樣的大部頭,這讓我感到非常痛心。而許多搞不清指標是咋回事的BBS 站友眉飛色舞的討論C# 裡面可以不用指標等等則讓我覺得好笑。C# 就象當年的ASP 一樣,“忽如一夜春風來,千樹萬樹梨花開”,結果許多學校的資訊學院成了“Web 學院”96,97 級的不少大學生都去做Web 了。當然我沒有任何歧視某一行業的意識。我只是覺得如果他們把追趕這些時髦技術的時間多花一點在基礎的課程上應該是可以走得更遠的.
幾個誤區
初學者對C# 風潮的追趕其實也只是學習過程中經常遇到的幾個誤區之一。我將用一些實際的例子來說明這些現象,你可以按部就班的看看自己是不是屬於其中的一種或者幾種:
1. 認為計算機技術等於程式設計技術:
有些人即使沒有這個想法,在潛意識中也有這樣的衝動。讓我奇怪的是,許多資訊學院的學生也有這樣的念頭。認為計算機專業就是程式設計專業,與程式設計無關的,或者不太相關的課程他統統都不管,極端的學生只要書上沒帶“程式設計”兩個字他就不看。
其實程式設計只是計算機技術應用過程中一種複雜性最低的勞動,這就是為什麼IT 業最底層的人是程式設計師***CODER ***。計算機技術包括了多媒體,計算機網路,人工智慧,模式識別,管理資訊系統等等這些方面。程式設計工作只是在這些具體技術在理論研究或者工程實踐的過程中表達演算法的過程。程式設計的人不一定對計算機技術的瞭解就一定很高。而一個有趣的現象是,不少大師級的計算機技術研究者是不懂程式設計的。網上的炒作和現實中良好的工作待遇把程式設計這種勞動神祕化了。其實每一個程式設計師心裡都明白,自己這些東西,學的時候並不比其它專業難,所以自然也不會高檔到哪裡去。
2. 咬文嚼字的孔已己作風:
我見過一本女生的《計算機網路原理》教材,這個女生像封學生一樣在書上劃滿了橫槓槓,筆記做得滿滿的,打印出來一定比教材還厚。我不明白的是,像計算機網路原理這樣的課程有必要做筆記?我們的應試教育的確害了不少學生,在上《原理》這一類課程的時候許多學生像學《馬列原理》一樣逐字背誦記憶。這乃是我見過的最愚蠢的行為。所謂《原理》,即是需要掌握它為什麼這樣做,學習why ,而不是how ***怎樣做***。極端認真的學生背下乙太網的網線最大長度,資料幀的長度,每個欄位的意義,IP報頭的格式等等,但是忘了路由的原則,忘了TCP/IP 協議設計的宗旨。總之許多人花了大量的時間把書背得滾瓜爛熟卻等於什麼也沒學。
在學習程式設計的時候這些學生也是這樣,他們確切的記得C++ 語法的各個細節。看完了C++ 教程後看《Thinkingin C++ 》***確實是好書***,《Inside C++ 》,《C++ reference 》,this C++, that C++……,然後是網上各種各樣的關於C++ 語法的奇聞逸事,然後發現自己又忘了C++ 的一些語法,最後回頭繼續惡補…。有個師弟就跟我說:“C++ 太難了,學了這裡忘了那裡,學了繼承忘了模板。” 我的回答道:“你不去學就容易了”。我並沒有教壞他,只是告訴他,死摳C++ 的語法就和孔已己炫耀茴香豆的茴字有幾種寫法一樣毫無意義。你根本不需要對的C++ 語法太關心,動手程式設計就是了,有不記得的地方一查MSDN 就立馬搞定。我有個結論就是,實際的開發過程中對程式語法的瞭解是最微不足道的瞄識。這是為什麼我在為同學用Basic ***我以前從沒有學過它***寫一個封程式的時候,只花了半個封時看語法,然後再用半個封時完成了程式,而一個封時後我又完全忘記了Basic 的所有關鍵字。
3. 不顧基礎,盲目追趕時髦技術:
終於點到題目上來了。大多數的人都希望自己的東西能夠馬上跑起來,變成錢。這種想法對一個已經進入職業領域的程式設計師或者專案經理來說是合理的,而且IT 技術進步是如此的快,不跟進就是失業。但是對於初學者來說***尤其是時間充裕的大中專在校生***,這種想法是另人費解的。一個並未進入到行業競爭中來的初學者最大的資本便是他有足夠的時間沉下心來學習基礎性的東西,學習why 而不是how 。時髦的技術往往容易掌握,而且越來越容易掌握,這是商業利益的驅使,為了最大化的降低軟體開發的成本。但在IT 領域內的現實就是這樣,越容易掌握的東西,學習的人越多,而且淘汰得越快。每一次新的技術出來,都有許多初學者跟進,這些初學者由於缺乏必要的基礎而使得自己在跟進的過程中花費大量的時間,而等他學會了,這種技術也快淘汰了。基礎的課程,比方資料結構,作業系統原理等等雖然不能讓你立馬就實現一個linux ***這是許多人嘲笑理論課程無用的原因***,但它們能夠顯著的減少你在學習新技術時學習曲線的坡度。而且對於許多關鍵的技術***比方Win32 SDK 程式的設計,DDK 的程式設計***來說甚至是不可或缺的。
篇二
不知不覺做軟體已經做了十年,有成功的喜悅,也有失敗的痛苦,但總不敢稱自己是高手,因為和我心目中真正的高手們比起來,還差的太遠。世界上並沒有成為高手的捷徑,但一些基本原則是可以遵循的。
1. 紮實的基礎。資料結構、離散數學、編譯原理,這些是所有電腦科學的基礎,如果不掌握他們,很難寫出高水平的程式。據我的觀察,學計算機專業的人比學其他專業的人更能寫出高質量的軟體。程式人人都會寫,但當你發現寫到一定程度很難再提高的時候,就應該想想是不是要回過頭來學學這些最基本的理論。不要一開始就去學OOP,即使你再精通OOP,遇到一些基本演算法的時候可能也會束手無策。
2. 豐富的想象力。不要拘泥於固定的思維方式,遇到問題的時候要多想幾種解決問題的方案,試試別人從沒想過的方法。豐富的想象力是建立在豐富的知識的基礎上,除計算機以外,多涉獵其他的學科,比如天文、物理、數學等等。另外,多看科幻電影也是一個很好的途徑。
3. 最簡單的是最好的。這也許是所有科學都遵循的一條準則,如此複雜的質能互換原理在愛因斯坦眼裡不過是一個簡單得不能再簡單的公式:E=mc2。簡單的方法更容易被人理解,更容易實現,也更容易維護。遇到問題時要優先考慮最簡單的方案,只有簡單方案不能滿足要求時再考慮複雜的方案。
4. 不鑽牛角尖。當你遇到障礙的時候,不妨暫時遠離電腦,看看窗外的風景,聽聽輕音樂,和朋友聊聊天。當我遇到難題的時候會去玩遊戲,而且是那種極暴力的打鬥類遊戲,當負責遊戲的那部分大腦細胞極度亢奮的時候,負責程式設計的那部分大腦細胞就得到了充分的休息。當重新開始工作的時候,我會發現那些難題現在竟然可以迎刃而解。
5. 對答案的渴求。人類自然科學的發展史就是一個渴求得到答案的過程,即使只能知道答案的一小部分也值得我們去付出。只要你堅定信念,一定要找到問題的答案,你才會付出精力去探索,即使最後沒有得到答案,在過程中你也會學到很多東西。
6. 多與別人交流。三人行必有我師,也許在一次和別人不經意的談話中,就可以迸出靈感的火花。多上上網,看看別人對同一問題的看法,會給你很大的啟發。
7. 良好的程式設計風格。注意養成良好的習慣,程式碼的縮排編排,變數的命名規則要始終保持一致。大家都知道如何排除程式碼中錯誤,卻往往忽視了對註釋的排錯。註釋是程式的一個重要組成部分,它可以使你的程式碼更容易理解,而如果程式碼已經清楚地表達了你的思想,就不必再加註釋了,如果註釋和程式碼不一致,那就更加糟糕。
8. 韌性和毅力。這也許是"高手"和一般程式設計師最大的區別。A good programming is 99% sweat and 1% coffee。高手們並不是天才,他們是在無數個日日夜夜中磨練出來的。成功能給我們帶來無比的喜悅,但過程卻是無比的枯燥乏味。你不妨做個測試,找個10000以內的素數表,把它們全都抄下來,然後再檢查三遍,如果能夠不間斷地完成這一工作,你就可以滿足這一條。
篇三
記得去年寫總結的時候心情很差,抱怨了很多當時的工作以及領導花生,那個時候的願望是找一份新工作。沒想到剛進入12月我就找到了。
不得不說這一次求職我是認真的把它當作一個工程去做,客觀得對自己進行了定位,而且非常重要的是明確我想要的工作到底是什麼樣的。我需要的是讓我每天的8小時能夠享受工作的快樂。
投簡歷面試的過程非常折磨人,尤其是我的處境***每天很大壓力,完全是自我打磨的階段***。
我清楚地記得面試現在這份工作那天是某個週六,我的經理娃娃和技術主管T同意我週末面試。一共4個小時,那絕對是一個互相爭取的過程。他們對於工作的熱情打動了我,覺得和這樣的團隊合作一定可以有火花。
真是幸運,當我正視錯誤,用行動做出改變的時候,找到了一份我要的工作。入職三週已經和團隊磨合得很好了,用同事的話說就是覺得我已經加入很久了。
這裡不得不說一句我們的團隊,一個老中青結合富有戰鬥力的集體,而且還不乏八卦調節生活。每個人都特別,合作也會有摩擦,但是整體運作非常協調,開發速度和效率都高。從他們身上我看到不同的工作態度,生活態度。這些對我的職業規劃都有著潛移默化的影響。領導“娃娃”也非常合適我目前階段對於領導的需求。如果說幾年前我初出茅廬需要的是一個有時間且肯耐心帶我的領導的話,現在的我需要的是一個可以給予我充分信任的上司。“娃娃”信任我,從剛進入公司就如此。在熟悉產品階段我提出的問題和建議他都認真的聽了,而且給我時間讓我按照自己的想法作出修改。後來我也喜歡把新想法跟他說,當我們帶著創意去和老闆談的時候他是我堅強的後盾。
這一年下來我在純技術上的提高並不多,我們所面向的客戶並不要求尖端的技術。經驗主要體現在理解需求上面,如果說前兩年我還需要領導把需求說得很明白,還會為馬後炮而耿耿於懷。那麼今年應該算是個分水嶺。現在的我不需要領導花很久時間來講需求,也不用每一步都需要認可再做接下來的工作。