程序员12年工作经验跳槽,经验和总结

公告:因企鹅审核规定,本公众号从《德国IT那些事》更名为《欧盟IT那些事》。
舒适区待久了,就成了条不想思考的咸鱼。
作者 | 十一
一个位于德国的搬砖码农

从标题就可以很明显地看出,德国的大龄程序员,确实非常常见。囧。

01

保持跳槽的意愿

既然从事了IT这个行业,不管现有的工作方向是不是非常贴合,还是已经非常舒适了,建议大家每隔一段时间就去招聘网站上看看,或者直接订阅某些方向的职位推送;并且保持每一至两年投简历面试或者和猎头约谈的频率。

为什么?

因为IT是个特殊的领域,技术迭代可以说是飞速前进的。除了一些特殊的技术方向,比如底层操作系统,数据库,某些中间件等,只要计算机底层操作原理通彻,数据结构算法知识扎实,相当长一段时间内技术大趋势不会怎么变;除此之外的大部分IT领域发展趋势,是变化非常迅猛的。
就如现在的汽车工业中的燃油车,每个汽车制造商旗下品牌和车型繁多,车的内饰,外形,以及搭配的车载系统多种多样。但是燃油发动机的热效率是有其物理极限的,目前燃油所产生的热能只有大概三分之一可以转换为机械能。
发动机固然很重要,可是消费者买的是整车,除发动机之外的其它部件也是同样重要
你我之间大部分IT开发人员,所做的工作并不是类似于发动机研发之类的工作,而是基于操作系统或中间件之上的应用层和业务逻辑开发,这一领域的知识迭代,虽然同样重视计算机原理和数据结构算法,但实际工作中所接触的开发环境和框架,更新迭代飞速,更新频率慢的三五年,快的一两年不到。
如果这个领域的码农持续在一个岗位拧螺丝十年如一日的话,
  1. 一是技术不一定跟得上发展。
  2. 二是薪酬也不一定跟得上目前薪酬水平的发展。
  3. 舒适区呆久了,就成了条不想思考的咸鱼。
除了加盟于德国工会中的一部分企业,靠工会谈判每几年有一次整体涨薪的机会;一般德企的涨薪不是自动每年涨,而是基于个人绩效考核的,不过不管是怎么涨,排除特殊情况,均年(不保证每年都涨)的工资涨幅通常在0-3%之间。先不说这涨幅能不能超过德国的通胀率,常常出现的情况是,在一个公司工作了几年后,发现工资还没有新进来的员工高。
是不是很尴尬?
其实我接触到的绝大多数生活在德国的中国的程序员朋友,业余时间都愿意额外花时间钻研业务或技术领域。所以刚才说的第一点不是什么大问题,一般问题都是集中在第二点。如果你保持每隔一两年和其它企业或者猎头接触的频率,好处是:
  1. 了解当前你所在技术岗,在职业市场上的薪酬水平。
  2. 了解就业市场上,你的技术领域的含金量。
  3. 了解除你所在企业之外的其它企业,对当前技术岗的技能要求有没有新的变化。
  4. 知道你的技术领域有没有过时的味道(体现在很难找到类似职位)。
  5. 为了面试集中火力的准备会让你暂时走出你的舒适区,适当的鸡血有益职业健康。
肯定有朋友会说,我对我现在的工作非常非常满意,就这样待到养老了。
那我们换一个思路,你去职业市场上探探水温,万一拿到一个薪酬比现在高的同等职位,就算你拒绝掉,你还是可以用此作为底限,作为年度业绩考核时和领导谈涨薪的心里基准,不是吗?

02

跨界学习能力

以上情况并没有涉及业务领域,若将IT从业人员的开发技能与业务掌控力剥离,那么一个人的开发技能,在职业市场上,可能没有你想象的那么值钱。如果你在一个细分业务领域深挖了多年,已经成为了这个业务领域的专家,也不想再换个新的领域折腾了,那么这篇文章可以不用继续往下读了,请点左上角关闭。
问题是,没有人能保证一个特定业务领域可以保持长盛不衰。比如诺基亚放弃塞班系统后,很多企业不愿招诺基亚的塞班系统开发老员工,情愿招毕业生,因为这整个业务,包括整个技术栈已经无用了。
这里我并不是鼓励程序员频繁的变换业务领域,而是不要太依赖于一个过窄的细分领域。意思是,可以保持在一个较大的领域里,但是同时熟悉一个以上的细分领域。最早从做企业内部信息系统开发,转到移动App开发,并行后端开发和前端开发,ToC领域转到ToB领域,再回到ToC领域,再接着进入云领域。越来越觉得程序员要有知识迁移的能力,培养跨界的思考能力和适应力。现如今IT行业没有什么工作铁饭碗之说,一个人自身的技术水平和跨界业务技能才是真正的铁饭碗。
Clojure的创始人Rich Hickey说过一句话很有意思:“真正优秀的程序员是那些专注于认识、理解、沟通和解决问题的人,软件只是用来增加效率的工具而已。”
还有JavaScript的作者Brendan Eich也说过:“不要把时间都荒废在玩电脑上和研究代码有几种写法上去,应该多接触跟人类相关的各种知识,比如历史、文学和艺术啊什么的。”

