返回博客列表
2026年09月13日
10 min read

26届毕业生半年网络安全入行的复盘

从几乎不懂网络安全,到半年后逐渐摸到门槛。回头复盘这段经历,我总结了几条快速进入陌生领域的模式

今天三月份从上一家公司离开,来到了绿盟,在此之前,我基本没接触过网络安全,唯一听过的就是SQL注入,经过半年的摸爬滚打,对基本概念有了更清晰直观的认识,也算是够到门槛了。

回过头来,站在更高的视角来对这个过程进行复盘,提炼经验和进入新领域的学习模式,指导以后的工作实践,我认为这是很有必要的。

毕竟是站在更高的视角回看,不能以一种站着说话不腰疼的方式对当时已经尽力去学习的自己进行过多的指摘,更多的是汲取经验,让自己后面在遇到相似的情况,比如:后续在进入其他细分领域的时候,可以复用这一套模式,指引自己快速入行。

先见森林,再见树木

首先,当时进组的时候,面对庞大的代码库,项目是微服务架构,分了十几个仓库,根本不知道如何下手,模块之间的关系是什么,怎么运作的,尽管我一直在提醒自己先见森林,再见树木,在一定程度上还是被困在了代码细节中。对于刚上手组内项目的新人来说,我现在建议的方式是先去把系统完整的操作一遍,因为系统就是这些代码拼凑运行的结果,刚开始需要搞明白的是这个系统是什么,用来干什么事情,解决什么问题。这样,你就站在了一个更高的全局视角来俯瞰,并且可以直观的明白操作和运行逻辑,这反而会让你后续在理解代码的过程中更加的清晰,这样做的另一个好处就是,你可以更快的理解你所在组的产品,这个产品想要解决什么问题,这里自然的引出第二个复盘的点。

第二点就是明白产品想要解决的问题、达成的目标,这个战略目标是非常重要的,因为实现这个战略目标有很多不同的战术,也就是不同的代码实现方式,你要研究的不完全是现有的战术是怎么实现的,因为有很大的可能当前的战术实现不是最优或者说最合适的,相反,你如果直接钻入代码,你就会丢失这种全局视野,误以为当前的代码实现是唯一的方式,而不知道要解决什么问题,有没有更好的方案。

和同事建立联系

上面两点是从自身出发,除了自己之外,更好的方式就是和组内的其他同事交流,有很多你困惑的地方,你自己研究半天,不如他一句话的解释来的通透,在可能的情况下,主动向组内老同事询问,你不光能理解代码层面的问题,你还可能收获这个系统的来龙去脉,比如说,我们组现在做的这个东西原本是其他组完成了一部分,由于其他因素,现在是我们负责做起来,这些东西是其他同事心里默认的共识,但是对于刚来的新人来说,完全是一脸茫然。

和同事交流几乎可以当做最重要的事情展开,更好的融入团队,了解到更多信息,不仅仅是代码上的这点事情。关于怎么和同事展开交流,我有下面几个心得体会:

1、工作中途大家可能坐久了腰疼,会出去稍微溜达一会,你可以大致观察是什么时间,在路上偶遇几次,说说话,慢慢就熟悉了

2、刚进组,可能面临着没事情干的局面,刚开始可能领导不清楚给你分配什么任务,因为不知道你会什么,你要保持主动,可以询问组内其他同事现在有哪些可以帮忙的,这时候你就可以去询问你感兴趣模块的负责人,看看有没有能帮忙做的,这既是你展现能力的机会,也是你取得别人信任的好机会。

3、当别人有需要帮助的时候,主动提供帮助,工作一段时间之后(大约2-3月),你对一些事情比较熟悉,其他同事需要帮忙,主动提供帮助,并且尽可能的在不经意间帮助别人,这对我们百利无一害,在你后面需要其他模块同事协作的时候,你就会感谢当初对别人的善意。

