写在前面

毕业了,进入了现在的这家自动驾驶公司,担任Routing算法工程师,说是算法,不过是基于策略的C++,因此这个方向给我带来了很多困扰和忧虑。

一方面担心自己未来的再就业情况,一方面又悔不当初,总觉得当初应该选择华为,进入更大的公司或是更好的选择。

但是站在去年offer选择的档口,如果时间倒流,让我再做一次选择的话,那估计还是会做同样的选择。

原因如下:

  • 自动驾驶是风口
  • 元戎给的offer是算法岗,不过当时对这个岗位的了解还是太少
  • 基于工资考虑,元戎的Base = 华为n + 10K
  • 基于加班的考虑,当时听闻元戎不加班,975,后来量产开始就不再是这个强度了,只能说强度很大

站在现在的这个时间点,确实会有些后悔当初的决定,一是放弃了华为这个平台,二是觉得当下的方向不甚满意,最近一直处于没有意义的精神内耗之中,无法自拔。

研究生三年总结

从当初放弃报考软件所开始,就一直在妥协:

  • 为了上岸,报考了空间中心;
  • 为了显示自己的“忠心”,放弃纯粹计算机的研究;
  • 为了找到工作,开始做嵌入式的学习,事实证明自己并没有那么喜欢做嵌入式;
  • 为了钱,放弃了华为的平台,甚至于北京户口
  • ……

可能还有很多,没办法一一列清,站在如今的时间看,那些事情当初根本没有办法避免。

我至今觉得自己没有做错的一件事情,就是更换导师,才有了后来的那些事情,遇到了两个好的导师,帮助我顺利毕业,拿到了还不错的offer。

研究生生活的三年时间,得到的经验和教训如下:

  • 不要试图用表“忠心”的方式,拿到进入一个圈子的入场券,事实证明那个圈子不适合自己,并且无法融入,那是“乌合之众”的选择
  • 不要放弃自己想做的事情,就像后来能拿到华为的操作系统开发的offer,那也是自己努力的成果,但是后来放弃,更多考虑到了money
  • 不要一直畏畏缩缩,不要内耗,没有任何意义,想做的事情就去做,年轻就是最大的优势
  • 做事不要举棋不定,要下定决心,一往无前,因为没有一个人能预知未来
  • 凡事预则立,不预则废,要提前规划好,不要犯懒,避免再有之前小论文的情况发生
  • ……

研究生生活的三年,觉得自己做的正确的事情是:

  • 潜心钻研,即便自己不想做的方向,也能做出一点微薄的成果
  • 没有放弃自己的想法,找工作的时候还是按照自己的想法找到了一些不错的工作
  • 克服各种困难,迎难而上
  • 在没有前辈条件的情况下,自己摸索,最终走完整个研究生的时光

回望过去的三年时间,有好有坏,不过最后的结局不算很差。

直到现在

现在自己焦虑的主要有两个点,一是在怀疑当初自己的选择是否正确,毫无疑问,站在当初的那个时间节点,你依然会这么选;第二点,是选择了如今这个方向,今后将何去何从?

目前的工作存在的问题主要有以下几个方面:

  • 虽然routing本身是一个比较复杂的模块,但是大部分工作都已经由前人完成,目前我们需要做的就是优化bad case
  • 所用技术栈几乎没有,不涉及其他复杂的模块开发,主要是C++的策略代码,这一点在找其他工作时会是一个硬伤
  • 名义上是算法开发,其实实际工作很难遇到复杂的算法设计,对自身能力提高帮助有限
  • 虽然有模型部署的相关工作,但是这块的工作不由自己负责,无法做有技术含量的工作

所以现在需要做的事情就是理清思路,而不是天天焦虑,精神内耗,毫无意义。

针对目前的情况,需要做出如下的假设:

  • 假如公司不再需要这么多做策略的工程师,那么我能做什么?
  • 假如真的被公司优化,我能去哪里?

所以应对的策略如下:

  • 以目前的方向为支点,不断向外拓展,不设技术边界
  • 如果在元戎能有进一步的发展,那么就可以继续做下去,比如晋级,又比如去做模型方向
  • 如果继续发展无望,那么就要随时有应对危机的能力,在公司优化自己前优化掉公司
  • 如果优化掉公司后,就要以最多一个公司为跳板,进入一家大公司、大平台

最好能在元戎苟过两年,用两年的时间,做下面的这些事情:

  • 力扣:medium秒出思路,hard思考后可以实现,专精
  • C++:基础、底层、优化、库等要有清晰的认知,专精
  • Linux:API、内核设计需要熟悉
  • 计算机基础:操作系统、网络、CSAPP要完全熟悉
  • 潮流:深度学习算法、大模型算法等熟悉
  • 项目:
    • local routing,完全掌握
    • appolo routing&planning
    • level db
    • 参与其他开源项目
  • 若继续在智驾行业发展(元戎有机会)
    • 模型、规划方向:规划算法、大模型等
  • 若跳出自动驾驶行业–>后端开发
    • 后端开发技术栈:rpc、redis、mysql、
  • 开源项目Owner,至少1K star

大多数情况下,决定一个人能走多远的,是他自己的品质和能力,而不是他上了哪一班的车。如果自己的品质和能力不变,就算重来了一次,换一班车,可能最后还是会到达同样的地方。

既然上了车,到了站,接下来就要把心思放在看风景上,而不是总想着上另外一班车,看到是否会有不同的风景。

我时常在想人怎样才能过好这一生,前路茫茫,没有任何人能够预知,唯一能够做的就是:

往前走,去闯;别灰心,继续闯;随缘,别后悔。

后记

技术栈掌握情况,满分10

类型 分数 要求
算法能力 1 专精
Coding能力 1 专精
项目能力 1 专精
前沿技能 0 熟悉