03

忠诚度

16年底跳槽工作一年后,17年底开始陆续有Hr或者猎头联系,很多人询问时是这么说的:“您在新公司已经工作一年了,现在是时候迎接新挑战了......”。其实德国雇员可以说是对雇主忠诚度比较高的,很多人在一个企业勤勤恳恳干了大半辈子到退休,很像我们父母那一辈。据调查,德国有56%的IT专业人士在公司就职十年或更长时间。我不少上了年龄的同事,简历上非常简单,没有几个前任公司。
一次与某汽车OEM的Hr在电话面试时,我还特意问了这个问题:我在这个公司才待了两年不到,现在就跳槽,对你们来说,这会不会有所谓忠诚度的问题?对方笑着回答:如今德国企业间的跳槽很正常,这样员工可以把他的Know how带到另一个公司,而这种跨企业间的Know how的交流是对企业有益的。
我觉得对方应该不是在忽悠我随便打哈哈,因为是她先联系的我。

04

开始面试

目前的工作重心逐渐转向云和SaaS开发,但是公司的业务领域和云的交集有限,而且Dev和Ops完全分开,仅有的云相关开发也是束手束脚,资源几乎全部控制在Ops手里,基本是Ops把所有框架和环境准备好了,Dev才能进入开发。
虽然母公司主业是工业领域,但我们却是做面向消费者的产品,方向比较新,属于母公司的Startup。不过德国的ToC领域,相比ToB领域还是弱很多,市场上来自中国的竞争对手非常强大,公司也没有进入中国市场的战略。而且随着公司系统架构的不断完善,工程师能自由发挥的余地越来越小,大部分时间是在添添补补。两年多后差不多整个构架流程也弄清楚了,感觉技术进步和职业上升都到了一个天花板。
今年年初开始有想法转回ToB的工业4.0领域方向,毕竟这是德国的优势所在。除了挑选猎头发来的职位,自己也开始留意招聘网站上的信息。少数猎头发的职位是含薪酬信息的,既然写明了,说明猎头认为这个薪酬是很吸引求职者的。关注了一段时间,加上之前做了些调查,对当下的市场行情大概有了底。
陆陆续续和几个Hr电话面试了下,建议大家电面约在一大早上班前,午休时间,或者提前一会下班的时间。否则上班时间打电话还得找个没人的办公室,还要躲着同事,效果不好。刚提的那位汽车OEM的Hr,电话面试聊得很好,不过自从她问了我的期望薪金后就没了下文,囧。还有次和一个OEM的Hr聊了一会后,说公司准备在柏林组建新部门,问愿不愿意去柏林工作。这个变动有点大,我稍微表现了一点犹豫之后也没了下文,囧。
其实总公司内网也有一个挺大的“求职”平台,有全公司世界各地部门的待招职位,公司也是支持内部换岗的,因为换岗可以给各个部门带来不同领域的知识和经验。我时不时上去逛一下,有一次看到个售后部门的职位,技术方面比较符合,就投了试试看。没几天那个部门的负责人约了个电话面试,说到时他会和两个开发工程师一起来电面。职位说明里所涉及到的技术方向大部分很熟,就是前端部分有个框架没用过,但我前端其它框架做过很多,心想前端框架大多举一反三,没什么大问题,电面之前就没有特别针对性准备。
电面那天在公司提前订了个小会议室,开始了电面。前一刻钟几个人互相介绍以及项目介绍,然后接下来一个小时就是那边两个工程师就开始连珠炮似的发问了,问的都是开发到发布过程里或是用到的框架中非常细的技术点,就是那种一定要近期刚好做过才能快速回答的那种。感觉这两人当时是在部门负责人面前展示毕生所学,顺便烤熟我,结果自然不好。所以大家面试时如果事先告知对方的工程师会参与,要么准备充分,要么好好祈祷别碰到太爱表现的工程师。

05

内部跳槽

