[爆卦]全端工程師技能樹是什麼?優點缺點精華區懶人包

為什麼這篇全端工程師技能樹鄉民發文收入到精華區:因為在全端工程師技能樹這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者eggli (eggli)看板Soft_Job標題Re: [請益] 一個全端工程師,最少要有什麼...



請容我老者打個圓場

在還沒有AJAX技術的那個年代,UI還是被稱做GUI的年代

(說真的,到現在我還真不習慣把GUI稱做UI)

沒有所謂的前端工程師,也沒有後端工程師

只有軟體工程師,大一點的公司才會有所謂的DBA配置

從Mosaic/Netscape年代開始,無論是HTML還是CGI,

都是由軟體工程師來做,以現在的角度來看,這就是全端工程師

全端工程師一直都是存在的角色,從來就沒有消失過,也沒有被發明過

真正被發明出來的角色,反而是前端工程師與後端工程師

然而,無論是怎樣的職稱,怎樣的技能樹,重點還是在於:

解決問題

軟體工程只是一個手段,用來解決問題的手段

既然重點在於解決問題,我並不覺得需要去切割一條清楚的界線

「啊這個是前端要做的啦」

「啊這個後端要先給我們啊」

請問這樣是解決了問題,還是製造了更多的問題?

前面有篇文章中,提到了Quora上的答案,提到一本書的出版

需要各式各樣的分工角色才會快

既然提到了書,那我也來提一本書

人月神話

人越多,分工越細,並不代表你的產出真的會快起來

當然我不否認的是,軟體技術日新月異,很多事情必需要深入探究

專職分工,才會有更好的結果,然而,就像本串首篇所提

當你在一個領域上深造到了一定程度,自然而然一定會想要往跨領域走去

這是很正常的現象,前些日子我也有一位前端的同事來問我,

他想要點一些ML的技能樹來玩玩,問我妥不妥

這樣的方向個人覺得非常的正確,實際上透過學習不同領域的技術

對職涯、對個人發展、對軟體工程的技術都會有莫大的幫助,可以看看這篇文章

https://thorstenball.com/blog/2019/04/09/learn-more-programming-languages/

誰說Web技術用不到C語言呢?在還沒有WebAssembly的那個年代

https://developer.chrome.com/native-client/nacl-and-pnacl

這是唯一可以以接近Native方式榨取瀏覽器效能去做影像處理的一個手段

只是你有沒有碰到而已,碰到的時候,你自然就得要去學

還是老話一句,重點在於解決問題,而不是製造更多問題

當然,我也必需要說,現在的職場中的確充滿著不合理的職位

而這個職位的名稱的確就是全端工程師,特別是新創產業

實際上他們要的就是「軟體工程師」而已

過去幾年中,我面試過非常多自稱全端工程師的candidate

但我必須說實話,全端工程師分做兩種,一種就是軟體工程師

一種是「被全端」工程師,這類人通常都是新鮮人,學歷可能不夠鮮明

經歷也不夠豐富,不得不將自己的技能樹點的很廣,來想辦法謀得一職一餐

通常「被全端」的,面試起來的確就會像板上各位大大所言

技能樹雖然很廣,但是很淺,抑或實際上偏向前端或是後端

我自己很少有面試過真正的全端工程師

要不就是後端工程師不熟悉瀏覽器Rendering Path的,不熟悉DOM操作成本的

要不然就是前端工程師被ORM慣壞的,不瞭解File system block size效能差異的

比比皆是,但就我來說,無論是前端還是後端技術,總括來說都是資訊科學的產物

你在這個業界時間久了,無論是「被前端」,還是自己決定跨領域,

自然而然一定會成為一位「軟體工程師」

只是需要足夠的時間,我過去面試的全端工程師,大多資歷都太淺

若你想要往這條路前進,就必需要有花上很多時間的心理準備

