非科班转码第5年零241天
第一份工作
2019年5月24日,我从机械工程转码后找到第一份工作——图像算法工程师,能得到这份工作纯属偶然,当时公司的图像算法工程师刚好要离职,小城市没什么人,我那会学了一个月Java,又学了一个星期的Python,正愁没有回应,这家公司给了我面试机会,面试前的一个星期,我又恶补了OpenCV和深度学习相关的知识,这才让我混了进去。
鸭梨山大
进去后压力挺大,很多东西都不懂,几乎每天都在百度(那时还没GPT),比如CUDA/CUDNN怎么安装之类,那时我还不会C语言(准确来说是指针那块不明白),看不懂框架代码,框架叫做Darknet,是用C++写的,更懵逼了。但是其他任务倒是还能应对,比如用Python脚本做一些图像前处理、后处理,做一些数据标注、训练、部署之类的。
同事的帮助
后来大约过了一年,部门来了一位新同事,新同事刚从华为离职,在他的帮助下,我把C语言指针那块弄明白了,后来我有什么不懂的就问他,他帮我把编译原理教会了,还有一些比如数据结构与算法、gdb怎么debug之类的问题,以及一些网络通信相关的问题(在那之前,网络通信对我来说是十分神秘的,诸如三次握手四次挥手诸如此类概念)。在新同事的帮助下,我逐渐跳出了“黑箱思维”,知道程序是怎样一步一步运行起来的。
第二份工作
两年后,由于公司的资金链断裂,没有办法发出工资,我去到一家深圳的公司,并且一直工作到现在。新公司是一家大公司旗下的分公司,薪资给的还可以,工作压力一开始还是十分大的,几乎每天都要加班,不过也并非强制,后来我发现晚上加班也没什么效率,就不加班了,改成每天上自习室学英语。新公司十分磨练人,经常要开发新功能新需求,因为公司有CV工程师,我也没有再负责那块,变成了开发,因为公司没有运维,又兼着当了运维。
新公司学到很多
在深圳的新公司学到了很多,在上家公司没有怎么用C语言开发,进入新公司也开始用起来了,然后学了FFmpeg编解码,学了C++,用C++做了不少开发,后面又学了MySQL数据库,学了RS485、ModbusRTU等串口通信,学了RUST不过还没用来做过项目。运维方面学了Shell编程,Docker、K8S等,公司项目的部署基本都靠自己完成,写了不少自动化脚本(感觉做了不少Dirty Works,因为运维有时真的太费时间了,严重影响摸鱼,而且那个Shell脚本语法绝对不是人写的,我经常写着写着就难受香菇,不过后来有了GPT帮写就好多了)。因为最近大模型挺火,又开始研究怎样调用大模型API,构建聊天对话机器人。在上家公司学过前端的HTML、CSS,最近又想把前端捡起来,学个React,这样就差不多能做全栈工作了。
出海计划
在最近一年里,一直想着怎么能出海找份工作。一方面觉得薪资高一些外,觉得外面没有那么卷,也能应对35岁危机,总之机遇与风险并存吧,这段时间我除了熟悉各国工签政策外,一直在努力提升自己的英语,每天晚上下班后就钻到自习室里。去年国庆假期还专门跑了趟国外,锻炼了一下自己的英语,这条路没有想象中的那么简单,需要付出很多,等我出海成功,再给大家分享吧。