一个30岁程序猿的碎碎念

  • 经历相关
    • 1. 车身电子小私企
    • 2. 直播公司
    • 3. 国企-安防系统集成商
    • 4. 上市公司-监控安防小部门
    • 5. 创业公司-无人机方案解决商
  • 技术相关
    • 语言选择
    • 个人成长
    • 行业/公司/职位/技能

又到了跳槽的季节,经过长达两个月的寻寻觅觅,5月31日收到了最后的一个offer,自动驾驶EPAQ岗位,30k*15+餐补等,算下来税前年薪45w+。
而就在2019年的时候,我的月薪是9.7k,不到一万,年终奖35k左右,所有的收入加起来,一年还不到16w。
两年时间,收入有了较为明显的增长,比上不足,比下有余;谈不上太过欣喜,但偶尔还是会有些感慨,碎碎念一些有的没的。希望能为像我这样迷茫着/挣扎着的中年老男人提供些许有用的信息与略微不同的视角。

经历相关

之前的博客有聊过自己转行到程序员前几年的经历:

一个工作一年半的程序员的自述(一)

一个工作一年半的程序员的自述(二)

一个工作一年半的程序员的自述(三)

一个工作一年半的程序员的自述(四)

快到三十岁的程序猿的瞎想

简要的补充一些相关信息

1. 车身电子小私企

如 <一个工作一年半的程序员的自述(四)> 中所写,16年5月份,在第一家公司工作了1年零3个月,私下里面试拿到了几个8000左右的offer(因当时老板出差,时间关系拒绝掉),和老板申请涨薪。老板深思熟虑之后,那个星期的周五下午找我谈话,决定给我涨薪,从4500涨到5100。
600元的涨薪幅度,耗尽了最后一丝知遇恩情。
当天下班时,便把所有的资料、代码整理好,周末两天将员工宿舍里的家当搬走,写了封离职申请邮件,裸辞了~
再也没去过那家公司,再也没见过那个小老板,没有给自己留任何退路。

(后续,公司的另外两个研发陆续也离职,目前应该还是不温不火,靠着琐碎的项目存活)

一些小八卦:[背景] 小老板硕士毕业于法国里昂高等学校,后面在一家著名车企入职,据说干到中层后,升职无望,所以出来单做,选择了汽车零部件中的一个利润率较高的零件进行研发。

  • 八卦1:小老板家里比较贫穷,不足以支撑他留法学习,需要老板娘家里支持;老板娘家里比较精明,逼着小老板签合同,留学毕业后娶老板娘,并且由老板娘管钱
  • 八卦2:老板娘性格极差、情商极低,虽然学历较高,但换了几次工作,都被单位辞退,只能做家庭主妇,但又管着公司的钱,在家里话语权很高,从未去过公公婆婆家,小老板母亲夜里过世的时候,故意没有告诉小老板(被吵醒,心情不好,故意恶心别人),导致小老板没能见到母亲最后一面
  • 八卦3:小老板包养了一个小三,我在职的时候,还来过公司一趟;后面老板娘用小老板的微信号套路我,把那个小三的名字给套到了,当晚把小老板"抓"了一顿,脸上贴了好几个创可贴。

还是很感恩当初的小老板。人生只有一条轨迹,谁都无法看到另外一条路上的风景。那些在我们生命中来来去去的人们,给我们的人生带来了种种不同的体验,感谢好的,批判坏的,相信有些事情是注定的,也要满怀对未来的期望。永远年轻,永远热泪盈眶。

另外,给年轻人一个过来人的建议
绝大部分公司或老板都会给员工画大饼,这个本身并没有任何问题,甚至可以说,不会给员工画饼的公司/老板,不是好的公司/老板;
人需要有目标、方向、激励的引导,公司的管理层需要有号召力、凝聚力去领导员工。
那么如何去区分画饼和期望的关系呢,我的建议是:阶段性的指标。
比如,半年/一年内,

  • 公司的业绩增长量、产品完成度;
  • 个人能力的进步程度、工资的涨幅;
  • 老板的所有的小的承诺是否全部或者大部分实现,对于之前承诺过的事情是否还记得?在承诺没有实现时,是否会进行解释等。

