360行,行行转CS。

老王吐出一口烟圈,嘴里蹦出了这几句话。

老王是我见过的36岁还在一线写代码的唯一的人。其他上了年纪的同事们要么升职做了一二把手,要么转行成了外卖骑手。只有老王,还在兢兢业业搞技术。

我第一眼见到老王的时候,还以为他是90后,因为他长的很年轻,穿的也很年轻,平头T恤背个双肩包,跟我想象中36岁的大叔完全不一样。只有接近他细看,才能在脸上看到一些细微的皱纹,向别人宣告着岁月爬过的痕迹。

我和老王是今年认识的,我们年初一起跳槽来到这家公司---一家互联网巨头的物联网部门。大概是被近段时间所谓的“互联网寒冬”、“互联网行业已从增量市场转入存量市场”、“未来5G和万物互联才是新风口”等等言论搔到了心坎上,这家互联网巨头的CTO大佬开始着手组建新的物联网团队,于是有着嵌入式研发背景的我和老王被这位大佬忽悠了过来。

“你说,这帮互联网人是不是真的不要命啊?”老王的一句话把我从思绪中拽了回来,我挥手扇了扇飘到我脸前的烟雾,问道,“怎么说?”

老王叹了口气,“唉,以前我们做硬件的时候,每天一到5点钟,大家就都去排队打卡了,5点半准时下班,从不加班。偶尔实在是项目赶进度了,或者客户那边有啥突发情况了,才会在公司多待会儿,可从不会超过8点。结果来了这儿你看,明明来之前说的6点可以下班,结果9点了你们没一个人走的,弄得我也不好意思走。”

“你早点走呗,你年纪大了,身体不好,大家都理解的,再说了,你家还有两个娃呢”。我安慰道。然而实际上我也知道客套话没啥用,老王是不可能那么随性的,刚来公司,谁不想好好表现表现。

“别提了,我家的两个娃都快忘了我长啥样了。大家要是都6、7点下班,那也没啥了。关键就是有的人太爱表现了,你看那个neo,咱们以前基本7点多就都走了吧?自从neo来了以后,他每天都加班到9点,你说咱团队刚组建,活儿都没有,有啥忙的啊?搞得我正常下班跟早退一样。”老王捶了捶久坐酸疼的腰,忿忿不平的说道。

“内卷嘛,最近网上流行起来的新词。”我打趣道。

“我年纪大了,跟不上你们这些年轻人,整天搞一些花里胡哨的新词。什么奥利给,giaogiao的,我虽然不懂,可也不影响我的生活。但是工作就不行了,你看这帮互联网人,真能造词啊,什么PRD,KPI,OKR,SEO,GMV,ROI....我的妈呀,我这刚从嵌入式公司转过来的,真的理解不了啥意思,跟人家说话还得半蒙半猜的,有时候说的驴头不对马嘴,哈哈。”

老王笑了,又续上一根烟,接着说道:“你之前在嵌入式公司,也是6点就下班的吧?”

“是啊,天天955,基本上功能调通了能用就行,最多调一下低功耗,或者提升一些处理速度,总体来说很少改。拖进度的反而是代工厂那边的硬件方面。我们写软件的基本上很少拖后腿。结果来了这儿,才算见识到了,需求是真能改,码农们是真能熬。”

“谁说不是呢,我以前也是,如果哪天7点才下班,我都觉得可晚可晚了,身体受不了。结果现在天天被neo把风气带的9点才下班,才觉得7点能下班是真好啊!”

我笑道,“是啊,没有对比就没有伤害。”

“也跟节奏有关,我不知道你啊,反正我们以前那家嵌入式公司,节奏很慢,因为仪器啊,板子啊都在公司,基本上你回了家,不会有人再找你了,找我也没办法。我手上没板子,调不了。所以一下班我的心就放下了,节奏慢,岁月静好。”

老王深吸一口烟,接着说,“结果你看来了这儿,我的弦就一直紧绷着,现在我已经习惯了随时随地改bug,然后提交代码,上线发版一气呵成。因为写纯软件,写云平台,一台有网的电脑真的就可以。我也相信那些新闻上的婚礼现场改bug,地铁路上改bug都是真的,以前我总会觉得,真的有那么忙吗?现在我知道了,互联网的时间真的是可以赶出来的。”

