學習時的心態調整

前言

最近在幫忙幾位朋友解決學習上的問題時,發現很常出現幾種問題,也跟自己當初的狀況很類似,所以就乾脆寫一下自己的心得分享…

文筆若不好請見諒((縮

不要自認為懂

很多時候我們都會自以為懂,而忽略了自己應該懂的基礎技術。

很多人在學習新技術的時候都忽略基礎課程,拿我自己做舉例,我先前是學 PHP&MySQL,當兵退伍後,我看到 PHP&MySQL 基礎課程都會當作沒看到,然後改報名 Laravel 課程,結果開課時,我發現我根本跟不上進度,裡面講得天花亂墜我也聽不懂,就這樣子浪費 4000$。

後來因為第一份工作需要寫 C#.MVC,所以就去找 C#.MVC 開發實戰課程,然後也是忽略 C# 基礎課程,自以為寫過 PHP 可以比較快上手,可是結果也是一樣,根本聽不懂,主要原因出在我根本沒有 C# 基礎導致,也這樣子浪費 2400$。

相信也會有人說,我不是學過 PHP&MySQL 嗎?為什麼 C#.MVC 還會無法上手?別人不是常說程式語言大同小異嗎?沒有錯,程式語言大同小異,但是原因很簡單,因為我沒有深入了解這些特定的語言底層技術、原生技術,甚至打好自己的程式基礎,腦袋總是想著偷懶、想走捷徑。

所以選擇課程的時候,不妨可以旁聽看看自己是否真的懂這些基礎的東西,如果懂再去挑戰進階課程,不要一股腦地去摸進階課程,這樣只會浪費自己的時間&傷害自己可憐的荷包君。

不要忽略基礎技術

許多事物都是基於基礎搭建而成,就像蓋房子一樣。

我花了一段時間才認知到這個問題,還沒認知到這個問題之前,我總是會有這幾個想法【這些知識我會阿】、【我懂阿】、【我為什麼要浪費時間去上這個基礎課程?】。

後來也因為這些該死的想法而導致在工作上常常遇到困難,因為我只會使用套件、套版等,一但遇到需要客制化及維護時,自己就會改不動更不用說修 Bug。

以我目前所專精的前端技術中,有一個 CSS 框架叫 Boostrap,早期我對 Boostrap 就是一個套版觀念,所以叫我套版沒問題,我可以很快就套出來一個網頁版型,但是如果你叫我客制化修改 Boostrap 樣式,我就會卡住,因為我並沒有深入了解 Boostrap 原生的技術 CSS,變成我只是一個會用而不會改的人。

早期我也摸過 Wordpress、 Moodle、 Joomla!、 OpenCart等,我可以很快地架設出一個網站,但是如果你要我客制化,我就會跟你說我做不到,原因也是很簡單,因為我沒有去了解這些 CMS 底層技術 PHP 甚至去了解這些 CMS 是如何撰寫的。

如果可以的話,盡可能要去打好基礎技術,遇到問題也相對比較看得懂,否則只會把撞牆技能點滿。

不要被過往某些經驗給束縛

不要因為自己曾學過什麼,就拿那個經驗套在學習新技術的過程上。

這個問題算是身邊滿多朋友常見的問題,學習新技術過程中,雖然有一個基礎觀念可以幫助自己更快速理解新技術,但是有時候過往的經驗,反而會害了自己。

以我自己做舉例,前面有講到我第一份工作需要使用 C#.MVC ,當時的我心中覺得 C#.MVC 開發超麻煩,因為自己當時學 PHP 時真的很隨興的寫,我想寫哪就寫哪,所以對於 C#.MVC 的開發模式心裡覺得很麻煩又很複雜,結果變成我在了解 MVC 這個觀念的時,腦中一直出現一個莫名的牆阻擋我學習而導致一直轉不過來,就這樣子浪費了六個月才了解 MVC。

所以在學習新技術的時候,盡可能保持初心者心態會比較有幫助,不要因為某些過往的經驗導致變成阻擋自己的城牆。

不要成為只會”套”的人

使用第三方套件 or 功能的時候最好自己也能搞懂基礎技術。

這個觀念跟前面的【不要忽略基礎技術】其實很像,以前我在開發網站的時候,常常就只會上網 Google 找看看有沒有人做好的現成套件,所以當我要修改或使用這些套件的時候,就會特別花時間,這些都是因為基礎不足而導致。

在我專精前端開發之後,若某些功能有時間壓力問題,我會去考量自己能不能在時限之內做出來,如果可以我就會選擇自己嘗試做做看,如果做不出來,我就會改選擇找套件來幫助我完成。

若沒有時間壓力呢?我會選擇研究別人所做的套件,試著自己去刻出來。

結尾

最後做一下結論,講那麼多,只要自己在學習新技術的時候只要保持著四【不】原則,不要自認為懂、不要忽略基礎技術、不要被過往某些經驗給束縛、不要成為只會”套”的人,相信你在學習新技術時可以減少撞到很多牆。

圖源

https://unsplash.com/

0%