如果老板的承诺全部/大部分落空,并且一定期限内,没有获得足够的提升,那么基本可以准备跑路了。

2. 直播公司

从小公司离职之前得到的几个offer,虽然因时间等关系拒绝掉,但给了自己信心,以为很快就能找到更满意的工作。然而,世事无常。

裸辞后,住在同事家半废弃的民房里,浦东很郊区的地方,每天要一大早出门坐公交车去赶面试,平均每天两个。第一个星期的面试全都没过,或者工资实在太低。
晚上回到破房子里,房子里面是农村那种水泥地,一张床,马桶离床大概三四米,一个老式的电灯泡,这辈子住过最差的环境(之一)了,焦虑孤独且压抑。那时“微信读书”刚刚上线,用大量的阅读度过难熬的日子。

第二个星期由于积累了一些经验与技巧,加上在面试过程中遇到不会的问题回去之后查资料学习,渐渐有了起色。赶在积蓄花光之前,拿到了两个自认为不错的offer。最终选择了一家互联网直播公司,基于开源OBS代码,开发(升级)一款主播推流客户端的软件。

月薪税前八千+两三百块的饭补。当时对互联网的工资水平没有概念,后面才知道,主管嫌弃我要得太少,觉得我呆不久,本来不想要的,后面人事力推才让我入职。后面偶然得知,比我小一岁的产品经理,月薪18k,我刚好是他的零头。

入职后跟着一个经验丰富的老同事做开发,前两周一直在看代码,后面着手一些UI界面优化/增加语音弹幕/客户端实现相关的工作,参照之前已有的代码进行编程。
当时我那个组的组员平均年龄比我大十岁,看着他们这把年纪每天还要加班加点,总觉得做开发不是长久之计,不能像他们一样,一眼望到头的生活。开始琢磨着如何做点小生意,开个咖啡馆,炒个股票啥的,对工作不上心,勉强应付任务,技术上只是些许进步。

在公司干了10个月左右,正好经历了直播风口由顶峰到衰败的时刻,从15年直播元年,各种平台爆发,千万年薪主播随处可见,到16年中旬,大多数直播公司哀鸿遍野,各种拖欠工资、欠款倒闭。在我刚入职没多久的时候,公司上市失败,清晰的感觉到公司快速的衰落下滑,几次爆出拖欠主播工资的新闻,最终被别的公司并购。

趁着被并购的时机,我选择了离开。离职当天有个小插曲,在去财务签字的时候,签字负责人一直在忙,接打电话处理文件,就站在旁边一直等了半个小时。是否不尊重人先不谈,在这半小时中,所有的财务工作者都在处理文件资料,没有一个人哪怕抬头休息一分钟。打工人都不容易。

看过这么一句话,大致意思是:在涨工资这件事上,最满足的时候是最开始的那一两次,从“生存”过渡到“生活”的阶段。现在回想起来,在直播公司的那段日子,确实是幸福感最强的日子了(薪资方面)。
当时一个月到手7000多,郊区合租小房子,到公司30分钟,房租水电1600,基本餐饮2000,剩下3000多随便花,感觉自己已经相当富有了。偶尔买点贵的(三四百的)衣服。25岁的年纪,没有太多欲望,什么都不懂,还未深刻体会生活不易,无忧无虑的。有些看不爽当时的自己,但也很羡慕了,人生最美好的青春岁月。时光一去永不回,往事只能回味。

3. 国企-安防系统集成商

