Re: [請益] 一些關於自學前端的疑問
看板Soft_Job (軟體人)作者philosiphy (電機系課真多 )時間6年前 (2018/06/26 10:37)推噓32(34推 2噓 41→)留言77則, 45人參與討論串3/5 (看更多)
我目前主要是做前端,少數寫後端,,也是自學然後找到工作,目前在美國紐約華爾街日報
(The
Wall Street Journal)
我覺得前文寫的很好,不過我對於某些點有不同的想法,我也根據前文寫的那幾個分類來
提
1.四大碩問題
如果是要做前端工程師,我真的覺得特地去念四大碩(台清交成)沒有其必要性,當然就算
是想當走全端,我也覺得沒有一定必要性,當然我不是說正規教育研究所不好,加上我在
台灣職場沒當擔任過軟體工程師的工作,所以我這樣講可能會有點偏頗,雖然我以前雖然
是四大碩,但是都是電機相關,大學是中央電機,研究所是交大電機,主修影像處理、圖
形識別、電腦圖學,但這學歷跟我目前做前端沒有任何關係,研究所寫也只是寫matlab跟
c/c++。
重點是,為什麼要去浪費兩年的時間去念研究所,如果還要寫論文的話,更是浪費時間與
金錢,我個人覺得,你要做的是front end developer,你需要的是好的作品集以及好的
專案@github,可以讓人看出你寫程式以及實作的能力,下面是我的網站以及作品,我不
敢說我做的網站超級好,有些是我在國外唸
碩士去旁聽大學部的課程寫的作業或是自學課程寫的作業,我國外資管研究所幾乎沒有培
養我任何寫網站的能力,最多只有教資料庫。重點是要不同的寫作業/累積作品,實作能
力才是重點!
GitHub
https://github.com/johnnyhsu1106
個人網站及作品集
http://johnnyhsu1106.com.s3-website-us-west-2.amazonaws.com/
我身邊的同事,有些都不是CS背景的,可能一部分也是因為不是在四大公司(google, fac
ebook) ,但是他們有些是自學或是參加coding bootcamp,也都是不錯的高手,所以我覺
得有強烈的學習意願才是重點。
我完全同意前文寫的,學前端並非是可以輕鬆就非本科轉職,
2. 如何自學
在台灣之前已經很久沒寫過程式,工作是當硬體工程師/專案管理詩/產品經理,完全跟寫
程沾不上邊,所以我出國唸書的時候,所以我碩一下學期就去同時旁聽兩門Python的課程
,跟大學生一起上課,每門課都有10個作業,10多個lab練習,每次上課都有worksheet 可
以練習寫程式,我除了沒參加期中/期末考試外,每個作業/練習都有寫,後來因為實習需
求,我自己又去上Coursera學了html/css/javascript,下學期又去旁聽兩門課,一整堂
學了html + css,一整堂學了web development(js + php + mysql),也是狂寫作業,以
及自學Java,跟同學寫了一個poker game project ,基於design pattern
在找工作的時候,我也是沒學過React, Angular,因為學校哪會教你這些library/framew
ork,所以我開始上Udemy的課程,看到職缺需要什麼,我就去學,面試前時候需要線上考
試,現場面試的時候需要寫程式碼在白板上,就去學資料結構以及演算法,然後狂在leec
ode/lintcode上面刷題目,當然這可以先學,不用等到要面試才學。
https://imgur.com/a/CRv8gdd ,這些是我的課程,但是我也不是每一門都上完。
結論是
網路上面有太多資源 ,像是Udemy,可以先去上這些,一門課才10元美金,然後覺得自己
有興趣後,想要去上實體課程再去報名,Udemy的好處是可以一直不停的重複聽,然後一
個月內還可以免費退費,千萬不會有那種上網路課程,覺得自己會怠惰的心,所以先去上
實體課程,因為一開始去上實體課程的缺點是,對於沒有基礎的人而言,一開始如果聽不
懂,很容易就追不上進度就放棄了。
3.學習曲線
準備
(1)挑一個好用的Text editor: 我個人用過notepad++, sublime, atom,目前用的是atom
,之後或
許轉戰到vscode
(2)買一台好的電腦:我個人推薦用mac,光是unix作業系統的terminal就是好用,我個人
安裝iterm 2
(3)選一個好用的瀏覽器:我個人推薦chrome,超多web app extension以及強大的chrome
dev tool.
(4)買1-2台的外接螢幕:一邊寫code,一邊看web,一邊看dev tool的console,多螢幕真
的是必要。
初階
(1) HTML: 最好學會HTML5 那些semantic element
(2) CSS: Box Model, Display, Font, Position, Float,, Pseudo class…
(3) Javascript: 學會基本語法,內建資料型態(string, array, boolean, null, objec
t, map, set),基本DOM API
(4) Git/ Github: 你遲早要學會的工具
(5) Chrome Dev Tool:你遲早要學會的工具
(6) NPM: 你遲早要學會的工具
請記住,w3school是你的好朋友。
中階
(1) CSS: Flex, Media Query,如何做出RWD(Responsive Web Design),Trasformation
, Transition, Animation(keyframe)
(2) Javascript: ES5, ES6的差別,何謂callback function? Event Handler,
Event Loop,程式執行的時候,哪些會在Call Stack執行,哪些會在Callback Queu
e,Ajax(XMLHttpRequest, fetch),如何寫Callback/ Promise,至於是否要學ES7....,
真的是看心情。
(3) jQuery: 可學/可不學,我有學,畢竟這真的不難,不可避免有人會用,總是要看的
懂
(4) Bootstrap: 可學/可不學,我有學。可以快速做出一個不錯看的網站
我建議不要一開始就學jQuery,至少有中階程式能力後再學。我看過有人寫程式都是
jQuery派,會導致程式碼缺乏架構,缺乏模組化,我最近就是狂把jQuery改成vanilla JS
,自己寫fadeIn, fadeout, animation, slideUp, slideDown,要改jQuery的最累的就是
沒有模組化,幾乎是一個block包含所有商業邏輯。
請記住,MDN是你的好朋友。
高階
(1) React / Vue / Angular等Library或框架: 我建議學React,因為容易入門,多人使
用
(2) 寫出MVC架構的web app:
(3) 寫unit test: Mocha, Enzyme, Chai這是我目前用的
(4) Node JS: 可學/可不學,想要深入JS的人可以繼續學,我是有學
(5) Gulp/Grunt: 可學/可不學,看你公司用哪個或是個人爽度
(6) Sass/Scss: 可學/可不學,看你公司用哪個或是個人爽度
(7) Data structure/Algorithm: 我是上九章算法班/強化班,這兩門課,加上Lintcode
刷200題。
請記住。Stack Overflow是你的好朋友
總結:
我目前只是一個一年多工作經驗的菜鳥front end developer,我大多都是自學來的,
我相信有心/有興趣/少許的天份,你也可以邁向軟體工程師之路。
PS: https://github.com/goodjack/developer-roadmap-chinese
這看起來真的很實用
最後說明一下為什麼我要來美國念碩士,是因為我必須要有文憑才比較有機會留在美國工
作(這個就扯到了簽證的問題),但是你不需要碩士文憑,你也可以在台灣工作。
我之前在美國面試google ,amazon的on-site interview,當然最後是沒有上,現場面試當
然考的演算法為主,但是前幾關也是會考跟front end 相關問題。
為什麼會推薦w3school,因為對於’初學者‘而言,上面有比較多的例子,雖然他的東西
是比較舊一點,但是是個好入門的網站。我相信學程式還是由淺入深,循序漸進比較好
—
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 207.237.11.51
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1529980631.A.041.html
※ 編輯: philosiphy (207.237.11.51), 06/26/2018 10:45:38
推
06/26 10:58,
6年前
, 1F
06/26 10:58, 1F
推
06/26 11:21,
6年前
, 2F
06/26 11:21, 2F
→
06/26 11:41,
6年前
, 3F
06/26 11:41, 3F
推
06/26 11:49,
6年前
, 4F
06/26 11:49, 4F
推
06/26 12:01,
6年前
, 5F
06/26 12:01, 5F
推
06/26 12:54,
6年前
, 6F
06/26 12:54, 6F
噓
06/26 12:56,
6年前
, 7F
06/26 12:56, 7F
推
06/26 13:08,
6年前
, 8F
06/26 13:08, 8F
推
06/26 13:14,
6年前
, 9F
06/26 13:14, 9F
→
06/26 13:16,
6年前
, 10F
06/26 13:16, 10F
→
06/26 13:16,
6年前
, 11F
06/26 13:16, 11F
→
06/26 13:21,
6年前
, 12F
06/26 13:21, 12F
推
06/26 13:21,
6年前
, 13F
06/26 13:21, 13F
推
06/26 13:24,
6年前
, 14F
06/26 13:24, 14F
噓
06/26 13:53,
6年前
, 15F
06/26 13:53, 15F
推
06/26 13:59,
6年前
, 16F
06/26 13:59, 16F
→
06/26 14:31,
6年前
, 17F
06/26 14:31, 17F
→
06/26 14:32,
6年前
, 18F
06/26 14:32, 18F
推
06/26 15:43,
6年前
, 19F
06/26 15:43, 19F
→
06/26 15:59,
6年前
, 20F
06/26 15:59, 20F
推
06/26 16:05,
6年前
, 21F
06/26 16:05, 21F
→
06/26 16:05,
6年前
, 22F
06/26 16:05, 22F
→
06/26 16:19,
6年前
, 23F
06/26 16:19, 23F
→
06/26 16:20,
6年前
, 24F
06/26 16:20, 24F
→
06/26 16:29,
6年前
, 25F
06/26 16:29, 25F
推
06/26 17:20,
6年前
, 26F
06/26 17:20, 26F
推
06/26 18:14,
6年前
, 27F
06/26 18:14, 27F
※ 編輯: philosiphy (207.237.11.51), 06/26/2018 18:31:09
※ 編輯: philosiphy (207.237.11.51), 06/26/2018 18:53:01
→
06/26 18:53,
6年前
, 28F
06/26 18:53, 28F
→
06/26 18:54,
6年前
, 29F
06/26 18:54, 29F
→
06/26 18:57,
6年前
, 30F
06/26 18:57, 30F
※ 編輯: philosiphy (207.237.11.51), 06/26/2018 19:12:53
※ 編輯: philosiphy (207.237.11.51), 06/26/2018 19:13:39
※ 編輯: philosiphy (207.237.11.51), 06/26/2018 19:14:55
※ 編輯: philosiphy (207.237.11.51), 06/26/2018 19:18:21
推
06/26 19:26,
6年前
, 31F
06/26 19:26, 31F
→
06/26 19:26,
6年前
, 32F
06/26 19:26, 32F
→
06/26 19:29,
6年前
, 33F
06/26 19:29, 33F
→
06/26 19:29,
6年前
, 34F
06/26 19:29, 34F
推
06/26 19:33,
6年前
, 35F
06/26 19:33, 35F
※ 編輯: philosiphy (207.237.11.51), 06/26/2018 19:47:53
→
06/26 19:51,
6年前
, 36F
06/26 19:51, 36F
→
06/26 19:51,
6年前
, 37F
06/26 19:51, 37F
→
06/26 19:51,
6年前
, 38F
06/26 19:51, 38F
→
06/26 19:55,
6年前
, 39F
06/26 19:55, 39F
→
06/26 19:55,
6年前
, 40F
06/26 19:55, 40F
→
06/26 19:55,
6年前
, 41F
06/26 19:55, 41F
→
06/26 19:56,
6年前
, 42F
06/26 19:56, 42F
→
06/26 19:57,
6年前
, 43F
06/26 19:57, 43F
推
06/26 20:16,
6年前
, 44F
06/26 20:16, 44F
推
06/26 21:29,
6年前
, 45F
06/26 21:29, 45F
→
06/26 21:29,
6年前
, 46F
06/26 21:29, 46F
推
06/26 21:36,
6年前
, 47F
06/26 21:36, 47F
推
06/26 21:53,
6年前
, 48F
06/26 21:53, 48F
推
06/26 22:12,
6年前
, 49F
06/26 22:12, 49F
推
06/26 23:08,
6年前
, 50F
06/26 23:08, 50F
→
06/26 23:08,
6年前
, 51F
06/26 23:08, 51F
推
06/27 00:42,
6年前
, 52F
06/27 00:42, 52F
→
06/27 00:43,
6年前
, 53F
06/27 00:43, 53F
→
06/27 00:44,
6年前
, 54F
06/27 00:44, 54F
※ 編輯: philosiphy (206.15.106.198), 06/27/2018 01:33:01
推
06/27 02:05,
6年前
, 55F
06/27 02:05, 55F
→
06/27 02:05,
6年前
, 56F
06/27 02:05, 56F
→
06/27 02:05,
6年前
, 57F
06/27 02:05, 57F
→
06/27 02:05,
6年前
, 58F
06/27 02:05, 58F
推
06/27 09:25,
6年前
, 59F
06/27 09:25, 59F
→
06/27 09:26,
6年前
, 60F
06/27 09:26, 60F
推
06/27 09:29,
6年前
, 61F
06/27 09:29, 61F
→
06/27 09:29,
6年前
, 62F
06/27 09:29, 62F
推
06/27 09:53,
6年前
, 63F
06/27 09:53, 63F
推
06/27 09:56,
6年前
, 64F
06/27 09:56, 64F
推
06/27 23:15,
6年前
, 65F
06/27 23:15, 65F
→
06/27 23:15,
6年前
, 66F
06/27 23:15, 66F
→
06/27 23:16,
6年前
, 67F
06/27 23:16, 67F
→
06/27 23:17,
6年前
, 68F
06/27 23:17, 68F
→
06/27 23:18,
6年前
, 69F
06/27 23:18, 69F
→
06/27 23:18,
6年前
, 70F
06/27 23:18, 70F
推
06/28 08:23,
6年前
, 71F
06/28 08:23, 71F
→
06/28 11:26,
6年前
, 72F
06/28 11:26, 72F
推
07/01 20:20,
6年前
, 73F
07/01 20:20, 73F
推
07/07 02:21,
6年前
, 74F
07/07 02:21, 74F
推
07/07 14:23,
6年前
, 75F
07/07 14:23, 75F
→
07/26 23:48,
6年前
, 76F
07/26 23:48, 76F
推
08/17 13:40,
6年前
, 77F
08/17 13:40, 77F
討論串 (同標題文章)
Soft_Job 近期熱門文章
44
135
PTT職涯區 即時熱門文章