我的5年程序员职业生涯

时间:2021-12-12 11:52:54

    上学比别人稍晚一年,再加上上学期间的留级,我25岁大学毕业,今年30岁,正好工作5年有余.这期间换了4份工作,目前还在第四家公司上班.

    大四下学期,来北京学了一个为期5个月的嵌入式开发培训,学的是Linux系统开发, 主打Linux下C的开发.当时学得很认真,找一份工作还不是问题.毕业后来北京,一个星期连续面试了7家公司,最后在清华园里找了第一份工作,薪水5K, 前两个月发的是现金,记得第一次拿了4k现金在卫生间里输了几遍,感觉很高兴.还是谈谈技术吧,刚毕业加上技术底子薄,这个不得不承认;虽然,参加了一个培训,敲了近2万行的代码,对于Linux和C的熟悉还是比较少的.后来发现,更多的知识和对之前学过的知识的进一步深入还是在后面的工作学习中完成的.所以,第一份工作不是很多,多数是熟悉别人的代码,做一些测试和类似文案的工作,比如写写招标书啥的.我的大部分时间是空余,还好,我当时没有无所事事.我当时意识到自己的底子薄和了解的东西太少,所以我买了书和去一些论坛里看别人的帖子,顺边也发发帖子和帮别人解决一些问题,其实都是也写比较低级的错误,比如编译错误,书写变量或者函数名错误等等.另外,我有把我培训时写的代码整理了一下:有用的写好,保存起来,没用的或者功能简单的删掉,培训期间不明白的概念或者数据结构,自己通过编写程序实现功能再去理解或深化一下.这样把之前不明白的点重新梳理和搞明白,然后再把这些点连起来,这样基本上有一个小的系统的学习.培训的教材毕竟是高人,牛人整理的,还是有其知识系统性的.在这期间,也看了几本书,都是跟Linux和C语言相关,边看边敲代码,然后在记笔记.

    这样的学习和工作,也是有枯燥和感觉无聊的时间的,主要是容易的不想再重复学习,难得又理解不透.有段时间自己很烦躁,靠目前的技术怎么去要求提薪水和晋升职位?我也迷茫过,惆怅过.后来,我所在培训的机构缺一个晚自习辅导老师,主要是辅导Linux C语言基础知识,不是很难的,每天晚上7~9点晚自习辅导时间,我也是在这个机构里学习过的,当时学习态度和成绩还是老师比较认可的,这个时间段也有一个老师负责辅导我们的晚自习.我看着自己的工作不忙,工作地点离得也比较近,所以就去试试.老师也考虑让我去给学员白天上课,我当时拒绝了,我这个人比较腼腆,并且不够自信,不敢讲台给办理二十多个学员上课.辅导晚自习的工作一直持续了3年多,送走了一批又一批的学员,当然培训机构也会给一些报酬的,我的考虑除了这些报酬以外,还能和班里的学员一起学习.在这里,我有更多的动力去学习和深入研究C语言的知识,因为,你要想将给别人听,自己首先需要熟悉,所以自己也有意识的去备备课,对一些学员经常遇到的问题,自己也会做总结,这些错误也是可能是自己遇到的,所以要求自己必须熟练掌握解决方法.在这一年里,对于C语言的基础知识,自己基本上能够熟练掌握.在这3年里,我也在第一家公司辞职,工作满一年.这一年里,我的工作更多的是在学习,也是为后面的工作打下一个比较好的基础.

    第二家公司是做监控的,刚进公司经理问了一些行业知识,自己什么也不懂,就只能回答不知道.经理看我挺实在,老实,就让我入职了,薪水提了一些.在这个公司做了2年,最后是工作做的不很顺利,和同事关系搞得不和谐,最后公司也大面积裁员,我也在其中之列.在这家公司开始做的还不错,虚心学习,有新知识,有学习新技能.主要是遇到了一些技术很牛,也很愿意教你的同事和领导,这点我感觉也很重要.在这个公司,自己开始独立负责一些模块,也赶上公司对产品系统做重构,自己有幸负责几个模块的重构和开发.每天忙于模块开发和测试,系统重构后产品测试和解决bugs,工作和学习还算比较充实,偶尔周末加加班.与同事关系也很融洽,领导也比较赏识.第一年半,公司想开辟新产品--球机,遇有是一个新产品,领导让我自己先做前期预演,其实就是熟悉同行业的产品,了解他们的功能点,尤其是其他行业在球机上的亮点.那段时间,大约1个多月,我查阅网上资料,使用同行业的球机,最后将同行业的球机功能基本摸了一遍,写成了7页的文档,也算是我的工作报告吧.后来,公司和深圳两家公司合作,一个出机芯,一个出机壳,我们公司出系统板,我们的系统板主要是跑自己的系统,控制机芯和机壳马达运动,实现相应的功能.为此,我也第一次出差坐飞机去了深圳.也是第一次和别的公司领导谈需求,虽然自己仅仅是本公司的一名普通职员.没有怯场也没有说话哆嗦,这还归功于前期的准备,毕竟用了一个多月的时间熟悉这个产品.回来后就开始实现功能,要写一个新的模块,没有参考,没有功能相关的指导,因为部门里我算是最了解球机工作原理的吧.自己设计了架构,自己写每一个功能控制,写了自己测试,有问题再和深圳的合作公司沟通,那段时间我打了公司很多的长途电话.虽然忙碌,但是很充实,也很自信.那种感觉很舒服.后来,功能实现的差不多了,遇到公司年中考评,一些老员工晋升的晋升,自己由于正在做新产品,公司需要给我涨了薪.让我不能接收的是,我快写好的东西要让别人一起维护,并且新功能也让别人开发.没办法,进公司前平级的一个同事成了我的领导,他要走了我的代码并且开始维护和开发新功能.可能是年轻气盛吧,自己不服气,有抱怨情绪.再加上当时公司部门调整,行业不景气,公司开始裁人,第一批走了8个人,过了几个月我就在第二批之列了.其实,走了也是好的,因为我当时已经进入了一个怪圈,总看我的组长不顺.与其留下继续抱怨,不如另寻他就.现在想想自己还是太较真了,不论谁写的代码,最终都会是公司的,领导怎么安排一个职员能阻挡什么呢.还是自己太年轻呀,应该踏踏实实的工作和学习.

    第三加公司是做通讯的产品的.去了之后工作强度与之前都不一样,压力大了.还好,公司定了羽毛球场地,可以打打羽毛球.也就是从那开始,自己喜欢上了羽毛球,基本上每周都去打一打,球技也是一点一点的增长.后来公司运营不是很景气,就被大公司收购了,自己闲了大半年,最后选择了离开.进入了现在这家公司,不想跳得那么频繁了.打算在这个公司待上2年以上,主要还是看发展,不过,现在开始了解和做内核相关的开发,也算一个很好的开始,自己也想深入的学习一下Linux 内核.

   5年跳了4家公司,有的朋友说好,有的朋友说不好.大家站在自己的立场上,以及判断的依据也不尽相同,所以没有绝对的好和坏.主要还是看自己,有时候跳槽不是单纯为了薪水,有的是因为其他原因跳槽(比如公司裁员或公司没有事情做),一旦跳槽肯定会考虑加薪才能跳.