直播公司的工作给我带来了短暂的“快乐”生活,却无法一直“快乐”,偷懒一时爽,而浪费的光阴总是有代价的。当时的同事们都在认真工作、努力学习技术时,我却在偷懒耍滑,各种小心思小想法。到了换工作的时候,同事们大都收获了很满意的offer,大厂+高薪;而我却如第一次跳槽一般,面试战战兢兢,屡战屡败,甚至不敢去投大厂,就感觉自己技术差,觉得自己即使投了也没有面试资格,就算有面试资格,也会回答不上来。(实际上根本不了解技术的种类、差别,不了解市场需求,各种不了解,这点后面展开说)。

从直播公司离职时,手上有两个offer,一个是文思海辉的外包,到汽车厂家做项目,月薪14k;另一个是国企,从事安防行业,当时只沟通了下年薪,一年15w。现在回首去看,都是差极了的选择,应该再多准备准备,多面试面试,寻找更好的选择,只是当时的我又如何拥有现在的眼光与格局呢。综合考虑后,选择了国企,说来好笑,纳入考虑范围的因素竟然都是一些很幼稚的事情,后面再做展开。

虽然选择了国企,但是直到报道入职的那天,hr才和我谈确切的工资,一个月基本工资2000,绩效7500,一般不会扣除绩效,一个月到手不到8000,试用期还要打8折,三餐可以在公司食堂吃。当年(2017年)春节的时候,父母帮我在老家付了首付,买了套房子,每个月要还3500左右的房贷。那家国企的地点在上海市中心,为了省钱省时间,做了一件特别蠢的事情,租了一个离公司不远的老公房顶楼,条件和当时那个民房差不多:老公房六楼走廊最里面,原本是一室一厅,被隔断成三个房间,原本的主卧被一块没有顶住天花板的木板隔开,客厅也是被木板隔出了一个房间,完全没有隔音效果。我住在主卧靠里的那个房间,没有空调,其他房间都没有窗户,洗手间在进门靠右的地方,差不多2m*1m这样,蹲马桶时,伸不开腿,淋浴的水会滴到马桶上,因为老公房的水压不足,洗澡时,水流很小很小。入住的时候是春天,木板隔壁是个小伙子,刚开始虽然住的也很不爽,但是还在忍受范围内;后面天气渐渐变热,越来越热,越来越热,越来越热,然后,隔壁换了一对非常晚归、欲望强烈、沟通需求旺盛、夜宵不能少的情侣。再加上直属领导非常非常非常合不来、沟通不了;在国企被各种挖坑、算计;工资少的可怜;国企重人际不重工作,转行遇到各种问题;那段日子,实在是苦。

熬了六个月,艰难转正。换了租房,离公司一个多小时的车程,转正后到手的钱稍微多了一些,断断续续做了一些不需要怎么写代码的协调工作。
熬了一年,熬走了性格不合的直属领导,熬到熟悉了每个部门的每个人,却依然无法适应国企的风格。
熬了快两年,算是老油条了,第一年时,工资加了200,每天混日子摸鱼,惶惶不可终日。

第二年还没涨工资前,下定决心离职。

4. 上市公司-监控安防小部门

在国企蹉跎了整整两年最好的时光,本应该学习最多,进步最快的日子,硬生生被浪费掉。出去面试被种种看不起、嘲讽,最简单的题目都不会做,最基础的原理都不懂。
面试了n家,最后收到两个offer,一个医疗创业公司,15k+补充公积金;一个传统软件上市公司(国企的领导推荐),15.5k*14。
一个重要的跳板平台,一段很棒的学习经历,一个认真写代码、研究代码的阶段。
在国企混日子的两年,多少也积累了一些行业经验,新公司想在该行业做一些产品创新,为原来单一的营业方式增加盈利方式,而我摇身一变成了主要开发人员,参与项目的方方面面;因为是长期的产品研发,功能相对单一,有充足的时间去思考代码的好坏,探索各种开发方式、设计模式、编译链工具的使用;公司本身研发流程也很完善,接触到了相当正规、完整的需求、到研发到测试、迭代、发布流程。
真正成长为一个合格的程序猿。某种意义上比程序猿具有更全面的想法与视野~
生活也好了很多很多,在公司附近租房子, 步行十五分钟左右。每天八点之后起床,六点左右下班,午饭后回宿舍睡二十分钟到半小时,下午三点左右和一个关系较好的同事下楼喝杯咖啡走一走。下班后去健身房运动,减肥;两个月瘦了将近二十斤,还练出了腹肌。
真的很感谢那段时光。

