今天是国庆结束上班的第一天。
别人都在总结假期去了哪里,吃了什么,见了什么人。
我不一样。
我认真思考了一下自己这几年到底学到了什么,最后得出了一个比较悲观的结论:
人还是应该有点自己的东西。
比如一点判断力,一点原则,一点技术追求,以及一点点不那么听话的精神。
因为如果这些东西都没有了,人确实可以活得轻松很多。
老板说什么就是对的。
公司让做什么就做什么。
昨天说自动化重要,今天自动化不重要,那就把自动化删了。
上午说质量第一,下午说成本第一,那就下午开始解释为什么质量其实没有那么重要。
如果再高级一点,甚至可以做到:
老板说 A,我就坚信 A;老板换了,我马上发现原来 B 才是真理。
这时候确实就不会焦虑了。
因为一个没有观点的人,自然也不会因为观点发生变化而焦虑。
我的方法和很多人可能不太一样。
别人解决焦虑的方法是:
想开一点。
我的方法是:
多想一点。
公司突然开始降本增效,我会想:
为什么?
这个决策解决的到底是什么问题?
成本从哪里降?
质量风险由谁承担?
短期收益和长期成本怎么算?
如果测试人员减少了,原来的验证工作去哪了?
如果自动化测试被砍掉了,回归成本谁承担?
如果质量标准降低了,线上问题增加以后,谁来处理?
这些问题想得越多,人就越焦虑。
所以后来我也明白了。
真正让人快乐的方法,就是不要思考。
公司说 “降本增效”,你就说:
“老板英明。”
公司说 “测试转研发”,你就说:
“行业趋势。”
公司说 “以后不用测试了”,你就说:
“质量内建。”
公司说 “自动化没必要了”,你就说:
“回归开发。”
然后下班。
多么简单。
我觉得挺重要。
当然,我说的不是那种哲学意义上的 “对错”。
我说的是工作里最基本的东西:
这个东西到底有没有问题。
比如:
接口传一个不存在的组织 ID,却能成功创建用户。
有人说:
“没关系,老板又没要求这个场景。”
我说:
“可是这是个漏洞。”
有人说:
“客户暂时不会这么操作。”
我说:
“可是系统允许这么操作。”
有人说:
“先上线再说。”
我说:
“那至少把风险记录下来。”
有人说:
“别太较真。”
我说:
“那测试到底是干什么的?”
这时候你就会发现一个很有意思的事情。
测试这个职业,本身就是一个非常容易和 “不重要的对错” 打交道的职业。
因为如果所有事情都只看老板怎么想,那测试其实非常简单。
老板说没问题:
没问题。
老板说有问题:
有问题。
老板说这个 bug 不修:
这个不是 bug。
老板说这个 bug 很严重:
这是 P0。
自动化也不用写了。
测试用例也不用设计了。
需求评审也不用参加了。
甚至测试报告都可以改成一句:
“经领导确认,系统质量符合预期。”
这才是真正意义上的降本增效。
这一点我倒是非常赞同。
技术确实不应该有洁癖。
但是我理解的 “没有技术洁癖”,和 “什么都可以” 还是有一点区别。
比如:
Python 能做,就用 Python。
Java 能做,就用 Java。
接口能自动化,就自动化。
不能自动化,就人工测。
UI 能测,不代表所有东西都要 UI 自动化。
AI 能帮忙写代码,就让 AI 写。
AI 写错了,就改。
这些都没问题。
真正的技术洁癖,是为了证明自己懂技术,而不是为了把问题解决掉。
但另一种极端也很有意思:
“这个技术现在不火,所以不要学。”
“这个工具不能涨薪,所以没必要研究。”
“这个东西老板不知道,所以不用做。”
“这个项目没有 KPI,所以不用投入。”
那技术就彻底变成了股票。
今天涨的是 Selenium,赶紧学 Selenium。
明天涨的是 AI Agent,赶紧转 Agent。
后天 MCP 火了,赶紧研究 MCP。
再过半年不知道什么东西火了,再赶紧研究下一个。
最后简历可能非常精彩:
Selenium
Appium
JMeter
Docker
Kubernetes
AI
Agent
MCP
RAG
LLM
云原生
……
面试官问:
“你这些东西实际解决过什么问题?”
然后沉默。
所以我觉得:
技术可以实用主义,但不能只有实用主义。
否则最后剩下的不是技术,而是一张不断更新的关键词表。
有一种观点让我印象非常深。
大概意思是:
真正厉害的人,可以上午反对一个事情,下午因为老板不同意自己的观点,又立刻开始推动这个事情。
不得不说。
这确实是一种能力。
而且是一种非常稀缺的能力。
我做不到。
如果上午我告诉团队:
“这个方案风险很大,我们不应该做。”
下午老板告诉我:
“这个方案必须做。”
我大概率会变成:
“好的,我把风险整理一下。”
然后继续做。
但我不会在下午突然变成:
“这个方案非常先进,是我们未来发展的重要战略方向。”
因为我上午说的风险不会因为老板下午说了一句话就消失。
这可能就是我的问题。
我还有一点点记忆力。
成熟的职场人应该知道:
什么话该说。
什么话不该说。
什么时候坚持。
什么时候闭嘴。
什么时候推进。
什么时候装作没看见。
什么时候应该说:
“这个需求确实有风险。”
什么时候应该说:
“这个风险我们可以接受。”
什么时候应该说:
“这个问题我已经反馈过了。”
什么时候应该说:
“这个不是问题。”
而我这种人最大的问题,就是偶尔会问一句:
“为什么?”
为什么一定要这么做?
为什么这个数据不校验?
为什么这个权限可以绕过?
为什么这个接口不需要鉴权?
为什么这个测试不能做?
为什么这个问题可以接受?
为什么?
为什么?
为什么?
问多了以后就会发现:
很多事情其实没有答案。
它可能只是:
老板这么决定的。
项目这么安排的。
时间不够。
资源不够。
预算不够。
或者:
“以前一直这么做。”
于是我终于明白了。
职场最大的敌人不是焦虑。
是好奇心。
如果让我重新选择,我可能还是会选择做测试。
不是因为测试一定有前途。
也不是因为测试一定不会被替代。
更不是因为测试一定比开发重要。
恰恰相反。
我觉得测试这个职业最大的价值之一,就是让自己不断面对一个很讨厌的问题:
“这个东西真的靠谱吗?”
一个接口返回 200,不代表功能正确。
一个页面能打开,不代表业务正确。
自动化全部通过,不代表系统没有问题。
测试覆盖率 90%,不代表剩下 10% 不重要。
AI 生成了一万个测试用例,也不代表它理解了产品。
监控没有报警,也不代表线上没有风险。
所以我觉得测试最有意思的地方,从来不是:
“我证明了系统没问题。”
而是:
“我试着证明它有问题。”
而且真的找到问题以后,还要想办法让别人愿意面对这个问题。
这件事有时候非常讨厌。
但至少我觉得,它有意义。
说了这么多,最后还是要搞钱。
毕竟房贷不会因为你有质量理想就消失。
工资也不会因为你坚持原则就自动上涨。
所以我并不是反对搞钱。
我只是觉得:
搞钱和有原则并不冲突。
可以研究有前景的技术。
可以考虑行业趋势。
可以接受公司业务变化。
可以接受项目调整。
可以接受自己某些时候判断错了。
但至少应该保留一点东西:
知道自己为什么这么做。
知道什么时候应该妥协。
也知道什么时候不能妥协。
知道什么是自己的选择。
也知道什么只是别人给自己的选择。
如果有一天公司告诉我:
“以后测试不需要了。”
我可以接受。
如果公司告诉我:
“自动化全部取消。”
我也可以接受。
如果公司告诉我:
“以后全部手工测试。”
我还是可以接受。
但我至少会问一句:
“为什么?”
如果答案合理,那就干。
如果答案不合理,那就继续讨论。
实在讨论不了,那就挣钱。
挣不到钱,那就换地方挣钱。
地方也找不到,那就再想办法。
但我不太想把自己训练成一种:
谁发工资,谁就决定我认为太阳从哪里升起。
因为这样确实不焦虑。
但我总觉得:
这种 “不焦虑”,可能和真正的从容,不是一回事。
人到一定年纪,确实应该学会接受很多事情。
接受行业变化。
接受公司变化。
接受技术变化。
接受自己会被淘汰。
甚至接受自己有一天不得不重新开始。
但我觉得有一件事情不应该太早接受:
接受自己什么都不需要判断。
因为如果连 “我到底觉得对不对” 都不重要了,
那最后留下来的可能确实只有一个优点:
特别好管理。
而这,大概也是一种非常稳定的职业竞争力吧。