过了段时间在公司内网的求职平台发现了一个工业4.0方向的云开发职位,要求的技能和条件都很符合,投了。过了两周这个项目的组长发邮件和我约电面并问如果有时间的话可以直接过去喝喝咖啡聊一下。这封邮件非常凑巧地夹在某个早上的大量的Splunk监控日志报警邮件里,我又非常凑巧地一股脑连同这封邮件全部删了。又过了两周,又收到这个组长的询问,问我对这个职位还有没有兴趣,这才发现前一封邮件,连忙约了个电面,囧。
有朋友说,有时公司内部调岗如果是约你过去聊下,那可能就是不走常规流程(电面+Hr面+技术面),直接聊技术和理想就成了。不过可惜错过了这个机会,只能走常规路线。
电面时和组聊了聊项目和云技术的构架,从SOA到分布式的演变,项目经历等等,聊的比较投契。接着又定了面试时间。面试前一天,收到封邮件,要做一个项目雏形并带过去演示:一个应用,提供Rest接口,可以查询某城市地理坐标,并且可以浏览查询历史记录。
哈,看起来很简单对吧?用Spring或者其它Rest框架一个小时就做出来了。如果你真这么快速做一个简易雏形,那么你就上当了,这种提前告知题目的测试不是限时编程比赛那种求快看结果的比赛,而是检验你对项目构架的理解,检查开发者Code smell,以及延伸出来的一系列知识点。就和这个面试问题类似:在浏览器里输入网址,按下回车后会发生什么?你要是回答:”出现了网页“,那就弱爆了。
花了一晚上做出了demo,项目构架中包含了以下知识点:
  • OOP、DTO若干基础知识
  • Endpoint,Service,Repository分层,以及接口的扩展性,耦合性,微服务构架准备
  • 接口多线程,并发性考虑
  • 数据的保护机制,防注入,防攻击考虑
  • Persistence持久层的耦合性,分页和优化考虑,缓存的扩展
  • 外部服务调用框架的选择,设置,调优,出错处理机制
  • 整个系统的出错处理机制,日志系统,ELK监控框架
  • 单元测试, CI, CD到容器化部署,配置文件
  • 接口文档化准备
当然,以上知识点不可能一晚上全部开发出来,有些你只需把接口预留出来,甚至只需写个fake code或者注释,可以让面试官看到,然后对此提问。没有出现在Demo里的,比如消息队列,缓存机制,服务注册,监控框架等等,心里要准备好应答方案,而且脑子里要有一个清晰的白板结构。
面试那天上半场先是Hr面,部门头和Hr姐姐来了,作为老鸟,那些经典常规职场问题我都懒得事先去准备,大家就拉拉家常。HR问我,问当初为什么选择来德国?一般面试常规回答都是以德吹为主,比如德国产品高质量留下深刻印象啦,德国工业先进啦,大学免学费水平高啦blablabla。
当时不知哪根神经搭错了回答道:“以前很喜欢看二战的电影,所以对德国有了很大兴趣。(潜含义:爱看德国人挨打?)” 说完就在心里后悔,怎么会提到德国人的二战历史这个大禁忌!赶紧扯话题到其它地方。以前面试回答这个问题时,如果无意中提到历史,我会说:“很好奇二战后德国的重建速度,以及工业水平如何重回世界前列,所以来德学习。”  今后Hr面还是必须要提前准备一下,把所有答案在心里过一遍。
下半场技术面,项目组长和项目总构架师参与。流程就是先用白板讲解整个项目结构和技术点,再按对方提的具体问题,对照代码深入更多的细节。整个面试的问题基本上没有跳出我事先准备的范畴,感觉对方还是挺满意的。
两周后拿到Offer,感谢HR没有因为脑抽回答毙掉我。虽然这次属于公司内部换岗,但是工作领域,技术方向,职位都发生了较大变化,且算是跳槽吧。

05

小结

在距上一次跳槽二年多的时间点,开始陆续接受猎头的询问,并自己主动投一些感兴趣的职位。面试的过程既可以了解当前就业市场的价位,又是对自身近两年专业和业务领域知识的一个考核,运气好的话还可以跳槽做更有职业前景的事。
这么看看,除了牺牲了一点追剧和游戏的时间,总体还是利大于弊的嘛,你说呢?

确定不点个赞再走?

本月新闻&文章回顾
可向下滑动

区块链植树项目,真绿化还是割韭菜?

鲜为人知的德国硅谷,与中国联系密切

Zalando上半年成绩喜人

德国首家小米体验店杜塞开业

戴姆勒与中国电池制造商孚能科技达成合作伙伴关系

柏林初创Meditopia靠一个冥想App获1500万美元融资