5. 创业公司-无人机方案解决商

在上市公司呆了不到一年,提升很多,但很快自认为到了瓶颈期,明显的感受到传统企业的暮气,靠着公司的老业务,很多人啃着老本,业务进展相当缓慢,本来要10月份完成的项目,到第二年三月份才进展不到三分之一(上周和前同事交流,已经过去两年,那个项目目前还是没有完成)。
又是一轮轮面试,还是没有特别满意的offer,最终选择了一家初创的、表面上看起来在行业还蛮出名的公司,做无人机相关的一些应用。薪资是20k*14,但五险一金不按照足额缴纳。
刚入职时,做了一些预言性质的工作,后面慢慢接手主要业务。在上一家公司学到的一些技术与在国企锻炼出的一些表现能力,让我更快的适应了团队,并有幸做了项目组长,主导关键项目的走向。对技术的应用、公司的管理、商业运营模式等多个方面有了更深的一些思考。也结识了自毕业以来真正称的上朋友的两个小伙子。也是很快乐的一段日子呀,公司整体年龄都很小,我是年龄最大的几个之一,在国企两年被长期压抑的时间里形成的阴郁、扭曲的性格,潜移默化中渐渐开朗起来,和年轻人交流真的很开心,毫无压力,想说什么就说什么,不用遣词造句,想来想去的。公司业务发展也不错,融到了够花的一笔钱,整个阶段都是非常欢快明亮的感觉。
后来呢,又干了不到一年,由于种种原因,经过了深思熟虑后,还是选择了离职。
经过最长一轮的找工作,差不多三个月才最终定下来目前的自动驾驶行业的公司。

技术相关

语言选择

刚开始找工作的时候,意向是java开发,买了《java核心技术》《java编程思想》两本书,跟着慕课网上的视频课程学习,囫囵吞枣的学习了简单的知识,后面机缘巧合入职了第一家公司做C++开发,便再也没碰过java了。

当年(15年左右),java比C++要火的多,互联网/手机app蓬勃发展的那些年里,大量的web服务,数据库应用等,对java的需求量远超过c++。记得当时有次在51job上搜索,java的岗位数量是c++的6倍左右。

刚才又搜了一下,目前java与c++的岗位数量差不多,应该是随着汽车/医疗等高端制造行业的崛起,硬件相关的c/c++等又重新火了起来,而互联网渐渐达到巅峰,开始进入存量时代,导致java等语言的需求不像之前那么火热。

对比C++与java的变化,并不是想证明孰强孰弱,而是想表达,当我们选择一项技能学习时,不应过多考虑就业形势相关的问题,特别是在这个快速变化的时代。持续学习持续进步的能力以及背后的思维方式/知识体系才是我们应该去培养的。(推荐一本书:《程序员修炼之道》)

个人成长