這不會是一條安逸的選擇,但你會在這段旅途中學會很多事情

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.163.118 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1563165113.A.06A.html
musie: 這難道是10x engineer? 07/15 12:35
eggli: 沒錯,我平常都是用USB線當牙線來用呢 07/15 12:37
dreamnook: 簡單來說$給多一點就是惹 07/15 12:42
f496328mm: 推這篇,講得不錯 07/15 13:09
a926: 薪水高一點 能力就多一點 07/15 13:16
Hsins: 其實就像我轉貼的那篇差不多,全端需要時間,是一種開發者 07/15 14:13
Hsins: 對自我的追求。然而對於新創或新鮮人來說,被迫變成全端只 07/15 14:13
Hsins: 是不成熟業界一種飲鴆止渴的做法。尤其是現在多數只琢磨在 07/15 14:13
Hsins: 會「用」某些框架或工具的層面上,再來是這樣的工作型態, 07/15 14:13
Hsins: 真的能夠有時間去發展嗎? 07/15 14:13
anr2: 很好奇如果被框架綁架是不是換個平台就一籌莫展了? 07/15 14:43
superpai: 推,就是徵軟體工程師罷了,換個名字就被說是cost down 07/15 14:49
superpai: 真的很奇怪 07/15 14:49
anr2: A ton of buzzwords, A ton of Money 07/15 14:54
deray: 我這被子他媽最度爛的就是聽人念「估依」(GUI) 07/15 14:56
ruthertw: 大家都這麼嚴厲,其實我們給人4萬,只看得懂程式碼就好了 07/15 15:59
Hsins: 有基礎學科知識,入門之後把技能樹依照業界技能點滿成為全 07/15 16:05
Hsins: 端,那自然是軟體工程師。只因為潮和壓低成本,除了要求基 07/15 16:05
Hsins: 本學科能力,還要熟悉框架使用,不是 cost down 是什麼? 07/15 16:05
ruthertw: 怕只怕公司元老都是廢物,只知道花錢找便宜超人 07/15 16:07
Hsins: 認同這篇文章,稍微補充一些看法。前端跟後端工程師也不太 07/15 16:23
Hsins: 算是被「發明」出來,而是技術發展和演進的結果,如果對於 07/15 16:24
Hsins: 現在網頁應用和移動端應用開發稍有涉略,應該不難發現這些 07/15 16:24
Hsins: 年的演進是將這些東西進行模組化和工程化,現在的前後端因 07/15 16:25
Hsins: 為硬體發展和使用者需求,越來越專業分工,但也模糊了邊界 07/15 16:26
Hsins: 。現在的前端與後端個別獨立來說都是一個很大的坑,更何況 07/15 16:28
Hsins: 是希望兩者都具有一定水準的全端? 07/15 16:28
Hsins: 的確,分工越細並不代表產出越快,這要根據需求和團隊能力 07/15 16:30
Hsins: 還有最一開始的架構。但通常越大的團隊為什麼分工越細?因 07/15 16:30
Hsins: 為專業性。我會覺得有推文像是在打棉花打空氣就是因為沒有 07/15 16:31
Hsins: 把這個放在一起討論,大團隊分工細在開發大專案,那其他小 07/15 16:32
Hsins: 專案需不需要一個有經驗的開發者?所以他們找全端要有經驗 07/15 16:32
Hsins: ;至於知乎和 Quora上為什麼會反對新手開發者投遞全端職缺 07/15 16:33
Hsins: 因為一個的全端是經驗累積成的,一個是揠苗助長用框架堆的 07/15 16:34
Hsins: 。 07/15 16:35
Hsins: 就如這篇e大說的,真正的全端需要花時間,至於為什麼會都 07/15 16:36
Hsins: 是資淺的全端,是被奇妙不合理的需求弄出來的 07/15 16:38
superpai: 講得好像後端不用框架一樣 07/15 16:47
superpai: 為什麼有資淺後端就可以,有資淺全端就是罪惡? 07/15 16:48
Hsins: 問題就在這篇和你推文說的,經驗啊。你不覺得你的話很矛盾 07/15 16:50
Hsins: 嗎? 07/15 16:51
superpai: 就像e大說的,養成全面的軟體工程師就是要時間跟經驗, 07/15 16:51
superpai: 送前端後端還是全端出發都沒什麼不可以 07/15 16:51
Hsins: 最怕就是養不成變成四不像,不是嗎?如果是有規模有團隊有 07/15 16:56
Hsins: 人帶願意培養,那找資淺全端倒是沒話說。 07/15 16:56
Bencrie: 被子是無辜的 07/15 17:08
superpai: 全端會四不像的話,那後端也是要會server,db,跟程式, 07/15 17:25
superpai: 小心變成三不像。 07/15 17:25
superpai: 我真的不懂多學個js/css怎麼好像是個超級任務一樣,非常 07/15 17:29
Hsins: 所以我說你不覺得自己矛盾嗎?照大致上的意思全端包前後端 07/15 17:29
superpai: 可怕會影響到一個人的職涯 07/15 17:29
Hsins: 後端就這麼多了。 07/15 17:30
Hsins: 而且你真的以為前端就只有 js/css? 07/15 17:30
Hsins: 如果這樣的話你貼臉書蘋果的全端貼錯了吧。 07/15 17:30
superpai: 每個技能都有淺有深,工作有難有簡單,什麼端都一樣。 07/15 17:35
Hsins: 所以我說你不覺得自己矛盾?一下說多學個 js/css 像是超級 07/15 17:36
Hsins: 任務,一下又有淺有深?什麼端都一樣何必分?就是現在的發 07/15 17:36
Hsins: 展因為複雜度跟專業性才區隔了這些。 07/15 17:37
superpai: 我是在諷刺你把前端工作想得太複雜了 07/15 17:41
superpai: 我的主張很明確,就是全端工作一樣有簡單有難的有低薪有 07/15 17:43
superpai: 高薪的,跟前後端沒什麼不同,從那邊入門都不會怎樣。 07/15 17:43
Hsins: 是你把前端想的太簡單吧 07/15 17:57
superpai: 有簡單有複雜 07/15 18:07
molopo: 一直期待什麼都會的公司 給低薪 真的雷 07/16 01:22
coronach: 前後端都一樣有深有淺的部分可以學,兩邊都淺的全端一樣 07/16 07:31
coronach: 有價值,不覺得有什麼對新手有害的地方 07/16 07:32
coronach: 前後端需要的經驗再怎麼不同,資料結構跟演算法的概念是 07/16 07:33
coronach: 不會變的不是嗎? 07/16 07:33
leveger0903: 講得蠻好的 07/16 09:26
sxy67230: 重點是現在分工都很細,新創要壓時程,又要工程師一人可 07/16 12:41
sxy67230: 以當兩人。工程師會想往外點是因為對寫程式的熱忱,每 07/16 12:41
sxy67230: 個工程師都有一個職人的精神想學更多做更深,但是台灣小 07/16 12:41
sxy67230: 型企業往往讓工程師灰心 07/16 12:41
sxy67230: 全端在台灣就是變質的東西 07/16 12:41
maxqq: 這篇講得最好 07/16 13:40
lsw0529: 中肯 ~ 07/16 21:26

你可能也想看看

搜尋相關網站