真的,每次看到招聘软件上那些写得花里胡哨的JD,我就想笑。什么“精通高并发架构”,什么“具备全栈思维”,结果进去一看,就是CRUD boy,天天改bug,还要背锅。今天咱们不整那些虚的,就聊聊这个所谓的软件工程师岗位职责,到底是个什么鬼东西。
我入行这八年,见过太多坑了。刚毕业那会儿,我也天真,觉得写了代码就是改变世界。后来发现,大部分时间是在跟产品经理扯皮,跟测试对线,跟老板解释为什么这个功能做不了。你以为的岗位职责是:架构设计、代码优化、技术攻关。实际上的岗位职责是:需求评审时点头如捣蒜,开发时骂娘,上线前通宵,上线后修bug。
就说我前同事大伟吧,某大厂P6,简历写得那叫一个漂亮。面试的时候,面试官问:“你如何处理线上OOM?”大伟侃侃而谈,GC算法、内存模型一套一套的。结果入职第一个月,因为一个空指针异常,搞挂了半个生产环境。为什么?因为他根本不看日志,光靠猜。这就是很多岗位描述里没写的隐形职责:背锅能力。
再说说薪资。别听那些培训机构吹什么“年薪百万不是梦”。真实情况是,二三线城市,普通软件工程师,月薪八千到一万二,还得看你会不会搞关系。一线城市,稍微有点经验的,税前二十万起步,但那是拿命换的。我有个朋友,在杭州,税前二十五万,看起来不错,但算上加班费,时薪还不如送外卖的。而且,这行有个魔咒,35岁是一道坎。过了35岁,如果你的岗位职责还只是写代码,那你基本就被优化了。这时候,你的岗位职责就变成了:带新人、写文档、搞管理,或者转行卖保险。
避坑指南来了。第一,别信“扁平化管理”。扁平化往往意味着没人管你,也没人给你资源,出了事你自己扛。第二,警惕“弹性工作制”。弹性工作制的弹性,通常是指你下班时间弹性,上班时间是固定的。第三,面试时多问技术栈。如果对方说“我们什么技术都用”,那大概率是啥都不精,全是外包项目拼凑起来的屎山代码。
我还想吐槽一点,很多公司招软件工程师,岗位职责里写着“抗压能力强”。翻译过来就是:经常加班,而且不给加班费。我见过最离谱的一个JD,写着“热爱开源”,结果进去后发现,公司连GitHub账号都没给开,所有代码都在内网SVN上,还禁止外传。这种公司,趁早跑。
真实案例,我自己。去年跳槽,新公司JD写得很好,什么“技术驱动业务”,“鼓励创新”。入职后才发现,所谓的创新,就是让我在一个五年前的老系统上加个按钮。那个老系统,代码乱得像一锅粥,没人敢动,因为不知道动了哪里会崩。我每天的工作,就是小心翼翼地在这个屎山上雕花。产品经理今天说加个功能,明天说改个样式,后天说逻辑不对。我改代码的速度,根本跟不上他们变卦的速度。最后,项目延期,我被骂,产品被骂,老板说大家不够努力。
所以,软件工程师岗位职责,核心就三点:活下去,别背锅,攒够钱跑路。别指望什么改变世界,先改变自己的钱包吧。这行水太深,别轻易下水,除非你做好了被淹死的准备。
最后说一句,如果你看到JD里写着“我们需要你具备极强的自驱力”,赶紧撤。自驱力强的结果,就是你自己给自己加压,免费加班,还觉得是福报。这种公司,不去也罢。
记住,代码是冷的,但人心是热的,别被那些冷冰冰的JD骗了。真正的软件工程师,是在无数个深夜里,对着屏幕发呆,思考人生,然后第二天继续改bug的那群人。这才是真实。