Soft_Job 板


LINE

※ 引述《m13m13m (奇怪 还没收到??)》之铭言: : : 工作上遇到一层不变的薪水, 和难以跨越的门槛(做某一个框架 : 几年, 想换到另一个想去的公司但是框架不同, 好的话,年资是从新算, : 常常是遇到根本没机会, 即战力第一. 久而久之,路变得有点窄. : → m13m13m: DevOps/SQL 是好建议,正在点docker/aws, SQL command 04/04 21:20 : → m13m13m: Argos:想出国看看, 我不想当嘴炮的人 04/04 21:20 : → m13m13m: oneheat: 腾讯吗. 语言框架不对, 第一关就无法pass了 04/04 21:21 : → m13m13m: 假设我PHP很多年,要去弄node.js/ java也是从头算年资. 04/04 21:22 : → m13m13m: 从头开始学. 另外换一个语言不可能只要几周, 比如c++ 04/04 21:23 : → m13m13m: 学很多你要保证你每一个都能一直跟上去最新的工具 04/04 21:23 这一串看下来,感觉你好像很纠结在语言或框架的熟悉度就是即战力。 但出来久了,很多时候你会发现其实大家真的在用的东西都是很简单的部 份的,也就是传说中的只用到 20% 的功能,有 80% 是用不到的。 当然有把语言和框架用到出神入化的人,但多数的时候反而都是很基本的 部份,有的时候甚至会觉得这是好事,框架有他方便的地方,但通常藕合 度比较高。我现在反而比较喜欢不过度依赖框架的程式码。 所以你会发现大家会觉得你想加薪,结果想出来的方式是跳框架很奇怪。 即战力是可以从不同的面向来看的,举例来说,当今天你发现你家用 PHP 做的做流量统计服务(类似 GA 的服务)的网站,效能撑不住了。开个网 页要四五分钟还开不出来,这个时候来了两个人: A:「嘿,我做过工厂自动化数据分析报表的网站喔。咱们的资料量是每个 机台最慢每秒有一则统计输出,工厂有一百台机台,二十四小时开工,所 以每天有约八百万笔资料产出。我们的网站报表数据基本上是即时的,不 会差距三分钟,网页读取速度不会超过一秒。喔,我们的系统是用 Java 实作的。」 B:「我有五年 PHP 的经验喔,我 Laravel 很熟喔。我做过很多 CRUD 的 网站喔。」 请问如果你是主管,你会觉得哪个对你们公司才是即战力呢?我想这就类似 上一篇回文里 qrttl 大大提到的套路。因为做过,所以知道这个问题大致 上怎麽解,而很多问题的本质,是与该专案所使用的程式语言或框架没那 麽相关的。 像我基本上都是在 Java 相关的专案与工作打滚,但也去面试过资深 PHP 工程师的职缺,然後问与考的东西大部份都与 PHP 无关,而是在於各式各 样的「套路」。例如 MVC 的基本概念,XSS 怎麽防,SQL Injection 怎麽 防,怎样的问题你会怎麽解,API 你会怎麽设计。我 PHP 是研所论文在用 的,之後出来工作七八年,完全没在用,甚至没用过任何 PHP 的框架。 讲实话,如果没有速查表和参考资料,你叫我从头写 PHP 我大概会写不出 来。但最终我有拿到 Offer,而且也还不错,只是经过一些考虑後还是决 定继续待在 Java 这个领域。 至於你说的第一关被刷掉,我想履历和面试时的应对可能有比较大的关系, 特别是面试,不只是你问我答,也需要自我披露啊!面试官问的时候,你 可以在你的回答里延伸出你练过什麽套路,解过什麽问题,而且展现出你 理解的是这个问题的基础原理,而不是只是瞎猜。 举例来说,你们的解法是加开 Instance,那为什麽要加开,是 CPU Bound 还是 Memory Bound 还是 IO Bound?你们是用什麽方式决定是否要加开 Instance,怎麽做 Profiling 怎麽做 Benchmark?这些也都是套路的一 部份,而且也不会跳语言或框架就会有太大本质上的改变。 那有没有跳语言和跳框架即战力就下降的状况?也是有的,例如你现在叫 我去写 NodeJS ,我肯定写得不好也没有即战力,因为和我最熟悉的典范 是不同的。 PHP 和 Java 的世界里,多数都是 Multi-Thread / Blocking 的操作, 回圈什麽随便用。 但 NodeJS 是个完全不一样的世界,他的典范是 Single Thread / 非同 步呼叫模式,基础的思考方向就不一样,解题的方式也会不同,如果我用 Blocking 的思考方式去写 NodeJS,结果肯定很惨烈。 这种的我觉得跳语言和跳框架就比较有意义,因为学到的是另一种解问题 的思维。 而有一些问题,在某个典范下可能很难解,但在另一个典范会比较容易, 例如这几年很火红的用 Functional Programming 的典范来解决 Concurrent 问题等等。 最後,这一阵子决定要花点时间做个 Side Project 当做这几年工作成果 的总覆习,於是列出了一些这个专案想要达成的目标,大致上如下: - TDD,测试覆盖率 90% 以上。 - 乾净的架构,核心逻辑与资料库、框架等等严格分割。例如资料储存 可以在不依赖框架的情况下,随时抽换 NoSQL 或 RDBMS。 - 架构上有足够的弹性,可不靠 Middle Ware 就能做到 DB Sharding。 - 架构上有足够的弹性,可不靠 Middle Ware 就能做到资料库读写分离。 - 证明 API Server 可以处理 C10K 的问题。 - 可以做到网站与 APP 的资料双向同步。 - 能够做到快速部署,快速建立开发环境,模拟新人进来时候的状况。 结果列一列之後,发现多数都是和语言 / 框架无关的问题,而是在系统架 构上要怎麽设计,而这些设计原则,不太会因为换了语言或框架就改变的。 以上是在 Backend 打滚了几年後的一些想法,给你参考看看。 -- ~ 白马带着她一步步地回到中原。白马已经老了,只能慢慢地走, 'v' Brian Hsu 但终是能回到中原的。江南有杨柳、桃花,有燕子、金鱼…… // \\ ( 坟 墓 ) /( )\ 但这个美丽的姑娘就像古高昌国人那样固执。 【白马啸西风】 ^`~'^ http://brianhsu.moe 『那都是很好很好的,可我偏不喜欢。』 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.231.72.39
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1522894163.A.1DC.html
1F:推 vi000246: 实用推 04/05 10:16
2F:→ pttworld: 原文是跳出web, 这一串都不是跳出的 04/05 10:17
3F:→ pttworld: 而以换领域不是即战力很正常,这一串都没人切中要害 04/05 10:19
4F:→ brianhsu: 原 PO 的根本目的在加薪,跳不跳老实说没什麽差…… 04/05 10:25
5F:→ brianhsu: 待在熟悉的领域谈加薪还比较容易些。 04/05 10:26
6F:推 wildli0422: 推推 04/05 11:08
7F:→ qrtt1: 真正该跳出来的是那个限制自己发展的思维啊。 04/05 11:14
8F:→ qrtt1: 往哪个方向跳都好,但旧的方向验证了几年没有收到好的效果 04/05 11:15
9F:→ qrtt1: 主题的原 PO 也该试试别人的方法了。 04/05 11:15
※ 编辑: brianhsu (36.231.72.39), 04/05/2018 11:17:45
10F:→ qrtt1: 相当同意 @brianhsu 说的,在同领域的难易度较高。只要不 04/05 11:17
11F:→ qrtt1: 把单纯把 web 只想成是单纯投入个人的生产力,还包含了架构 04/05 11:18
12F:→ qrtt1: 与如何维持服务。他是一整组不断演进的,一直换框架,换领 04/05 11:19
13F:→ qrtt1: 域,只是在玩不同游戏的新手村而已。 04/05 11:19
14F:→ qrtt1: 在同一个领域还有个明显的好处是,你 credit 够高的话,会 04/05 11:20
15F:→ qrtt1: 有机会,且有人愿意冒险让你先站在目前的基础上,做跨领域 04/05 11:21
16F:→ qrtt1: 的实验。例如,其他文讨论到的 py -> go,或其它的替代解法 04/05 11:21
17F:推 OSDBNetwork: 有实力的人,写出来的文章就是精彩. 04/05 11:41
18F:推 rabido: 大大可以分享一下决定继续待在Java领域的原因吗? 04/05 11:52
19F:推 stupid0319: 推,有实作基础比较重要,程式的语法跟框架反而好学 04/05 11:52
20F:推 holmes2136: 力推,有很多东西是不同语言可通用 04/05 11:57
21F:推 peanut97: 你一定是文中里的A 04/05 12:19
22F:推 qweasd777: 大推 04/05 12:30
23F:推 Vendy: 因为有jvm很多玩具,不仅仅java吧XD 04/05 12:39
24F:推 DirtyVegas: laravel那段真是中肯 偏偏老板思维只会在意你会不会使 04/05 12:41
25F:→ DirtyVegas: 用 04/05 12:41
26F:→ brianhsu: 楼上答对了,JVM 太多玩具玩不完。XD 04/05 12:41
27F:→ DirtyVegas: 很少会在意你弹性处理问题的思维 04/05 12:42
28F:推 jonyig: 推 04/05 12:47
29F:→ brianhsu: 当然比较喜欢现在公司薪资结构和办公室环境也是很现实 04/05 12:53
30F:→ brianhsu: 的一环啦。直接年薪 / 12,不发年终的公司比较少,但我 04/05 12:53
31F:→ brianhsu: 喜欢。XD 04/05 12:54
32F:推 johnny94: 这个版需要这种文章多一点 04/05 13:52
33F:推 abccbaandy: 好奇真的有人每份工作语言都不同的?像这篇最後也没跳 04/05 14:02
34F:→ abccbaandy: PHP阿... 04/05 14:03
不知道算不算啦跳…… 第一份工作:Android 手机 BSP Kernel Driver,C 语言。 第二份工作:Java / JSP 网站後端。 第三份工作:Scala 网站全端 / Scala 桌面程式 / STM32F429 与 8051 等单晶片控制硬 体 IO,收发 RS232 讯号等样样来。 第四份工作:Java / Play Framework 网站後端。 然後切换的过程中,程式语言框架反而是最简单的部份……我只记得我好像烧掉两片 STM 32F429 呢,和不知道多少个机板呢。囧。
35F:推 m13m13m: 谢谢大大的指点,看来您工作外花很多心思在系统设计的学习 04/05 14:17
36F:→ m13m13m: 因为我看到的许多case大多是会不会写,系统层面的规划大多 04/05 14:19
37F:→ m13m13m: 欠缺考量, 所以会出现欠许多"技术债".我会想说换框架薪资 04/05 14:20
38F:→ m13m13m: 待遇比较好是因为某些企业有偏好的语言框架, 那些企业的 04/05 14:21
39F:→ m13m13m: 待遇十分好. 谢谢您的指点 04/05 14:22
※ 编辑: brianhsu (36.231.72.39), 04/05/2018 14:29:52
40F:推 abccbaandy: 除了2跟4其他也差太多XD 这样履历拿出去不会被质疑吗 04/05 14:35
第一份半年,多数在维护和 debug,没啥好讲。大学专题做 Linux Kernel,所以 不太会被质移,而且才半年,多数知道是刚出社会方向不定。 第三的话,桌面程式我本身就有开过个人专案,嵌入式系统的部份,我讲得出整个 系统架构的和专案的一些细节啊,所以还没被质疑过。毕竟小公司,一个人抵 N 个人用,什麽都要碰很正常啦。 ※ 编辑: brianhsu (36.231.72.39), 04/05/2018 14:44:33
41F:→ pttworld: 问题会在第一份切入第二份,我当初组语转Java薪3万1 04/05 15:52
42F:推 CCben: 推 04/05 17:32
43F:→ MOONY135: 第一份sas 第二份c++XDDD 觉得追语言没啥用 04/05 19:40
44F:推 avans: 推心得! 04/05 19:52
45F:推 fayhong: 推!内功深厚的高手 04/05 21:16
46F:推 jingyang: 楼上有人提到,我换工作几乎每次都不同语言,C++->pyth 04/05 22:56
47F:→ jingyang: on->Java->node->golang->php,语言只是工具,工作久了 04/05 22:56
48F:→ jingyang: 看的是你的 domain knowhow,语言特性的重要性相对来说 04/05 22:56
49F:→ jingyang: 低很多 04/05 22:56
50F:推 a8989332: 初期是工具使用者 後期要练到架构设计者! 04/05 23:49
51F:推 NodeWay: 好文推 我是觉得能掌握多种语言也是实力的一部分 04/06 00:54
52F:→ NodeWay: 举例来说就像写网站不能不懂js 不同需求有其适合语言 04/06 00:55
53F:推 lturtsamuel: 不用换工作 新创公司不同专案可能框架就不同了 04/06 03:02
54F:→ lturtsamuel: 因为都是跟人合作 别人用啥就用啥 04/06 03:02
55F:推 leveger0903: 说到laravel 真的是面试的痛处 明明框架是由php打造 04/06 13:23
56F:→ leveger0903: 出来的 为什麽面试官就这麽坚持一定要会laravel 吃这 04/06 13:23
57F:→ leveger0903: 个亏两次 04/06 13:23
58F:推 dream1124: 推 04/08 12:10







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP