酷播亮新聞
最棒的知識補給站

為什麼我的技術提升的這麼慢?來看看這幾點你就知道了

文章摘要: 5. 把部落格寫起來 相信很多人在學校、在工作中都有人和你說過要把部落格寫起來吧將自己日常工作的的內容、問題代入到學習中

本篇文章僅僅只是我的個人意見,如果有偏頗或者疏漏的地方,還望能夠指出。同樣的,本篇文章所有觀點無法保證其權威性,當然,我會盡我所能來給出一個正確的方向。

回到家洗漱好後,手錶的指標已經指向一點鐘了,周遭世界也變得安靜了。正好把今天在和小E聊天中的一些內容整理下。小E是我之前任職公司的同事,和我一樣負責PHP的開發。在聊天過程中,發現了很多問題,這些問題在現在很多程式設計師身上也經常發生。

1. 學習方向

小E同學是個勤奮的程式設計師,經常能看到他在夜深還在寫程式碼。但是我發現這幾年他的技術水平的提升並不理想。在聊天過程中,我發現他的學習方向大多都在對框架或者元件的使用程度。對於技術的底層以及實現原理關注的並不多。

在我的理解中,軟件開發這個行業應該是一個倒三角形,上面的東西每天都在增加,三角形的面積每天都在增長,然而底層的那些東西卻一直變化不多。

在基礎知識部分,基本上就是你在大學學到的那些內容:

  • 數據結構
  • 作業系統
  • 計算機組成原理
  • 編譯原理
  • 計算機網路
  • 計算機通訊原理
  • 數字訊號處理
  • 離散數學
  • 演算法設計與分析
  • 應用密碼學
  • 物件導向程式設計

在程式語言這一個區域中,則是各種各樣的程式語言、框架等等。

小E在學習新技術的時候,都徘徊在上層,由於沒有底層知識的鋪墊,每當他在學習新框架或者元件時,對他而言基本上都是新技術,所以時間成本很高,導致進度一直不理想。如果你換個方向,從下層開始學習,有了基礎的鋪墊,在接觸不同語言、框架的時候,你能很快找到他們之間的共性,你就會發現其實所謂的新技術都只是對原有知識的新應用,掌握起來就會很流暢。

這也是為什麼大神們對於新語言、新技術上手起來都很快的原因。程式設計無非就是與計算機的互動過程,掌握了與計算機交流的方式以及程式設計思維,語言、框架就不會成為程式設計師的門檻。

上面列的那些東西,大部分程式設計師都學過,只是以前學了,由於僅僅只是存在於課堂上,沒有實際派上用場,所以很快就忘記了。而且在學校的時候,很多人根本不知道學了能幹嘛。但是現在回頭再重新學習的話,將自己日常工作的的內容、問題代入到學習中,就能很快的發現它們的用處了。就比如數學裏面的卡諾圖,大部分人基本上都是在考試後,就忘得一乾二淨,但是將卡諾圖用到你平時的邏輯判斷中,你就會發現很多情況下它能幫你很大程度上優化你的判斷邏輯。所以在學習的時候,一定不能僅僅只是記住書中的內容,一定要和實際情況聯絡起來,才能讓你更加的理解他們。

2. 學會用程式讓自己的生活和工作變得更加簡單

前段時間看過一個故事,大概內容是一個俄羅斯程式設計師在離職後,同事在他的電腦中發現了一些神奇的指令碼:

  • 拍老婆馬屁:這個指令碼是在晚上9點後,檢測到電腦上還有SSH程序在執行時,則會自動給他的妻子傳送一條今晚加班的指令碼,並且從庫中隨機抽取一條加班理由,讓簡訊每次都不一樣。
  • 庫馬爾是個傻叉:庫馬爾是客戶公司的資料庫管理員,每次在資料庫出現問題後,都會給這個程式設計師傳送一個郵件來求助。這個指令碼就是掃描郵箱,發現有庫馬爾發來的郵件,並且發現有求助、出問題了等關鍵字的時候,會自動幫庫馬爾把資料庫恢復到最近的一個可用備份上。然後回覆一個郵件,內容是「沒事哥們,下次小心點」。
  • 請假:這個指令碼也是一個定時任務,當發現到了早上8:45的時候,電腦上還沒有活動的SSH程序的時候,則會給公司領導傳送一封郵件來請假,並且從庫中隨機抽取一個請假理由。
  • 咖啡:這個指令碼在執行後,會先等待17秒,然後開啟一個SSH程序,遠端連線到咖啡機上(臥槽,俄羅斯的咖啡機都用上Linux系統了,而且居然還聯網了,並且還開啟了SSHD),併發送一堆程式碼給咖啡機,這段程式碼會讓咖啡機煮一杯中杯的拿鐵,然後精確等待24秒,然後再倒進杯子裡。為什麼會有這麼多的等待時間,因為從他的辦工作桌走到咖啡機前,剛好需要這麼多時間。

