作者eggli (eggli)
看板Soft_Job
标题Re: [请益] 一个全端工程师,最少要有什麽程度?
时间Mon Jul 15 12:31:49 2019
请容我老者打个圆场
在还没有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://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1563165113.A.06A.html
1F:→ musie: 这难道是10x engineer? 07/15 12:35
2F:→ eggli: 没错,我平常都是用USB线当牙线来用呢 07/15 12:37
3F:→ dreamnook: 简单来说$给多一点就是惹 07/15 12:42
4F:推 f496328mm: 推这篇,讲得不错 07/15 13:09
5F:推 a926: 薪水高一点 能力就多一点 07/15 13:16
6F:→ Hsins: 其实就像我转贴的那篇差不多,全端需要时间,是一种开发者 07/15 14:13
7F:→ Hsins: 对自我的追求。然而对於新创或新鲜人来说,被迫变成全端只 07/15 14:13
8F:→ Hsins: 是不成熟业界一种饮鸩止渴的做法。尤其是现在多数只琢磨在 07/15 14:13
9F:→ Hsins: 会「用」某些框架或工具的层面上,再来是这样的工作型态, 07/15 14:13
10F:→ Hsins: 真的能够有时间去发展吗? 07/15 14:13
11F:推 anr2: 很好奇如果被框架绑架是不是换个平台就一筹莫展了? 07/15 14:43
12F:推 superpai: 推,就是徵软体工程师罢了,换个名字就被说是cost down 07/15 14:49
13F:→ superpai: 真的很奇怪 07/15 14:49
14F:推 anr2: A ton of buzzwords, A ton of Money 07/15 14:54
15F:推 deray: 我这被子他妈最度烂的就是听人念「估依」(GUI) 07/15 14:56
16F:→ ruthertw: 大家都这麽严厉,其实我们给人4万,只看得懂程式码就好了 07/15 15:59
17F:→ Hsins: 有基础学科知识,入门之後把技能树依照业界技能点满成为全 07/15 16:05
18F:→ Hsins: 端,那自然是软体工程师。只因为潮和压低成本,除了要求基 07/15 16:05
19F:→ Hsins: 本学科能力,还要熟悉框架使用,不是 cost down 是什麽? 07/15 16:05
20F:推 ruthertw: 怕只怕公司元老都是废物,只知道花钱找便宜超人 07/15 16:07
21F:→ Hsins: 认同这篇文章,稍微补充一些看法。前端跟後端工程师也不太 07/15 16:23
22F:→ Hsins: 算是被「发明」出来,而是技术发展和演进的结果,如果对於 07/15 16:24
23F:→ Hsins: 现在网页应用和移动端应用开发稍有涉略,应该不难发现这些 07/15 16:24
24F:→ Hsins: 年的演进是将这些东西进行模组化和工程化,现在的前後端因 07/15 16:25
25F:→ Hsins: 为硬体发展和使用者需求,越来越专业分工,但也模糊了边界 07/15 16:26
26F:→ Hsins: 。现在的前端与後端个别独立来说都是一个很大的坑,更何况 07/15 16:28
27F:→ Hsins: 是希望两者都具有一定水准的全端? 07/15 16:28
28F:→ Hsins: 的确,分工越细并不代表产出越快,这要根据需求和团队能力 07/15 16:30
29F:→ Hsins: 还有最一开始的架构。但通常越大的团队为什麽分工越细?因 07/15 16:30
30F:→ Hsins: 为专业性。我会觉得有推文像是在打棉花打空气就是因为没有 07/15 16:31
31F:→ Hsins: 把这个放在一起讨论,大团队分工细在开发大专案,那其他小 07/15 16:32
32F:→ Hsins: 专案需不需要一个有经验的开发者?所以他们找全端要有经验 07/15 16:32
33F:→ Hsins: ;至於知乎和 Quora上为什麽会反对新手开发者投递全端职缺 07/15 16:33
34F:→ Hsins: 因为一个的全端是经验累积成的,一个是揠苗助长用框架堆的 07/15 16:34
35F:→ Hsins: 。 07/15 16:35
36F:→ Hsins: 就如这篇e大说的,真正的全端需要花时间,至於为什麽会都 07/15 16:36
37F:→ Hsins: 是资浅的全端,是被奇妙不合理的需求弄出来的 07/15 16:38
38F:推 superpai: 讲得好像後端不用框架一样 07/15 16:47
39F:→ superpai: 为什麽有资浅後端就可以,有资浅全端就是罪恶? 07/15 16:48
40F:→ Hsins: 问题就在这篇和你推文说的,经验啊。你不觉得你的话很矛盾 07/15 16:50
41F:→ Hsins: 吗? 07/15 16:51
42F:→ superpai: 就像e大说的,养成全面的软体工程师就是要时间跟经验, 07/15 16:51
43F:→ superpai: 送前端後端还是全端出发都没什麽不可以 07/15 16:51
44F:→ Hsins: 最怕就是养不成变成四不像,不是吗?如果是有规模有团队有 07/15 16:56
45F:→ Hsins: 人带愿意培养,那找资浅全端倒是没话说。 07/15 16:56
46F:推 Bencrie: 被子是无辜的 07/15 17:08
47F:推 superpai: 全端会四不像的话,那後端也是要会server,db,跟程式, 07/15 17:25
48F:→ superpai: 小心变成三不像。 07/15 17:25
49F:→ superpai: 我真的不懂多学个js/css怎麽好像是个超级任务一样,非常 07/15 17:29
50F:→ Hsins: 所以我说你不觉得自己矛盾吗?照大致上的意思全端包前後端 07/15 17:29
51F:→ superpai: 可怕会影响到一个人的职涯 07/15 17:29
52F:→ Hsins: 後端就这麽多了。 07/15 17:30
53F:→ Hsins: 而且你真的以为前端就只有 js/css? 07/15 17:30
54F:→ Hsins: 如果这样的话你贴脸书苹果的全端贴错了吧。 07/15 17:30
55F:推 superpai: 每个技能都有浅有深,工作有难有简单,什麽端都一样。 07/15 17:35
56F:→ Hsins: 所以我说你不觉得自己矛盾?一下说多学个 js/css 像是超级 07/15 17:36
57F:→ Hsins: 任务,一下又有浅有深?什麽端都一样何必分?就是现在的发 07/15 17:36
58F:→ Hsins: 展因为复杂度跟专业性才区隔了这些。 07/15 17:37
59F:推 superpai: 我是在讽刺你把前端工作想得太复杂了 07/15 17:41
60F:→ superpai: 我的主张很明确,就是全端工作一样有简单有难的有低薪有 07/15 17:43
61F:→ superpai: 高薪的,跟前後端没什麽不同,从那边入门都不会怎样。 07/15 17:43
62F:→ Hsins: 是你把前端想的太简单吧 07/15 17:57
63F:推 superpai: 有简单有复杂 07/15 18:07
64F:推 molopo: 一直期待什麽都会的公司 给低薪 真的雷 07/16 01:22
65F:推 coronach: 前後端都一样有深有浅的部分可以学,两边都浅的全端一样 07/16 07:31
66F:→ coronach: 有价值,不觉得有什麽对新手有害的地方 07/16 07:32
67F:→ coronach: 前後端需要的经验再怎麽不同,资料结构跟演算法的概念是 07/16 07:33
68F:→ coronach: 不会变的不是吗? 07/16 07:33
69F:推 leveger0903: 讲得蛮好的 07/16 09:26
70F:推 sxy67230: 重点是现在分工都很细,新创要压时程,又要工程师一人可 07/16 12:41
71F:→ sxy67230: 以当两人。工程师会想往外点是因为对写程式的热忱,每 07/16 12:41
72F:→ sxy67230: 个工程师都有一个职人的精神想学更多做更深,但是台湾小 07/16 12:41
73F:→ sxy67230: 型企业往往让工程师灰心 07/16 12:41
74F:→ sxy67230: 全端在台湾就是变质的东西 07/16 12:41
75F:推 maxqq: 这篇讲得最好 07/16 13:40
76F:推 lsw0529: 中肯 ~ 07/16 21:26