“是啊,你看人家的效率真挺高的,上次说要做那个新零售的项目,没两周人家就从零写完到上线投出去了,这要搁咱们以前,光跟代工厂磨板子都得好几个月了。”

“是是,这儿的节奏太快,我天天精神都好紧张。不过啊,人家互联网的人是真的把软件玩出花来了。你像什么git啊,mysql啊,我以前在嵌入式公司不是没玩过,不过呢也就是赶时髦,图新鲜。会了commit,pull,push就觉得自己会git了,天天还跟那帮同事吹嘘,不会代码管理的都是土包子。结果刚来这儿第一天,CTO让我把代码rebase了再merge,我虽然嘴上说的好好马上搞,可我完全懵逼了,结果最后提交代码的时候发现自己连rebase和merge的含义都搞不清楚,只好委屈巴巴的删干净重新下载从头改。还不敢说自己不会,太丢人了。”

“是啊,咱们以前在嵌入式公司,都是在板子上编程,给别人合作都是用U盘、飞秋拷贝代码。git对我们来说真的是可用可不用,就算用了,提交历史也是乱七八糟没法看。不过在这儿被CTO培训了一发后,确实觉得git这玩意真的好,多人协作,代码换机,简直就是提升效率的利器,跟人家一比,我们以前用U盘拷贝代码就跟原始社会似的。”

“当然啊!还有mysql,以前我也自己倒腾过一段时间,会增删改查就觉得自己老牛逼了,什么串行化,什么脏读,事务,效率,谁关心过那是啥玩意儿啊!结果来了这儿都学会了。”老王叹息道,“学会了才知道这东西设计的有多牛逼。”

“你以前也是写C的吗?”,我随口问道。

“是啊,当然,写C。我还写过几年Qt,所以C++也会点。不过我看他们互联网部门的从不写C,都是什么JAVA啊,GO啊之类的。比C++容易多了,简单,限制少。写完用gofmt、golint这种检查工具做个风格化,每个人写出来的代码风格就会一模一样,你也能很轻松的看懂别人的代码。哪像我以前写C,软件是谁写的就是谁写的,别人要想看懂,嘿嘿嘿,看我给你讲多少。否则你重新自己写一遍都比在我基础上改要来的快。”老王得意的说道。

“这样换人的成本也很高。”

“可不是嘛,以前我们一个人写的代码就跟一个黑盒一样,反正你能用,我要是离职了,那这块基本上没人能改我的bug,所以一般老板都对我们客客气气的,人员流动也很少。现在就不行了,咱们都在人家CTO搭的架子下面填充代码而已,我感觉自己明天走人也没任何事。我产出的代码太规范了,甚至于CTO根本都不用我留下任何文档,人家5分钟就能上手改我的代码了。”

“CTO确实牛逼啊,我最近就突然发现,按照CTO给我搭的架子,我写出来的东西果然A是A,B是B,A出问题了不影响B,B也可以关掉改改再上线却不影响A,同时呢,A和B都归属于C这个主干。忽然之间,分布式,高并发,高内聚,低耦合这些以前模模糊糊的概念,瞬间都清晰的炸在我眼前。我仿佛看到了模块化的真正奥义,自己之前的模块化都是假的。”

“是啊”,老王接话道,“以前的一些习惯,在给单个板子写软件的时候还真感觉不出来,全局变量和sleep函数随便用,是我最趁手的两件兵器啊。结果前两天被CTO训了,跟我说大原则上,用全局变量和sleep就是错的,因为牵扯到什么负载均衡啊,多个实例啊什么的,听都听不懂。或许,这就是码农与高端码农的区别吧。”

老王叹息一声。“不过啊,也不用太妄自菲薄,git,mysql,redis咱不会,iic,spi,PCIe这些协议他们也不懂啊!更别说Linux/RTOS/AutoSAR了。虽说都是写代码,可隔行如隔山。就像我现在,手里没块板子,总觉得心里发虚。”

“老王,你说我们要不要转到互联网部门啊,都是写软件,起码互联网的工资高啊。或者就转到纯硬件,都是搞技术,起码做硬件有积累啊,越老越吃香,不担心40岁后被辞退。就咱们不软不硬的,夹在中间很迷茫。”

