做爲一名程序員的心得分享

    明天要進行部門的知識分享,因此寫了這篇文章,剛寫完就想發出來,不管觀點對錯,都但願能啓發一些人的思考。程序員

1、工匠之心

    在寫這篇文章的時候個人第一反應就是想寫工匠之心,我認爲一個合格的程序員應該要對它的做品負責,在有限的條件中儘量地將做品完成。那時我一直認爲本身是一名「冒牌程序員」,由於總感受少了點東西,如今的我之因此再也不認爲本身是「冒牌程序員」的緣由是後來我看到一個女生的博客,長相看着還算順眼,那時候看完她的博客我雞皮疙瘩都出來了,在她身上我注意到了工匠之心,我終於明白會認爲本身是冒牌貨的緣由,自那之後,我都會在有限的資源(時間、成本、範圍、質量)內將本身的做品完成好。編程

2、效率便是一切

    從事IT這行大部分人都很單純(想要獲取一些經濟來支撐有幸福感的生活),正是由於單純他們很努力,傻傻一天干到晚,我常常在想我如何才能在這羣人中脫穎而出、如何才能在之後不被淘汰,因而我常常以爲時間不夠用。在時間有限的狀況下很天然而然的開始想着如何提升本身的效率,我開始運用在《程序員修煉之道》、《程序員的職業素養》、《代碼大全》、《高效程序員的45個習慣:敏捷開發修煉之道》等書中學習到的知識,爲了成爲一個高效的程序員。設計模式

    《程序員修煉之道》是個人第一本啓蒙書,自那之後我就開始持續學習、工做時間調整生活上的做息再也不熬夜保證充足睡眠、也開始鍛鍊雖然這個常常斷斷續續。天天我會保證8.5個小時左右高效工做的時間給公司剩下的時間我會持續學習,在剩下的時間若是對公司將來發展感興趣也能夠投資1小時的時間,而後餘下的時間是投資本身感興趣的前沿技術如人工智能、物聯網。工具

    那些國際大師已經經過書將本身的經驗分享,這些心得不看過於惋惜。後來,我也跟一些我認爲的牛人包括個人老師、我上家公司的幾個老闆交流過,他們想法其實在不少書中都有說起,我認爲咱們很須要去學習一些國際大師們的經驗,多是經過書籍、視頻、論壇等等方式,由於這些方法論是教會咱們如何正確作事的方法。學習

3、從溝通到學習軟件開發過程

    十個程序員中有九個會吃過溝通不足的虧,而我也不例外。我經歷過由於溝通不足而致使項目嚴重延遲的狀況,從那以後我意識到本身對軟件開發過程的理解不夠。我開始從《網易一千零一晚上》、《人月神話》、《敏捷軟件開發原則、模式與實踐》、《谷歌和亞馬遜如何作產品》等書中學習軟件開發過程的方法。編碼

學習以後感受一會兒擴大了本身的知識面,瞭解了會議的重要性、溝通的重要性、敏捷開發對於現代項目的影響等,知道如何去實踐它們。像華爲在內部推行敏捷開發時要求普及到每一個程序員都對敏捷有必定程度的瞭解,我在實行敏捷中的一些方法時不少人表示不理解甚至於認爲其不重要,很明顯它們錯了,過去的一系列讓我以爲這些方法是有必要的只是它們的知識層面還達不到而已,就像你玩優秀不少明明是意識性的操做不懂的人仍是會噴你菜。我認爲咱們須要瞭解軟件開發過程,意識統一以後更能推進咱們項目的進展。人工智能

4、設計與編碼

    我認爲軟件設計過程最重要的就是一個解耦的過程,關於解耦面向過程的語言能作到的有限,因而我開始學習面向對象的設計原則以及設計模式爲了加深本身對解耦概念的理解。主要是從《大話設計模式》、《設計模式之禪(第2版)》、《敏捷軟件開發原則、模式與實踐》還有一些大師級開源代碼中學習。spa

編碼設計的內容仍是挺多的,早前仍是先經過《代碼整潔之道》、《代碼大全》、《編程珠璣》、《編程之美》、《高質量C++-C編程指南》還有大師級代碼中學習,固然我也有常常練習編碼,由於編碼的熟練度很重要設計

5、關於提升產能

    軟件開發過程主要包括兩部分,設計相關部分與實現部分,這裏的設計部分指的是你可能須要本身來設計你的程序長什麼樣子,可能這部分在很長一段時間內還沒法用AI來實現,實現部分你能夠利用一些現代工具來提高你的效率。視頻

    我認爲對於公司或我的來說提升產能最重要的因素之一是技術積累以及代碼庫積累,程序員必須積累本身的私人代碼庫這是你的資本,公司必須積累70%關於業務相關的代碼庫。技術積累是關於設計部分的重用,只要作好這點我相信不管是公司仍是咱們我的的產能都能有必定程度的提高。

6、總結

    目前最想講的就以上這幾點,其它的後續有更深感觸的時候再寫。

相關文章
相關標籤/搜索