by Vanessa Wang 歡迎支持我的臉書專頁:【工程師作家的轉職人生】
上週有個朋友打電話給我,說她認真考慮跟我一樣轉行當軟體工程師,想要多理解我的工作內容。
很多人想要學寫 code,但未必知道會寫 code 以後能夠做什麼、有哪些工作選擇。這篇我想以淺顯的方式講解所謂的 web developer (網頁開發工程師)的工作內容到底是什麼。
首先說明一下,coding 相關的職業非常多:你可以寫手機的 app、寫網頁、開發人工智能、做金融業的預測模型、做機器人(包含工廠用來大量生產各種產品的機器)、開發自動駕駛技術等等等。太多了。程式語言存在的目的就是做自動化、減少人工作業時間,所以運用的範圍無遠弗屆。
這篇要講的只是這其中的一種職業,那就是 web developer,因為這是我現在做的,也是許多非本行的人學會寫程式語言後第一個會考慮的職業。網頁開發工程師,顧名思義就是寫網頁的人;仔細想想,現在世界上任何產品、公司都有網頁,因此網頁開發工程師的職缺非常多,再加上這是 coding 相關職業中入門門檻較低的選擇,因此市面上的「軟體工程師速成班」(coding bootcamps)大部分也都是教網頁開發。
網頁開發又分成前端工程師及後端工程師,我做的是前端。那我們的工作內容到底是什麼呢?
我們都在網站上買過東西。舉個例,當你在 Amazon 上買一件毛衣的時候,你會看到毛衣的照片、看到價格、看到尺寸... 使用者看得到的這一切,都是前端工程師用 code 寫出來的。當你選擇衣服尺寸的時候,你會看到只剩下 Large,Medium 跟 Small 都沒有了。讓使用者看到剩下哪些尺碼、讓那些已經缺貨的尺碼變成不能夠選取的狀態、讓使用者在沒有選擇尺碼前不能按下一頁結帳... 凡跟使用者介面相關的東西,都是前端工程師的責任。
至於網頁上字體要多大、怎麼排版比較好看這種事,通常就有另外的 「網頁設計師」負責設計美感。工程師主要是處理邏輯的部分,像是使用者按哪一個鈕會跳到哪一頁、信用卡號碼少寫一個碼下單不能成立、如何讓已登入會員在下次登入時看得到之前放在購物車裡的商品等等。
前端工程師的工作,就是讓買家能順利的下單,買到她想要的尺寸、顏色。但網頁如何知道什麼時候 Medium 開始缺貨?又怎麼知道什麼時候紅色的毛衣又進貨了呢?
想像一個傳統的商業模式,大概就是有一個店員會去倉庫查看,看完再跟客戶回報「我們還有最後一件紅色的毛衣」。在購物網站上,這個「查庫存」的動作,就是後端工程師處理的邏輯。每個網頁背後都有一個「資料庫」,暫且可以把它想成一個巨大的 excel 表格。這個表格上記載了所有毛衣的顏色、尺寸庫存。每當有一位買家下單一件毛衣,這件毛衣就得從這張 excel 表格被畫掉。而每當毛衣再進貨時,這些新的毛衣就得記到 excel 表格上。
總結一下:資料庫上記載著所有毛衣的庫存量;前端工程師負責透過網頁介面讓使用者輕易得知剩下什麼顏色什麼尺寸;而在這中間跑腿、在每次下單或進貨時去更新資料庫的人,就是後端工程師。
關於前端及後端,我還喜歡用房子做比喻。如果網頁是一間房子,前端工程師就是做所有室內裝潢的人,而後端工程師則是負責供應水源、電源、瓦斯、網路等等。舉個例子來說,蓮蓬頭怎麼跟出水口接在一起、怎麼透過把手控制水溫水量,這是前端工程師的責任;但水源的供應、源頭水壓、把管線拉到廁所的位置,這就是後端人員要做的。前端與後端工程師必定要很緊密的合作,不然只有蓮蓬頭卻沒有水無法洗澡、而沒有蓮蓬頭或者開水源的把手,一樣使用不到水,還是無法洗澡。
以上就是我對網頁開發工程師的簡單說明。如果對「機器學習」這個主題有興趣,可以看這篇:初學 Python 與 Machine Learning 心得。
如果想要知道我當初靠線上課程自學轉行成為網頁開發工程師所使用的資源,可以看 九個月自學轉行軟體工程師。
再附上幾門我在 Udemy 上過的課;我自學轉行的知識來源就是靠這幾門課。這些課程的特色是價格低(特價時我看過低於$20鎂)、內容充實(30小時以上的教學影片)及注重實作。
The Complete Web Developer in 2024: Zero to Mastery (這門課現不在 Udemy 上)
Master the Coding Interview: Data Structures + Algorithms
The Complete Junior to Senior Web Developer Roadmap (2024)
Complete Machine Learning and Data Science: Zero to Mastery (機器學習及資料科學)The Complete Junior to Senior Web Developer Roadmap (2024)
thanks! you really encourage me
回覆刪除by a fans from Taiwan :)
課程現在都要近一百美金了。
回覆刪除