相信大家在學程式的過程中,都曾經閃過這些念頭:
這些念頭我都曾經有過,但是最終我還是排除萬難地成為了前端工程師,提供給各位我克服後的心態轉換建議。
常遇到學生問我:「老師,如果我花 XX 時間的話,有辦法找到前端的工作嗎?」,這點我從來不會保證學生一定會在何時可以就業。因為每個人的吸收學習程度都不同,若是你沒達到目的,下一次豈不就更難重新出發?
你需要專注的是規劃你的學習清單,就像前面番茄鐘所提到的心法,凡事都可以切出大、中、小項目,將任務碎片化再逐一攻略。每天日月累積前端技能,自然能夠水到渠成。當然會因為天份的關係,你總會覺得周遭的人好像都很聰明學東西都很快,但你是否有看到他背後投入多少心力,每晚夜深人靜時,面對著淡淡發光的螢幕貪婪地探索知識呢?
在學校裡,成績就是一切,在名次排行榜的枷鎖下彷彿任何東西都好像要跟人比較一樣。但以掌握一個技能來說,你的對手只會有一位,就是昨日的你。常常會有學生問我:
學生:「老師我這頁花了我一天排完,會不會太久?一般專業工程師應該很快就能排好的吧?」
我:「那上個月請你排的那頁你花了多久?」
學生:「三天啊,而且還一堆 BUG」
我:「所以再給你一個月練習不就可以更快?凡事都是日月累積來的,跟自己比較就好,你現在應該著重在觀念的應用,等到真正有專案壓力時,自然就能培養起來。觀念不對基底不好也都是枉然。」
所以也奉勸各位,不要自己幫自己找對手,你最大的對手就是昨日的自己,你只要有贏他,就足夠了。
這個要看你寫什麼程式,如果像是大數據分析、資料演算的話當然需要,但以前端來說初期是不需要的,頂多到第二份、第三份工作時才需要瞭解一些而已。一開始學 HTML、CSS 時,程式語法都是設定樣式,實際上不需要邏輯運算。在學 JavaScript 時,便會開始培養邏輯觀念,但也不會那麼的重。像是我周遭的前端強者絕大部份都是非本科系,我輔導的學生有七八成也都是非本科系,同時原本本業是服務業、業務、銀行等相關,轉換跑道還是相當順利。
還記得我當時想成為工程師時,都會對這職業產生幻想,例如強大的工程師應該打字速度都超快吧?他們一定都是做很炫砲的項目,不像我做得東西小不拉機又不酷。他們一定很常在 open source 上相當活躍,本身一定又是個超熱血熱情的傳教士,年薪自然都是千萬等級以上,而且一定超愛寫程式,無時無刻都在寫才對。
但其實當我成為前端工程師跟許多人接觸後才發現,那些都是來自於我的幻想,有些人當工程師只是因為他擅長,但並不喜歡這工作。或是只是剛好歪打正著成為工程師而已,但是平常下班時間也不會碰程式。像是 Bootstrap 開發者也直言自己很痛恨電腦,原本他是要去修社會學的。PHP 之父的經典名錄也有一句提到他覺得自己不是一個開發者,當人們打算要解決一個記憶體問題時,他反而覺得重開機就好了,幹嘛要去解決?
如果你想學程式,未來也想成為一個開發者,奉勸你不要對這職缺有過多的幻想感到卻步,你不需要很有天份很有熱情才有辦法寫程式,就連我下班時間也有很多時間拿來耍廢追劇打 Game ,沒有無時無刻都在寫程式的。
絕大部分的人都會因為自己卡在一個小細節卡很久,就會開始自我懷疑自己到底適不適合寫程式,但我要老實說這是必經的過程,而且不代表未來就不會發生。像是我在寫程式時也時常犯許多低級錯誤,例如語法拼錯、忘了存檔就想開啟看結果、已經會的觀念但不知道為啥卡到陰一直沒解出來。
不過這些過程也是在幫助你 debug 除錯的能力,就像是很多學生問我問題,他還沒說完我就猜到他是哪裡出了狀況,學生當然會覺得老師很厲害,但可不要忘了我們可是經歷過數千次這樣 debug 經驗才有辦法達到這火候的,而且這段過程我也沒辦法教,你只能慢慢熬才有辦法內化到你心裡。
最後建議當你覺得卡關時不妨暫停一下,去上個洗手間或洗澡吧,有時候坐久了血液循環不好,當你在移動時大腦就會重新運算新的解法,所以我都會笑稱洗手間是我的靈感來源 (誤。
呀真的,
雖然到畢業前要找工作時,同學們都會說「你這麼強」之類的話,
但他們不知道的是我從大二就不斷按照自己的步調在前進,
過程中也有很多次連google用的關鍵字都想不出來的窘境。
甚至是有時候拼盡全力,hp都歸0很久了才完成想做的東西,
休息一陣子,
下次開始新的專案時都會覺得自己比上次作的更快更好了!
(雖然也是因為用了框架XD)
我感覺不論是使用框架還是看業界前輩寫的教學文,
我(或很多人都一樣)始終站在巨人的肩膀上前行。
所以即使現在還不是大神,
但按照步調持續前進的話,也許有一天我們也能成為別人的巨人呢!
沒錯,跟自己比較就好哩 :D
...上面內容超有感,原本是想走平面設計,被教授推去玩了半年HTML、CSS之後應徵到後端工程師,老實說連我自己都不知道在做什麼...
其實當初也沒有什麼幻想,單純想換個工具玩玩看能有什麼變化(畢竟近年來業界也有轉型的趨勢...)
面對各種挫折也只能說我只用了人家1/8的時間學一樣的東西,但老實說這藉口連我自己都無法說服,即使覺得累也找不到藉口說服自己休息一下的惡性循環ORZ
休息是為了走更長遠的路,雖然是老話但還是適度的休息吧XD 像是我最近就對 PS4 磨刀霍霍 (住手
組隊刷MHW?
打到一辦喊暫停,我去coding一下
然後就滅團了這樣?
最後面一段超有同感,雖然我不是寫網頁的工程師,
但是當自己開在問題的循環中,大部分都是休息一下或去吃個飯
再次回到問題後思考方向又會不太一樣。