在德国如何零基础考取ISTQB国际软件测试工程师证书?

居家或共享办公,疫情下西门子实施移动办公

欧洲IT专家联盟呼吁欧洲要建立自己的数字基础构架

FB实习生月薪秒杀大批德国码农

大众每卖一辆电动汽车,就损失5000欧元

德国Wirecard破产,荷兰Adyen笑翻

德国最大的光纤项目开建

智能化才是行业变革下半场的核心

Google与德意志银行将开始十年合作

[Ping在德国第一电商]:BI(数据)分析师

德国生鲜自动售货机,想要颠覆超市?

研究表明,德国政府处理开放数据不太成功

德国最大电商Zalando的老板能赚多少?

亚琛电动车初创Ego停产,进入破产程序

德国数字银行Solarisbank再融6000万欧,想接盘Wirecard客户

想知道Amazon在德国缴多少税吗?

德国做Sales的我教你如何准备德语电话面试
德企面试大揭秘,成败在此一举
码农工作七年后,申请德国半工半读双元制大学
又来?!福特也开始做共享电动滑板车
2020.06新闻&文章回顾
2020.05新闻&文章回顾
2020.04新闻&文章回顾
2020.03新闻&文章回顾
2020.02新闻&文章回顾
2020.01新闻&文章回
点了在看,年薪百万
(0)

相关推荐

  • IT行业跳槽经历,及个人经验总结

    " 此文阅读群针对有IT工作经验的同学, 没有工作经验的你找不到任何心灵鸡汤,可能只有几根鸡骨. 几年前第一次跳槽时, 我的人生目标是三十多岁时,在公司升职到一个小PM或者带几个人.现在我的 ...

  • 人工智能如何开启人力资源新时代?【HRoot独家评论】

    在2016年初那场举世瞩目的围棋大赛中,人工智能系统AlphaGo最终战胜了世界围棋冠军李世石,可以说是为人工智能做了一次全球性的科普.在近日举行的第三届世界互联网大会上,人工智能再次成为最重要的关键 ...

  • 程序员9年工作经验跳槽,经验和总结

    " 此文阅读群针对有五年以上IT工作经验的同学, 没有工作经验的新人,你找不到任何心灵鸡汤,可能只有几根鸡骨." 这是我2016年职业生涯中第二次跳槽的总结,时隔三年后,重新总结整 ...

  • 一位喝醉了的程序员10年工作经验总结。

    讲出了大部分程序员的心声,或多或少都能看到自己的影子. IT圈外的人总认为程序员无所不能,还能拿到丰厚的报酬,羡慕不已,但背后的心酸鲜为人知--

  • 程序员必看的六条经验

    0.过早的优化是万恶之源 在项目早期进行优化,有时候会导致代码难以阅读. 而到了后期,你就会发现之前的优化其实不过是费时费力. 因为作为一名程序员,必须清楚需求是会变化的. 1.写代码的时候总是想象维 ...

  • 学习Python可以从事程序员之外的工作吗?

    python是大家比较熟悉的一门编程语言,在很多人眼中python是转行IT的选择,但是很多人没有从事IT的想法所以觉得没有必要去学习python.其实不做程序员也可以学习python,从事其他的工作 ...

  • 一程序员大哥由于工作经常忽略女友的消息,...

    一程序员大哥由于工作经常忽略女友的消息,最后干脆写了个自动回复的聊天机器人,全天24小时自动回复女友消息[捂脸][捂脸][赞][赞] 长图

  • 程序员如何摆脱工作瓶颈,职场进阶?

    古人说"三十而立,四十不惑"指的是人在三十岁就应该有明确的人生目标和发展方向,四十岁就没什么好疑惑焦虑的了.那么对于程序员来说,想要突破职场的瓶颈,应该怎么做呢? 其中最简单的一条 ...

  • 太真实了...程序员的日常工作是这样的

    太真实了...程序员的日常工作是这样的

  • 12岁女孩零编程经验开发系统千人用,80岁初代程序员300多天打卡学AI

    金磊 梦晨 发自 凹非寺 量子位 报道 | 公众号 QbitAI 纯小白,对AI感兴趣,想学习AI或是尝试做些有趣的小应用,有可能吗? 文科生一枚,自学了Python,但是对AI一无所知,能学深度学习 ...

  • 45年的老程序员分享他的编程经验,与各位共勉!

    一位在软件开发行业兢兢业业工作了 45 年的老程序员,在退休之际,分享了他的一些值得我们借鉴和学习的经验,希望能对各位有所启发. 千万不要被知识蒙蔽双眼 在掌握了一项技术之后,每个人在沾沾自喜之余,很 ...