4、站在更高的视角,不要过多的纠结于个人的得失,当你帮助别人做的事情,被领导误以为是被你帮助的那个人做的事情,如果是小事,不必计较,被帮的同事心里是有数的,大家是一个团队,我们做的就是让团队变得更好,让团队赢,后续在你遇到问题的时候,这个同事大概率会帮你解决问题。存人失地,人地皆存,存地失人,人地皆失。你和同事之间关系的加深,远远比是谁解决的那个小问题更加珍贵。这里也要辩证的看这件事,如果别人不领情,另当别论。

借助AI,帮助自己快速扫盲

讲完了人的因素,下面讲讲技术方面,怎么让自己尽可能快的入行

我们在事后复盘的时候,总是免不了马后炮,我们不能假设当时的自己是现在这样认知,对于很多事情,我们就是需要不断摸索,因为未知就像是迷雾一样,你没法问出你不知道你不知道的问题,也可能是你知道你不知道,你虽然可以保持主动,但是想要突破这层未知迷雾还是相当困难。这里主要想复盘的就是,怎么尽快的突破这层未知迷雾,尽快的把散乱的认知织成网,对行业有个基本认知。

我们组的产品是做渗透测试的,我开始对渗透测试的整个流程完全不清楚,领导让我对一个IP进行渗透测试,我压根不知道怎么操作,直接把任务下到了web渗透测试,导致测了个寂寞,很多时候就是这样,我们只能遇到问题之后,发现自己不了解,这就是一个很好的信号,你需要去了解什么是主机渗透测试,什么是web渗透测试,这两种渗透的区别是什么,流程是什么。

现在站在了更高的视角来看,后面在接触某个行业的时候,就拿渗透测试举例吧,这时候就可以去找AI扫盲,可以问下面几个问题,我尽可能做的通用一些

1、我是新手小白,给我讲讲什么是渗透测试(建立感性的认知)

2、传统方案是怎么做渗透测试的,有哪些常用工具,现在又是怎么做的(了解过往怎么做,使用什么工具,这些工具可能现在还在使用,避免后面同事说到某个工具的时候,你压根不知道是干嘛的,这里也只是尽可能的扫盲,后面遇到不知道的,现查就可以)

3、除了上面提到的这些,你认为有哪些是行业内很重要的概念或者共识你上面没有提到的,以及有哪些你认为是新手在开始阶段必须知道的,你要尽可能的帮助我扫盲,理解渗透测试发展,渗透测试常用技术,渗透测试流程,你要主动的帮助我(很多时候,我们没法问出我们不知道的问题,这时候借助AI来尽可能的扩大认知范围)

4、当前渗透测试发展方向是什么,有哪些值得推荐的开源项目(除了上面的基本概念,明白当前的技术方向,和直接上手使用开源项目是建立直观认识很好的方式)

把上面的“渗透测试”换成其他行业也是通用的,并且结合你自己的经验,让AI更好的帮助你。

干不好,我还干不坏吗

这几个月来,我还并没有深入到某个模块中,有时会发现一些问题,帮忙进行修复,从一定程度上来说,我其实不太敢直接在别人写好的基础上面修复或者新增功能,作为一个刚毕业的新人,我对自己的能力并没有多少信心,面对工作多年的老手,感觉自己现在没法追上他们,害怕犯错,迟迟不敢行动。

相反,越是这样,我越没有办法更加深入的理解,因为有些事情是越做越清楚,越做越发现并没有想象中的那么高不可攀,我们需要在实干中打破那层滤镜,大胆的去做,做不好,还做不坏吗,况且公司开发中是区分开发环境和测试环境,代码写完通过测试用例后自己可以在开发环境进行实际的功能验证,有问题继续修复,实在不行回退一下就是了,刚上手的时候尽可能快的突破这个僵直、不敢动的时期,我也在不断的鼓励自己勇敢去做,不要因为身边都是经验丰富的同事,而不敢做。就像库里一样,就算前面9球都投不进,你觉得第十球他不敢投吗,你不投的话永远都没有机会投进。库里赛后说自己的心态就是:Keep shooting. Very simple.

好了,上面就是我这半年工作的复盘,我不光希望它对我有用,也希望能够帮到你。

推荐阅读

发表评论

欢迎留下你的想法和见解,使用 GitHub 账号登录即可参与讨论