老王抽了一口烟,淡淡的说道,你看我36岁了,还在给人打工,你也许会觉得我没出息,也许会说我不够努力,会说我没在年轻的时候多发些核心期刊的paper、没做出一些知名的开源项目了。你也许会在心里想,以后绝对不能混成我这样,哈哈。

时常我会很怀念做嵌入式,做硬件的日子。看着一个小东西从无到有,到编写软件赋予它灵魂,有一种造物的成就感。时常又觉得互联网的薪资确实高,拼一把,4万5万都有可能。可是真来了互联网公司呢,又觉得很不舒适,有什么感觉呢,不知道你有没有见过那首小诗,什么青蛙,泥鳅,大海的,挺符合我的心情的,可我现在就是想不起来了。

年轻的时候,我也以为我有很多路可以走。我画过PCB,做过单片机,玩过linux,老了又来跟着你们学物联网云平台。我写过博客申请过公众号,开过小卖铺做过微商,淘宝店的等级还不低。后来就开始东一脚西一脚的混,混着混着我的两个娃也出生了,我也老了。现在想想,如果我沉下心来在第一家公司干到现在,可能我也早就混成小领导了。我曾经以为自己走过无数条路,但是年华老去,回首往事,我发现,我其实走的,一直是那一条路,那一条相同的路。

你还年轻,希望你不要太沉迷于技术。

说完这句话后,老王沉默了许久。

后来的一段时间,我和老王继续吐槽着公司的加班、与在嵌入式公司的差异和不习惯,学习着新行业的新知识,同样也继续的被neo内卷的不得不9点下班。日复一日的没什么变化。后来有段时间我身体不舒服请了几天假,来了才发现老王竟然离职了。据说是被产品经理催的急了,两个人大吵了一架,说了一些过激的话,被人捅到领导那里,被公司辞退了。

他离职的速度如此之快,的确没留下什么文档,大概就如他所说,他的代码都在CTO的掌控之中。我再也没见过老王,听人说他回了老家,继续做嵌入式硬件去了。后来,公司又来了一批新同事,有个年轻小伙子坐了老王的工位。大家礼貌客气,人也都不错,我也相信我们以后会成为很好的朋友。老王也渐渐的,从我的回忆中慢慢淡出了。

很久以后的一个日落云淡的黄昏,我突然收到了老王的微信,他说,嘿老李,那首诗我终于找到了!我解锁了屏幕,点进去微信,老王家儿子熟悉的笑脸出现在我眼前,他的头像真是万年不换。我会心一笑,打开了对话框:

你在池塘里活得很好,

泥鳅很丑但会说喜庆话,

癞蛤蟆很马虎但很有趣,

田螺是个温柔的自闭症,

小鲫鱼是你们共同的女神。

有一天你听说,

江河湖海 ,哪个都要更大,更好 ,

你跳了出去。

遇见了美丽的海豚,

雄壮的白鲸,

婀娜多姿的热带鱼。

的确都是好的,

就是偶尔觉得世界很空,生活很咸。

推荐阅读:

专辑|Linux文章汇总

专辑|程序人生

专辑|C语言

嵌入式Linux

微信扫描二维码,关注我的公众号 

