最近刚好辅导了几个非工程师想转职当RD的学生
虽然你是已经是工程师要转领域,不过感觉遇到的问题与担心是差不多的
所以来回应一下这篇
※ 引述《KogeBoro (玖枫 蓝)》之铭言:
: 非本人,纯代PO
: =================
: 各位年薪300w的大大们大家好
: 小弟四大资工硕 今年30出头 毕业后在一间小公司从事iOS开发5年
: 最近刚转职到另一间有点名气的新创
: 但是最近却开始对职涯感到困惑,原因如下
: 1.当初会跳来这间公司是看上他的名气,感觉可以作为不错的转职经历
: 但录取上了以后却开始后悔
: 因为进来以后才知道公司没有什么现代化的软件开发方式(CICD/Coding Style/Sprint),
: 大部分时间也可能都是在维护旧有的混乱原始码
: 加加小功能 改改bug 似乎很容易被取代
: 加上自己自认对objc能学的都已经在上一间公司练完了
: 这间公司对自己而言在履历上能加分的似乎只有公司名称
: 而且感觉软件业界重视实力 > 公司名称?这就引导到我下面一个问题
你提的这些其实是可大可小的事情,你可能可以区分一下你是哪种情况
1. 公司不停给你琐碎小事情塞满你的时间,导致无法成长
2. 因为你足够熟练,公司给你的东西你都能轻松解决,剩下很多时间不知道干嘛
如果状况是 1 的话
其实只代表这间公司不适合你了
或者你得想办法像上反应,要求做更大更有挑战的的案子
如果长期没机会就要考虑换了
如果状况是 2 的话
我会觉得你应该思考怎样把更多软件工程的东西加进来,不是只做到功能达标就满意
你有想过如何自己设计系统吗?
或如何帮忙 Refactor
或如何增加 Testability 或 Readability
或如何让部属自动化?
研究这些工具背后用到的算法或设计理论是什么?
这些都是你多出来的时间可以自己玩的
不仅增加你在现在公司的价值,也增加你的未来竞争力
只要有时间,能做的事情太多了,绝不会找不到能练的东西
: 2.感觉自己实力和业界脱节
: 因为自己一直以来都是在弄objc这个感觉已经满古老的技术
: 每次看到做backend/frontend的朋友就有种自己和世界脱节的感觉
: 自认是已经有一定程度的objc/iOS开发实力
: 不敢说精通 但UIKit大部分都有弄懂 Cocoapods等iOS一些相关的框架也还算熟练
: 但是objc已经是存在10几年以上的语言
: 之后也很怕会被一些前端框架(听说现在很多App都用React)/甚至swift本身取代
: 觉得自己的实力从一 两年前就没有再进步 就是上面开需求 努力把他做出来而已
: 后来找面试的时候收了几封感谢函(虽然自觉可能不是iOS技术不足,是leetcode没刷够或
: 一些面试的对答)以后更是有点危机意识
首先语言是否古老不是问题,不然你要写C的情何以堪XD
但语言或框架确实是不断在演进的,这个不管你做app还是web都一样
只要你是做Application的人,就永远要面对技术不断快速替换的事实
所以对你来说最直接的跟上时代方式应该是学 swift (与本职最接近的语言)
除非你是真的想换领域,不然obj-c很老这件事不该是你离开 iOS 的主要理由
我自己会想到的远忧可能是例如Apple这间公司未来走下坡了,iOS 生态系可能就要散了
这会是个比 "obj-c 很老" 好的多的理由
如果担心的是这个,那确实可以赌赌看要不要转职
但这种未来没人能知道就是,就是赌
至于稍好的公司,对rd有要求的公司,刷刷 leetcode 跑不掉的
以 senior 来说,大部分 easy 题随时要能做应该不算过分的要求
medium 以上的则是每次转职前练一练找回手感要能做
这已经算是吃这行饭的共业了吧... 任何领域应该差不多
: 目前想到的下一步大概有下面这些
: 1.提离职,然后半年时间认真研习一下前端技术+准备面试
: 先找个还算可以的前端工作待着,学习新经验
: 但是风险是可能要从新人价开始做起,年资会重置。
: (只是也许够认真的话,或许过一、两年就能回到现在的薪水?)
: (但是自己也30岁了,也很怕其实已经没有这样做的本钱,这点想请各位大大解惑)
这问题比较大还是,为什么是"前端"?
其实你原文里面没有透漏太多你适合前端的理由
只有提到你对iOS的担心而已
如果这样,你确定转到前端,你的担心五年后不会继续存在吗?
: 2.边做目前的工作,下班后研习前端技术。
: 但是下班后能学习的有限,目前的工作操度也还不确定
: 上一份工作边工作边面试骑驴找马的时候就觉得有点累 加上面试成绩其实不是很好所以
: 也有点怕怕的
: 而且转职也一样有年资归零的风险
: 3.继续做iOS,但是依然无法保证自己可以再做几年的iOS
: 觉得自己的根本问题是在其实一直很想转前后端Web开发却又没有面对年资归零的勇气,
: 也不知道自己可能会面临的风险
: 所以想上来请教各位大大,对软件工程师来说,转换技术领域需要考虑的成本与风险有哪
: 些?
: 又,前端领域目前长期来看是可以久待的职缺吗?
: 个人是觉得Web不会过时,自己本身也并不排斥学习新技术,前一份工作自己也很常导入
: 新框架或套件简化开发流程
: 所以在想自己是不是其实比较适合前端的工作(如果不是的话也欢迎在这点上打我脸没关
: 系)
: 麻烦各位前辈解惑了,非常感谢
年资归零确实需要很大的勇气
不过其实如果你一直有在认真思考软件工程
很多累积的能力应该是可以转移的
也就是说你转领域后,重走一遍这条路,不会需要花这么久
搞不好只要一半,甚至1/4的时间就能达到你现在的程度
但比较大的问题仍然是,你是怎么做这个选择的?
为什么是前端?不是后端?或其他领域?
例如Web本身可能不会被淘汰,但你学的前端框架可能每两年业界就又有新宠
那这些领域真的能解决你原本的担心吗?
这部份我觉得反而是你该思考更多的地方