本文最近一次更新于 1 年 3 个月前,其中的内容很可能已经有所发展或是发生改变。
我曾在离开上家公司时做过总结,离职的原因肯定是公司有些毛病你无法忍受却又无力改变,如今看来,这句话多少有些片面:因为我所在的部门同事和领导关系融洽、工作氛围还算轻松,可我依然决定了离开。这倒不是说公司没有毛病,只是说毛病还没有到让我无法忍受的地步,相比于有同事打小报告、工作氛围卷得要死的前公司来说,简直是小巫见大巫。
而今,促使我决定离开的最重要原因则是工作内容:我已经无法对目前的工作内容提起兴趣了、甚至还感到了一丝厌恶。我在之前的文章多少提到过一些,现在我既已选择离开,倒可以好好说一下了。我会按照时间的顺序讲述我入职的三年的经历以及我心态上的变化。避免隐私泄漏,我会在叙述时故意模糊一些关键细节。
简单介绍一下,我们产品的定位是对企业的流量进行检测和分析,结合云端的情报与本地的算法模型,定位企业网络内存在的各种威胁。
入职前
我在离开上家公司后思考自己的职业规划时,曾在博客的关于页面写下:现在的理想是做一些真正为人所需要的软件或者产品,让人们的生活可以更舒心、高效,也借此来满足我内心的满足感。因此当时在论坛上看到部门招聘的帖子时,我就动心了,面试时进一步了解到部门正是因为觉得当时的安全产品都同质化严重,想做出一款市场真正需要的安全产品,这正和我的未来职业规划不谋而合,于是我抱着很大的期待,加入了当前部门。
理想的状态
入职以来的 10 个月是我梦想的工作状态,也就是到 2021 年六月截止,我曾不止一次的怀念这段时光。我在这期间的工作很纯粹:只是做产品的研发,这也是我最享受的一段时光,我像海绵一样疯狂地吸收在这段时间里我接触到的知识,并将它们应用到产品里。包括学习 GraphQL,并对 Dataloader 异步改造、学习基于三重指数平滑方法,并设计异常流量监测系统等等。
这期间学到的知识大多数都是我之前没有听过的,不过我本身就是十分乐于研究学习的,何况这也能够拓宽我的知识面,让知识体系更加完整,本质上也是我自己受益。虽然我那段时间还是按时下班,不过回到家后我也会继续研究工作上的东西。虽然有些累、但是我非常满足。
这里也挺感谢当时领导的支持。
过渡
在产品本身的主体功能开发完成后,我接下了另一项重担——产品的部署工作:即如何把各个组件用自动化的方式在一台裸机上安装并运行。最终我花了两个月的时间敲定使用 Kickstart + Ansible 的方式来完成产品的部署工作。我将这两个月定义为理想到现实的过渡阶段。
这期间我遇到了很多问题:包括对 Ansible 的不熟悉、U 盘引导怎么都无法识别 Kickstart 文件、不同硬件的设备兼容性考虑等等。我在这期间的工作与其说是一名开发,到不如说是一名运维。当然我对运维工作倒没有什么偏见,我最终还是完美地完成了这项任务。
只是,我没想到产品部署这件事情所带来的影响,会超乎我的想象。
平台期
2021 年九月底,产品正式发布,我也步入了为期 1 年的平台期。由于产品的部署都是由我主导的,因此每一个申请试用产品的客户,都需要我来负责产品在客户提供的设备上的部署工作。这其实是一件很费力的事情,这也是我对工作内容感到厌恶的开始:
- 客户提供的设备配置大相径庭,有的设备配置很差,我提前让销售告知了客户大概率是无法成功部署的,不过客户还是坚持试试;
- 因为疫情的原因,出差是很难的(我更讨厌出差),因此公司会派客户所在地的实施人员去客户的现场,然后由我来远程指导他怎么做,而实施人员大部分的计算机基础都很差,而且大部分的客户机房管理都比较严格,只能用手机拍电脑屏幕,然后得到答案后再输入电脑,沟通、解决问题的成本非常高;
- 客户公司不让联网,必须让我们的产品在离线状态下运行;这一点在很多银行或者国企是普遍存在的,但是我就感到很奇怪,断网的情况下用我们产品的意义显然是不大的。而且产品的设计之初就是需要结合云端情报分析,所以为了挽留住客户又不得不针对离线情况做移植。也就是从这开始,让我觉得似乎和我职业规划的目标有些出入了。
你可能注意到了,这三个问题都是由客户方带来的。这也是我认为目前 toB 的网络安全行业的困境:
行业的困境
在这个行业里,网络安全公司就是典型的吃力不讨好,企业客户就是又吃又拿:我们这边出人(开发、实施、销售、项目经理)又出力,客户那边提供个机器就行(有时甚至连机器都需要我们提供),使用几个月之后还不买,摆明了就是想白嫖,但是又不得不维系客户关系。所以你很难能见到赚钱的网络安全公司,基本都是营收越高,亏的越多。
中国的网络安全行业其实是一个「畸形」发展的行业,因为这个行业的需求并不是由市场决定的,而是很大程度上由那句「没有网络安全就没有国家安全」的话创造出来的。所以这个行业 99% 的客户都是国企或事业单位,为了要响应国家的号召,从而购买一些安全产品,至于有没有用——who cares。网络都物理隔离了,还有比这更安全的方法吗?
中国的非国企单位就没有网络安全的需求吗?当然有,而且这些公司大多是真正的有这方面的需求,但是这些公司不会选择用其他的公司开发的安全产品,因为使用了安全产品反而引入了不安定因素,不安定因素来自安全产品本身可能存在的漏洞,以及与现有架构集成后系统复杂度增加的风险,所以通常自己来做解决方案,自然也不是 toB 网络安全公司的目标客户了。
心态的变化
如今回想看来,自进入平台期开始,我的心态就已经出现了变化,只是这当时心态的变化并没有被我所察觉,却也潜移默化影响到了其他的地方。比如,我在 2021 年九月到 2022 年九月,只写了 2 篇博客,因为工作上的焦头烂额已经侵入了我的正常生活,下班后我只想着放松(甚至捡起了我许久没碰过的网络小说),对学习提不起兴趣了。
这一年里我也并非没有想过解决这个问题,我在 2022 年新年时就和领导提过,我不喜欢目前的工作内容,第一次提时,可能是因为我措辞比较委婉,领导没有太在乎以为我只是发牢骚;直到过了两三个月我再次提起时,领导才重视起来,开始让我把部署相关的事情给公司的安服团队以及另一位同事分担。一开始我确实以为这样能解决这个问题,后来发现是我想的简单了。
在平台期里,我们不到几个月的时间又发布了新产品。很奇怪对吧,上一个产品发布才不到半年,怎么又开始了发布新的产品,当时的我们也都很奇怪。领导是这么解释的:市场部的同事研究发现,现在的安全市场对某方面有很强的需求,于是我们做出一款产品专门抢占这部分市场。也就是说新产品完全是为了「迎合市场」来做出来的,考虑到埋头苦干两年多的产品因为对市场需求的错误判断导致销量惨淡,那么新产品肯定能一举挽回销量的颓势……吗?
不过在新产品开发的阶段,我也的确短暂地找回了刚入职时的感觉,不过没多久又回到了这种状态中,我才知道,有些事情是没办法的。
焦头烂额的事情还包括产品运行时 bug 的定位与排查,网络安全产品的核心流程其实差不多:无非是监听流量、解析流量并入库、匹配情报、产生告警。在客户环境里,表面现象往往都是无法产生告警,但是深层次的原因是因为情报还是解析流量的问题,还是需要由「我」来排查,因为我主导了产品的部署,最熟悉产品各个组件的作用。由我定位到问题后,再找组件具体的开发人员解决。
所以我说,有些事情是没办法的。
动荡期
紧接着平台期,在 2022 年九月,公司的组织架构进行了剧烈的调整,字面意义上进入了动荡期。当时正在和我对接部署工作的安服团队,被一锅端了,不过还好当时的部署工作已经基本上都交给同事了,只有在问题排查的时候才需要我来处理。之后没过多久,我们小组就被裁了一个,当时剩下的我们都处于一种因为动荡衍生出的不安状态,做事肯定是没心思了,整天担心自己会不会被裁。
浑浑噩噩地过了两个月,到了年底时,领导居然还没有沟通绩效。于是脉脉上也开始有人爆料出今年不发年终奖了,可毕竟也只是爆料,这时,最应该出来稳定人心的时候,公司却选择了任风言风语愈演愈烈。
年后,部门裁员了一批后,相比去年打对折还要少的年终奖终于到手。紧接着公司又开始了一批批的裁员,而我,也在这时最终决定了离开。
在这之后,我开始慢慢理解了:
一个人的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程社会整体经济处于下行时,个人的力量是非常渺小的,公司的一轮又一轮裁员只是一个小的缩影,没有人能独善其身。
无奈
世事无常,难免无奈。我不愿再陷入这双重情绪的挤压之中了:一方面是公司动荡的不确定性;另一方面是对工作内容的不喜。因此,就算同事关系再融洽、氛围再轻松(现在其实也不存在什么氛围了,部门裁得只剩下一小半了),我也唯有选择离开了。
在公司的三年时光,给我的感觉和念书时很类似:第一年是雄心壮志,第二年是平淡无奇到乏味再到反感,第三年则是无奈、不安,快离开时则是怀念,我也的确从这份工作学到了很多东西。这次离职,没有不忿,只有不舍,毕竟我所不喜的工作内容领导已经尽力帮我摆脱了,只是无法全部摆脱,我想究其原因是身在 toB 的网络安全行业,下份工作我会考虑换个行业试试。
很幸运与部门同事一起度过三年的时光,我会永远怀念这段职业生涯。
前路漫漫亦灿烂,往事堪堪亦波澜,江湖相见。