在嵌入式公司和在互联网公司写软件,有什么区别?相关推荐

  1. hc05与单片机连接图_小白学单片机:单片机烧写器及烧写软件的使用

    一.为什么叫烧写 早期一般是将调试好的单片机程序写入到ROM.EPROM中,这种操作就像刻制光盘一样,实在高电压方式下写入,PROM是一次性写入,存储内部发生变化,有些线路或元件就被烧断,不可再恢复, ...

  2. AI可以写软件了,所以程序员要下岗?

    文章讲的是AI可以写软件了,所以程序员要下岗,早在1990年,便有人提出创建会学习的软件的想法,很多电影中也有机器人自我进化,最后妄想统治世界的剧情,自从AlphaGo打败李世石之后,人工智能,深度学 ...

  3. 免费的音频格式转换器有哪些?不妨试试这几种转写软件

    在平时生活或工作中,我们经常需要播放音频来获取其中的信息,不过有时候大家在上传或者编辑音频文件的时候,会注意到音频格式与播放设备不兼容的情况,这就需要我们对音频格式进行转换.那你们知道音频格式转换软件 ...

  4. 互联网公司的软件开发流程

    一个优秀的产品的诞生离不开合理的的研发过程,这里我们介绍一下互联网公司的软件开发流程. 分为七个阶段: 一.需求分析阶段 需求分析阶段主要是产品经理和和项目经理主导,一般是召集开发人员开个需求讨论会, ...

  5. IT软件外包行业深入分析:现状、前途、趋势、待遇 什么是软件外包 外包公司是怎么工作的 软件外包公司的面试 软件外包公司需要什么样的人...

    目录: [0] - 为什么要对大学生谈软件外包? [1] - 什么是软件外包? [2] - 软件为什么要外包? [3] - 为什么要承接软件外包 [4] - 做软件外包有前途吗? [5] - 外包公司 ...

  6. 除了写软件,软件工程师何去何从?

    在非专业人的眼里,似乎软件工程师出了写代码还是写代码.当然,也有不了专业人士会问到这几个问题:"我接下来应该学哪种语言?"."如何准备技术面试?"." ...

  7. 嵌入式与卫星导航定位上位机软件开发(基于MFC框架)

    嵌入式与卫星导航定位上位机软件开发(基于MFC框架) 1 串口通信--MSComm 控件 2 数据绘图--ChartCtrl 3 小结 专业课程要求,在SEED-DEC6713开发板上实现实时的单点定 ...

  8. 丁磊:那时候我们除了会写软件 什么也不会做[转]

    经历过的事情是一种收获.我是学工科的,我今天演讲的主题,选了李白的<行路难>:"长风破浪会有时,直挂云帆济沧海",其实前面还有两句:行路难,行路难,多歧路,今安在?我有 ...

  9. 德国的StemmerImaging公司功能强大的机器视觉软件CVB

    德国的StemmerImaging公司功能强大的CVB (Common Vision Blox) 软件工具包集成了业界领先的图象算法.图形.以及 代码开发环境,提供了在快速创建完整.可靠应用系统所需要 ...

最新文章

  1. 中国电信天翼Live究竟胜算几何?
  2. fedora网络配置
  3. OPK修改操作系统信息 --oobe.xml
  4. Matlab-实时编辑器介绍
  5. Page.ClientScript.RegisterStartupScript() 方法与Page.ClientScript.RegisterClientScriptBlock() 方法...
  6. 小白学HarmonyOS,HarmonyOS 2.0正式发布 分布式能力获得全面升级
  7. websocket握手失败_WebSocket握手期间出错:意外的响应代码:500
  8. Exception 'ReflectionException' with message 'Class require does not exist'
  9. SAS Viya应用简介
  10. Bambook 简介
  11. 最常使用Eclipse快捷键
  12. HEVC 推出专利使用费标准
  13. u检验中的查u界值表_统计学中,知道u值,如何确定P值,是通过查表吗
  14. 百度地图怎么不显示服务器地址,百度地图使用指南
  15. maven进行install时出现Fatal error compiling错误
  16. 想成为企业疯抢的新型数通人才?华为Datacom认证喊你来学习啦
  17. 计算机二级Ms考试试题是如何抽取的,考证必学 | 计算机二级MS Office考试全攻略...
  18. 还有谁!!!?谁是Uber下一个要颠覆的行业?
  19. 怎样获得元气骑士的损坏的机器人_元气骑士损坏的机器人怎么修复?机器人修复方法...
  20. 劣质代码评析——《写给大家看的C语言书(第2版)》附录B之21点程序(三)

热门文章

  1. ARM TK1 安装kinect驱动
  2. Cocos2d开发1:Xcode与TexturePacker的集成
  3. Red Hat 6.0 Installation Steps
  4. 设计模式学习笔记六:.NET反射工厂
  5. [JavaScript] 正则表达式
  6. mysql数据库访问编程,mysql 连接数据库
  7. python中的魔术方法
  8. Flask-SQLAlchemy 中如何不区分大小写查询?
  9. Linux常用命令全网最全
  10. 如何用余弦定理来进行文本相似度的度量