在第一家公司的时间,对C/C++有了个初步的认知,内存/堆栈,多线程,tcp/ip等网络通信,SVN/GIT版本控制工具,gdb调试工具,linux系统相关,shell脚本,C/S架构, QT框架等,还有些CAN/LIN,vector, ECU等车身电子的知识,算是初步进入开发阶段;
第二家公司时,简单研究了下OBS和ffmpeg的一些源码,音视频的基础知识,QWdiget的ui实现(现在嵌入式/windows客户端需求也挺多的)等,当时组里技术主管建议我去了解学习设计模式相关的知识,懵懵懂懂看了几个,但未来得及实际应用;
第三家国企时,首先是对视频安防行业的国标协议GB28181的了解,基于SIP协议,实现了包括注册,设备列表上传,心跳包,视频点播等功能;不同行业在软件开发这块对程序员的门槛大部分指的就是对该领域内各个协议的理解与运用,比如安防的GB28181,网络通信的TCP/IP,汽车行业的autosar/misra/CAN/LIN,直播行业的webrtc等,后面才是算法/语言技术层面;通过对这套协议的解读与运用,提高了快速进入一个行业门槛的能力;第二,安防系统通常包括多个硬件设备,摄像头、警报、门禁的等,经常需要集成众多硬件SDK或通过协议对接,对调试、集成硬件相关有了较多的经验;第三,空余时间看了一些理论书籍,源码等,虽然最终都没持续下去,总算也是提高了一些见识格局;
第四家上市公司,也是传统安防行业(国企领导推荐),基于kamailo源码进行二次开发,作为主要负责的核心开发人员,需要独立思考/规划/验证,自己想方向,控制进度,与客户沟通交流,判断可行性,预言技术等,快速提升了软实力;
第五家新兴行业创业公司入职四五个月后,因项目调整等原因,有幸做了项目组长一职,有幸验证平时的很多想法架构,带领团队一起实现任务。在这家公司呆的时间不长,但进步非常多,从不同的视角去看待问题,会收获不同的效果

行业/公司/职位/技能

如标题,我认为对于程序员来说,重要度依次是行业>公司>职位>技能,而技能中,软技能略大于硬技能。
面试新工作的两个月(21年3-5月)时间里,接触了直播/安防/3D摄像头/线上会议/医疗/无人机/自动驾驶/芯片/地图定位等行业,深刻感受到不同行业间巨大的差异,包括薪酬/技术/视野/格局/资源等等,有些行业即使岗位再高,都无法提供一个满意的offer,比如传统安防;有些行业,入门就几乎达到了别的行业的颠覆,比如自动驾驶/新能源,以及最近的芯片。另外,行业的热度是不断变化着的,需要对这种变化保持敏感度,随市场前进;
公司与职位这个大家都耳熟能详,说一下技能相关。越来越觉得软技能的重要性被很多人所忽视了,硬技能决定了下限,而软技能决定了上限。对需求/市场的把握,对公司/产品的定位,对团队/项目的管理等等,值得花费时间去探索学习。

终于写完了。

