高見龍

Git/Ruby/Rails/iOS app Developer & Instructor, 喜愛非主流的新玩具 :)

「自學程式現場」什麼是前端工程師?

Coding

Photo by Ferenc Almasi on Unsplash

前端工程師,英文全名是 Front-End Developer 或 Front-End Engineer,有時也會縮寫成 F2E。

現在大家聽到這個職稱,想到的大概就是可以在網站上做很炫的特效的工程師,但在當年我一開始學習寫程式的年代,並不存在這個名詞。一來那個時候就是一個人從 HTML、CSS 的切版到資料庫的架設、存取甚至連主機的架設跟設定都得一條龍自己包辦(硬要用現代的名詞講就是所謂的「全端工程師(Full Stack Developer)」,但我其實沒有很喜歡這個名詞)。

二來也是因為網路技術的發展十分迅速,印象中,當年 Google Map 剛推出的時候,超炫的地圖拖拉、放大縮小功能,整個把 AJAX 這個名詞給炒紅了,自那之後就越來越多 JavaScript 的應用。

當年只是用來做簡單的表單驗證的 JavaScript 已經複雜到不是一個人可以輕鬆搞定的程度了,於是逐漸特化出「前端工程師」這樣的角色出來。即然有「前端」,那自然也有相對的「後端」工程師,但請繼續容我在後續的文章再介紹。

其實手機 App 的開發者很常常也需要存取網站的 API 然後呈現在 App 裡,所以在我認定裡手機 App 工程師也算是前端。以下我就以網站的前端工程師來舉例說明,到底當一個網站前端工程師的工作內容有哪些,以及需要具備哪些的技術。

「自學程式現場」非本科系有辦法學程式嗎?

Coding

Photo by Arif Riyanto on Unsplash

「我不是本科系的,有辦法學寫程式嗎?」

「不是資訊相關科系,是不是之後會學不好或是發展有限?」

講的好像本科系畢業就一定會寫程式一樣…

首先,沒有人是所謂的「本科系」,就算是那些所謂的本科生,大多也是上了大學之後才開始的,在這之前也是非本科生(還是有人從一出生就開始打鍵盤的?)

大家一樣都是半路出家,差的就是四年的大學教育的距離。所以,是不是本科系對寫程式來說重要嗎?怕各位沒耐心往下看,先講結論:

重要,但這跟有沒有辦法學會程式以及將來的發展沒直接關係。

「自學程式現場」自學教材選擇

Self Taught

Photo by The Climate Reality Project on Unsplash

本文開始前先跟大家說個年輕時候的小故事

學生時期,那時候網路不發達,不像現在隨手就一堆看不完的資訊。我永遠記得我那時候為了學 Photoshop 的火焰字特效,常常會跑到天瓏書局看白書。

為什麼看白書?就學生窮啊,對當時的我來說電腦書不便宜,特別是那種全彩印刷的更是捨不得下手,那時候也沒有像現在身上有手機可以拍照,所以我常常就一邊看一邊拿出自己的小本子抄筆記,速記重點步驟,還得留意看老闆會不會走過來趕人(即使後來認識老闆,還是會覺得他給我很兇的印象)

就這樣,我一次偷學個三個、五個特效,累積下來我對 Photoshop 也就越來越熟,甚至還能自己組合出新的效果出來,我也是因為 Photoshop 才有機會進到學校的電算中心打工,然後才開始學著寫程式的。

不得不說,我覺得我當年這樣的學習雖然有點辛苦,但成效十分顯著。

「自學程式現場」新手應該要學什麼程式語言?

Hello World

Photo by Victoriano Izquierdo on Unsplash

該學什麼程式語言,這是個接近討論信仰等級的戰爭問題,拿去問 10 個軟體工程師,可能會得到 13 種答案。為了避免張飛打岳飛,我先對「新手」做個簡單的定義:

新手 = 沒有在學校學過怎麼寫程式,而且也完全沒有自己動手寫過任何一行程式的人

回到原本的問題,我的答案很簡單:

都可以!選你看的懂、看的順眼的就好。

這有講跟沒講沒一樣,但我沒開玩笑,真的都可以。喔,有個東西不行啦,就是 HTML,原因很簡單,因為它不是程式語言!

「自學程式現場」哈囉,世界!

Hello World

Photo by KOBU Agency on Unsplash

「我不是本科系的,有辦法學程式嗎?」 「我想學程式,應該學哪個程式語言」 「學 XXX 程式語言好找工作嗎?」 「我已經三十好幾,現在轉職會不會太晚?」 「現在應該要學前端還是要學後端?」

上面這些都是我們的粉專常會收到的訊息,也在 PTT 的某些版也是常常吵架的主題。先說,我個人覺得吵架沒有不好,我喜歡激烈而且有料的對話,只是吵架到最後可能會因為吵輸了面子掛不住而容易失焦,偏離原本的主題。