談談程序員重複造輪子的幾點思考

今天來寫一篇雞湯帖。面試

1. 重複造輪子有意義嗎?

重複造輪子,大部分一聽感受浪費時間和經歷去搞一個別人已經開源的東西,花了時間可能還沒搞的別人效果好,何不直接拿別人的過來直接用了,確實很是有道理。安全

並且工做任務完成過程當中,有時候工期緊,要求功能又多,不少都須要創建在別人的基礎上完成,輕鬆又快,快速完成交付,老闆又賞識,簡直完美。數據結構

以上觀點我很是同意,我也常常這樣在工做作,節省的本身的時間。併發

可是還有另一個角度,拋開工做工期,有交付壓力的狀況下,我的以爲有想法的狀況下有必要去造輪子,常常從網上或身邊聽到某某面試,問他簡歷上的東西,好比部署過某某產品,面試官問怎麼部署的,面試者回答拿公司現成的工具部署的啊。顯示這不是面試官想要的答案,但站在面試者的角度上確實說的是實話,的確幹過這個項目,也確實都是公司現有的工具,尤爲在大公司,這種現象可能多一點,由於流程工具都很是完善,只需關心業務就行了,但可能業務寫多了就變成CV(複製粘貼)大神。高併發

就像是學知識同樣,只有把別人變成本身的,而後再去實踐纔是真正的懂了。互聯網技術我的感受寫出來和會用是徹底兩回事。只有真正去寫的時候才知道坑在哪裏,是否是哪裏線程不安全啊,高併發的狀況如何保證數據一致性啊等等。工具

因此從我的成長的角度出發,重複造輪子仍是有必要的,固然得拋開工做交付壓力的狀況下,強調這個是由於實際工做項目中,用別人更好的且已經完善的東西,顯然對項目自己來講是很是好,拿公司錢就得把事情作好。在業務沒有交付壓力的狀況下,我的建議多嘗試先想本身如何實現,就算以後用的別人的東西,你看看源碼,知道人家如何實現,也就不會出現上面說的面試中遇到懵逼的問題了,簡歷上本身的項目若是都回答很差,會給面試官不太好的印象。線程

2. 談談我從造輪子裏的收穫

簡單談談我造輪子中的收穫吧,好比寫技術博客,不少知識點網上不少已經寫過了,若是這樣是否是以爲不必寫了,直接看就行了,我的實踐發現寫的過程當中仍是有些知識點寫的時候才發現原來以前都理解錯了,同時更加能加深對知識點記憶。好比我寫了上一篇MySQL索引原理,如今對B-Tree數據結構和磁盤原理理解比較清晰點,之前就以爲這種高級數據結構離我很遠。cdn

去年我從新造輪子封裝了一個很是輕量的ORM,緣起也是由於業務中用別人的有點不爽,就想本身看看能不能封裝一個,平時也沒有時間去寫,就國慶在家擼了7天。寫完以後,遇到不少坑,再去看牛人寫的ORM,才知道代碼還能夠這麼寫,對MySQL的語法和ORM的常規實現都有了必定的理解。以前也還造過相似elasticdump的腳本,費了很大神,運行一段時間才知道有elasticdump的存在,果斷換了elasticdump,雖然結果上最終用了elasticdump,可是過程仍是蠻多收穫,同時也會激起你去看源碼的衝動。索引

最近在接觸項目裏有接觸到RPC,我就有想法去了解原理,從新造輪子,但你可能會問時間和精力問題。工做時間內去造這種輪子,是不太現實的,確實。只有犧牲本身的業餘時間,去寫這種對本身能力提高有幫助的輪子,這是值得的。以前看動漫,主角修仙者都是閉關多久出來才成了厲害角色,角色只是讓咱們看到告終果,可是想一想閉關期間,吃飯睡覺都在修煉,因此要想成爲大牛。部署

哈哈,雞湯帖結束,但願你們事業上都能修道成仙,來分享你的故事。

更多精彩文章,歡迎關注公衆號: 「天澄技術雜談」

相關文章
相關標籤/搜索