筆記摘要
在學習專業(yè)的軟件開發(fā)知識之前,我們來談談程序員修養(yǎng)说铃。它看似與程序員練級關系不大续室,實際上卻能反映出程序員的工程師特質(zhì)和價值觀壳坪,決定了這條路你到底能走多遠咒锻,是精髓所在铣卡。有修養(yǎng)的程序員才可能成長為真正的工程師和架構師主经,而沒有修養(yǎng)的程序員只能淪為碼農(nóng)腻异,這是碼農(nóng)和工程師的關鍵區(qū)分點攻人。
我認為比較重要的幾個方面:英文能力取试、問問題的能力、寫代碼的修養(yǎng)怀吻、安全防范意識瞬浓、軟件工程和上線規(guī)范、編程規(guī)范等蓬坡。
專業(yè)基礎篇這部分內(nèi)容主要涵蓋編程語言猿棉、理論學科和系統(tǒng)知識三方面知識磅叛。在編程語言方面,推薦學習 C萨赁、C++ 和 Java 這三個工業(yè)級的編程語言弊琴。理論學科方面,需要學習算法杖爽、數(shù)據(jù)結構敲董、網(wǎng)絡模型、計算機原理等內(nèi)容慰安。系統(tǒng)知識方面會講述Unix/Linux腋寨、TCP/IP、C10K 挑戰(zhàn)等專業(yè)的系統(tǒng)知識化焕。
-
你可以選擇的幾大從業(yè)方向萄窜。
- 如果你對操作系統(tǒng)、文件系統(tǒng)撒桨、數(shù)據(jù)庫查刻、網(wǎng)絡等比較感興趣,那么可以考慮從事底層方面的工作凤类。
- 如果對分布式系統(tǒng)架構赖阻、微服務、DevOps踱蠢、Cloud Native 等有熱情火欧,那么可以從事架構方面的工作。
- 如果是對大數(shù)據(jù)茎截、機器學習苇侵、人工智能等比較關注,那么數(shù)據(jù)領域可以成為你一展身手的地方企锌。
- 如果你對用戶體驗或者交互等更感興趣榆浓,那么前端工程師也是個不錯的選擇。
- 此外撕攒,安全開發(fā)陡鹃、運維開發(fā)、嵌入式開發(fā)等幾大方向中抖坪,也為你提供了豐富多彩的發(fā)展空間萍鲸。
這里我只想和你說兩觀點:各種技術方向不是魚和熊掌,是可以兼得的擦俐;很多技術是相通的脊阴,關鍵是你是學在表面還是深入本質(zhì)。
軟件設計能力是每個程序員都需要具備的基本素質(zhì)。軟件設計是工程師非常重要的能力嘿期,這里描述了軟件工程自發(fā)展以來的各種設計方法品擎,這是從工程師通往架構師的必備技能。
并不是理論和現(xiàn)實的差距大备徐,而是你還沒有找到相關的場景萄传,來感受到那些學院派的知識的強大威力。
技術能力的瓶頸蜜猾,以及技術太多學不過來盲再,只不過是你為自己的能力不足或是懶惰找的借口罷了。只要你的方法得當瓣铣,多花點時間在基礎知識上答朋,會讓你未來學習應用知識的時間大大縮短。以絕大多數(shù)人努力的程度棠笑,和為自己不努力找借口的程度為參考梦碗,只要你堅持正常的學習就可以超過大多數(shù)人了。
這里沒有學習技術的速成的方法蓖救,真正的牛人不是能夠培訓出來的洪规,一切都是要靠你自己去努力和持續(xù)地付出。
心得體會
- 注重能力的培養(yǎng)循捺。包括英文能力斩例,文檔寫作能力和軟件交付方面的一些能力。寫幾行干巴巴的for和while循環(huán)从橘,雖然輕松念赶,簡單不需要動腦子,終究是個敲鍵盤的體力活恰力。
- 選擇方向叉谜,深入學習。我想在大數(shù)據(jù)踩萎、機器學習和人工智能方面有所建樹停局。以后要多投入些時間和精力。
- 不要找借口香府。那是回避問題董栽,逃避責任。沒有時間也是待解決的問題企孩。不解決這個問題锭碳,其他事情都免談。
- 持續(xù)的關注和投入柠硕。