两年时间,年薪从16到45,一个30岁程序猿的碎碎念相关推荐

  1. 大学生业余时间学习Python开发,20到30岁几乎决定了你的未来!

    之前程序员界流行一句话:人生苦短,请用Python. 随着Python成为网红语言之后,不少程序员想多学这一门语言好傍身. 甚至有些27.28岁的程序员开始考虑要从安卓转行做Python. 这是一个非 ...

  2. 一个30岁男人的爱情婚姻思考(尽量不要在学习的时间看)

    今年30了,结婚4年多了.平心而论,我的婚姻生活很幸福,但是很多时候我似乎并不满足.因为,我妻子是一个没有正式工作的人,现在给别人打工, 也不可能有什么发展.文凭也不高,估计再过几年,也就会成为全职的 ...

  3. 一个30岁男人的爱情婚姻思考(尽量不要在学习的时间看) 1

    https://blog.csdn.net/liaxiaosan/article/details/495234     今年30了,结婚4年多了.平心而论,我的婚姻生活很幸福,但是很多时候我似乎并不满 ...

  4. 学两个月年薪超20万,在国外当程序员这么容易?

    去年,有关新加坡互联网公司在国内的招聘广告,曾经引发了不小的轰动. 这是因为对IT从业者来说,招聘广告许诺的条件实在诱人: 1.美股上市互联网公司,市值千亿美元: 2.薪资诱人,校招35万-100万总 ...

  5. 分享一个程序猿小白两年工作经验的职业之路

    当程序员这一行也有两年多了,由当初的那个菜鸟小白到现在的小白,两年多感觉却只是抹掉了菜鸟二字,不是自谦也不是自嘲,只是自己对于自己的一个客观评价.回首这两年多的时光,有的不仅是感慨,一切经历的学到的都 ...

  6. 【原】两个时间相加的运算符重载实现

    要求:两个时间相加,得到的时间形如"xx时:xx分:xx秒" ----------------------------------------------------------- ...

  7. oracle笔记:新手上路必备。花了两天时间整理出来的,详细的不能再详细了。

    总结一下这几天学习oracle的笔记,花了两天时间,终于给搞好了,本篇博客适合初学者学习,大佬可以绕道... orcale详细笔记 Oracle中用户登录.创建用户 sql语句的分类 DQL 基础数据 ...

  8. 用时间戳判断两个时间是否在同一天和时区转换问题

    用时间戳判断两个时间是否在同一天和时区转换问题 //用时间戳判断两个时间是否在同一天和时区转换问题#include "stdafx.h" #include<stdio.h&g ...

  9. 分享一个有趣的学习方法,欢迎一起探讨如何提高学习兴趣作者:1-2-3 来源:博客园 发布时间:2009-03-09 16:20 阅读:2820 次 原文链接 [收藏]

    分享一个有趣的学习方法,欢迎一起探讨如何提高学习兴趣 作者:1-2-3  来源:博客园  发布时间:2009-03-09 16:20  阅读:2820 次  原文链接   [收藏]   有些人似乎天生 ...

  10. 第二节:比较DateTime和DateTimeOffset两种时间类型并介绍Quartz.Net中用到的几类时间形式(定点、四舍五入、倍数、递增)

    一. 时间的类型 1. 背景 这里为什么要介绍时间类型呢,明明是定时调度篇,原因是在定时任务中,任务什么时间开始执行,什么时间结束执行,要用到各种各样的时间模式,虽然这不能算是一个复杂的问题,但在正式 ...

最新文章

  1. 提前还清贷款为什么还要付违约金?
  2. linux mysql5.6.27源码安装和错误解决
  3. 详细描述一下 Elasticsearch 搜索的过程?
  4. Android JNI学习(四)——JNI的常用方法的API
  5. cross apply
  6. bat 暂停一段时间_BAT面试问是否具备3年工作经验,这么回答绝了!
  7. Archlinux下启用Thinkpad功能键
  8. redhat 复制文件夹及子文件夹_Docker COPY 复制文件夹的诡异行为
  9. 《白帽子讲web安全》第一篇 世界观安全
  10. python模拟支付宝扫码登录_Python爬虫模拟登录支付宝并获取订单信息
  11. python交通标志识别_利用pytorch实现交通标志识别
  12. 自动化脚本开发,真香.....
  13. JS下载文件、图片,JS打包下载
  14. 人可以N次踏进同一条河流
  15. CDR都特价了,你还用破解版?
  16. 学习LSM(Linux security module)之四:一个基于LSM的简单沙箱的设计与实现
  17. tomcat重启机制
  18. 带有三角函数的计算机,三角函数计算器
  19. 我的世界服务器神秘修改节点,我的世界NBT指令
  20. 【历史上的今天】12 月 6 日:微波炉问世;多媒体格式 Mkv 诞生;日立环球存储科技公司成立

热门文章

  1. python爬虫代码-23个Python爬虫开源项目代码
  2. 软件开发可行性分析规范
  3. 数据结构(C语言)-串
  4. 斐讯e1刷集客_斐讯无线AP2543CD 1750M AP 无拆刷Breed集客AP固件
  5. SQL 获取当前日期
  6. 自定义Dialog的小实战——根据地区选择手机号码前缀
  7. visio 2019 简单流程图教程
  8. JTAG Bypass命令案例解析
  9. 视频教程-程序员面试宝典——助你拿到好offer-招聘/面试
  10. 视频教程-Linux从入门到精通(全套系列)-Linux