我們都知道學習新知識的時候,理論和實踐都非常的重要。然而,相比寫一些完全沒有實際作用的Demo,用學到的知識來改善你的工作以及生活是多酷的事情。

比如我之前的公司距離家裏在不下雨的情況下通常需要20分鐘才能到達,但是下雨天因為堵車往往需要多花30分鐘才能到達。在因為下雨遲到多次被扣工資以及獎金的情況下,我寫了一個簡單的鬧鐘APP,這個鬧鐘沒什麼特殊的效果,基本上和系統自帶的鬧鐘一樣,唯一的區別是,當你新增一個新的鬧鐘並標記為工作的時候,它會自動幫你新增一個提前30分鐘的鬧鐘,並且這個鬧鐘會去呼叫天氣介面,獲取到天氣資訊,如果發現正在下雨,這個鬧鐘纔會響起,否則不做任何的事情。

其實只要你認真回顧下你的工作和生活,就能發現很多事情完全不需要你親自處理,交給程式就完全夠了。而且,在提高工作效率的情況下,還幫助你熟練了新學習的知識,為什麼不做尼?

3. 英文不應該成為程式設計師的門檻

小E每次當報錯的時候,總是第一時間就把報錯資訊拿到有道詞典裏面翻譯一次。包括平時看一些英文資料的時候,極度依賴翻譯軟體。

基本上我在搜尋一些問題或技術的時候,都是使用谷歌搜尋。這個時候就是考驗你英語書面閱讀的能力的時候了,最開始我也是依賴於翻譯軟體。最終實在是忍受不了這這個過程了,於是開始自學英語。

其實絕大多數情況下,閱讀報錯資訊、英文技術資料的時候,對於英語的水平要求並不高。基本上只要你能夠記住那些常用的專業詞彙以及一些簡單的語法就夠了。我現在每次碰見不認識的單詞,都會用有道詞典的單詞本紀錄下來,每天早上洗漱完後,背10個單詞。然後到了週末,就把週一到週五的50個單詞鞏固一遍。時間長了單詞量慢慢的就增長起來了,每次閱讀技術文章的時候,基本上都能夠直接知道在描述什麼,就算遇到不熟悉的詞彙、語法,連蒙帶猜都能搞清楚到底說的是什麼。

所以英語的學習沒有你想想的那麼困難,一天也就背10個單詞而已,而且週末還有兩天的複習時間,這個強度可以說是非常輕鬆了。重點是要養成習慣。

4. 將學習作為日常習慣

我看過很多人,學習東西的時候總是三天打魚、兩天曬網。或者一個書還沒有看幾頁,又跑去看另外的東西了。這樣就造成你覺得自己已經很努力的在學習了,但是技術的提升一直很慢。

我們要保持每天固定的學習時間,將學習培養成和吃飯洗漱一樣的日常習慣,每天學一點東西,久而久之,當你回過頭來,就能發現自己的進步很大。

5. 把部落格寫起來

相信很多人在學校、在工作中都有人和你說過要把部落格寫起來吧。在寫部落格的過程中,你會把你學到的知識重新梳理一遍,這進一步的鞏固了你所學的內容。並且很多時候,很多時候,爲了保證文章的質量,會參考很多資料,這個時候還能對自己的知識體系進行擴充。

部落格對於程式設計師來說纔是最好的簡歷。

暫時就想起這幾點,時間不早了,睡覺去了,如果下次想起補充,我會及時更新在文章的末尾。當然如果你有更好的看法,你可以通過郵件的方式傳送給我,我也會貼在這裏,並註明來源。

我的郵件地址: [email protected]

如有侵權請來信告知:酷播亮新聞 » 為什麼我的技術提升的這麼慢?來看看這幾點你就知道了