Working for one year感悟(嵌入式软件)

前言:

有些话其实不好跟公司里的人交流,七嘴八舌的,不一定就传出去了。
说实话,在专业能力方面,我跟刚毕业的时候还是有很多进步,这是肯定的,但是就是在这成长的过程中,我知道,如果遇到工作中的贵人,是真的幸运,但是机会真的很少,假如一个人能作为你的师傅,能解疑答难,大家就觉得已经很不错了,毕竟别人也有自己的生活,没有精力去专注你的成长,你说呢?这样的话,全凭自己的问题成长这是不够的,这时候需要我们自己去这个方向上探,但是作为小白的毕业生,这真的很难!真的难!

第一个师傅带了我半年

刚进公司,我们这个团队是负责基于LITEOS的华为生态部门,负责为华为的生态链开发项目,给华为打工,当然,其他公司也有这样的为华为打工,为了迎来客户,公司是免费为客户开发产品的,像我这样的码农,也就是对接客户的mcu,无脑解决各种问题,自己给自己找事。
新大学生来了之后,当然不可能一来就让你开发新项目,开发的都是一些跟产品功能非常接近的串口通信,iic等等以及mcu需要的wifi模组的一些基础信息的功能,这样的开发真的繁琐,一个人负责两三个项目就已经快承受不了了,因为自己不知道对接客户那边的工程师的能力,可能他连开发板都不知道是啥??能力层次不齐,可以用个词语形容一下:形形色色!
我不是只针对能力,还有就是人品,以我这暴脾气,上去就是对没礼貌的工程师踢出群聊,拉黑!要不是我们商务来灭火。还真得不好收拾
能力方面
这边年,我对我们wifi模组的思路流程,架构并不清楚,一味的就是陪客户解决问题,就在那几个功能上一顿操作猛如虎,一看战绩0-5,成长不是很多,倒是对代码的debug能力有所提升,那段时间,我正在进行对一个灯具公司的完全新的开发(C),做完了前面的99%,结果后面的1%我们公司没有这个能力对灯的调节,也以我加班加点开发三个月的灯告一段落,这也是我的领导不懂灯的难度,交给我的任务,我也就上了,原来调节灯光不是那么容易,真的很难,所以在开始项目的时候,一定要评估好,可有的东西很简单,但是做好真的不容易!如果你不信,你可以度娘一下,在灯具调光方面的知识,再了解一下国内的调灯大哥就知道了!
师傅
师傅的能力没得说,很强,他对我们对接的这些项目流程,底层架构都比较清楚,而且我有什么问题他都能够解决,但是者必须要我们自己去问,这样的成长真的很缓慢,并且师傅也很忙!

过渡期

因为公司业务板块发生变化,我原来的师傅还是可以问的,但是业务不一样,我还是在做华为生态这一部分,说实话,这边年,我对我们这边的应用代码还是一个小白,随后跟师傅交流的就慢慢少了,基本就等于换了个师傅,新负责我的这个师傅38岁,他们八卦说是一个专家级别的一个社招人员。在正式带我们之前,我们有一些交涉,但是很少,在别人眼中,我对他的印象不是很好,那时的我认为他应该是一个技术一般,不合群,不喜欢跟同事之间交流的这么一个人,因为当时他不是负责人,也不是领导,有些事我是不知道的,就这样迷迷糊糊的,他成为了我们的领导,也是负责人。

排斥期

当然,我是一个正常人,对一个长辈级别的人更不存在什么嫉妒之心,我周围的新同事包括老同事都很排挤他,他在成都分公司,我们在绵阳总部,更是创造了这种排挤的有利情况。
为什么会出现这样的情况呢??
主要的原因就是他开发项目的思维都和大家的不一样,因为和大家的不一样,出现问题就不好分析,意见就容易造成分歧,这也是根本原因,当时我们这些新人还在跟着第一个领导在开发项目,工作内容很多,而且很累,但是我们却没有意识到因该换一种方式来开发,也没想过,但是这个38岁的新师傅,却在以他的思维领导客户,换了一种开发思维,一步步减轻自己的工作量,也减少了自己的任务与烦恼。

新师傅上线

新师傅正式确认了,由他来带领我们做生态项目,之前他不是领导,也没有说话权,可以说这一套新的开发方案在我原来的领导那里肯定是行不通的,连我们新生都应该都知道。“升官了之后”,他将他的那套开发方案拿了出来,跟我们介绍了他的思路,想法,为什么要这么做,这么做的好处,并一步步培养我们的这种思维,在跟客户沟通交流,处事,什么时候说什么话,可以说面面俱到,这算是一个全面的培养。
印象改变:
我们成为了一个部门的,交流就多了,刚开始我是排斥的,经过讲解之后,我发现我的思维第一次被打开了,从之前的恭恭敬敬的对客户,变成了有自己的思维,有自己的思路,不用被客户牵着鼻子走,跟我们之前开发的思路不一样,也能明显感觉到这样的思路更好,更有利于自己的发展和项目进展

有利

在工作中对自己有利的事要发邮件,抄送相应人员,相反的,可以打电话,发微信,这是新师傅常常跟我们说的,很简单的一句话,我们几个执行了很久才明白,其中包括对自己有利的项目时间周期,进度,需求,产品固件等等,正常的进度情况下,不发这些是没问题的,但是我们需要更多考虑反面,反过来,在不利的情况下,如果能我们拿出邮件,证明出责任不是自己,才是正确的。
不要替别人做决定,不是自己的事找相关人员确认,不要越过自己的职责范围内,否则责任,任务,都将是你的,干好了,没你啥事,反之不好了,全是你的事。
之前跟华为的朋友吃饭就聊到责任问题在公司里,华为分工明确,这是为什么?首先任务分工明确,且责任分工明确,不是自己的事坚决不做决定,如果是自己的,那完全ok,如果其中有一些不是是自己的事是其他部门的事,被自己揽来了,那就等着si吧。要明确是不是自己的任务,头脑必须清楚,说不明白,任务都是你的!
说了这么多,好像比较空,其实就是我们自己的“思路”!思路肯定重要,大家都能理解到,但是能有思路的有几个人呢?慢慢去培养思路的就更少了,可能有人会问,结局问题的思路算不算?当然算,但是那个思路不是最关键的,最关键的,是遇到问题,在想要解决问题的思路之前的思路,有点模糊?那就是跳出解决问题的思路,看全局,从根本上减少问题的来源,还有点模糊?
举个例子:
之前我们对接客户一般采用十六进制对接,如果三方都需要进行开发或者变动,那联调起来是非常难的,问题不好定位,且相互推卸责任,一方有错,三方支援,一点都没错,到现在我手里还有按照客户的协议在做,还没有结束项目的,我们几个公司的工程师都不好过,zei累。
有变动就会有错,功能越复杂出错几率越大。结局方法就是有不改动,不改动就不会有错!自己定制通信协议,也就是自己是标准,让别人来对接,这时自己就不用更改代码,只需要自己能够维护好这个标准,提供较为全面的客户需求。
想执行起来当然没这么简单,整体思路思路是正确的,剩下的就是解决问题的思路,这是一个小范围的,需要我们自己用沟通交流来解决,你想,想要一个公司更改项目对接方式,是需要成本和时间的,是个正规的公司就会直接否决!如果遇到这样的问题你怎么来说服??这是可以通过沟通的艺术来解决的。这个问题也是新师傅解决的,一个客户一个客户的沟通交流,废了很大的劲。

成长

在之前的师傅那里,没有什么压力,但是每天很累,感觉进步的空间很少,公司内部邮件发送拘束也没有人给强调,后面换了师傅,压力虽然大点,但是实打实的是进步,有自己在应用层的开发,思路的构建与实现,邮件,沟通的各种注意事项,不同平台的代码移植,基于规格书的功能实现,代码编程规范,指针数组的疯狂强调,文件的存放方式,思维培养等等,可以说我是遇到了贵人,在这里谢谢这位师傅,这些东西很难在一篇文章里说的很详细,但是我举得例子很实用,之前我也像他们一样排斥我的新师傅,后面才知道他的良苦用心!怎么知道的??这些例子里面的坑踩了,吃了亏,当然就能分清好坏。
举个实例
最近正在做安防项目,用到华为的生态,我们是16进制通信,我负责wifi端,mcu端是客户,华为负责app端
因为项目刚开始,除了mcu是成熟的(不用变动)的代码,wifi这边是为mcu定制的,除非,mcu要添加功能,正常情况下要更改的就是app端和wifi端,巧了,因为国标的变化,mcu随后也要更改,我的噩梦开始了!!!
凡是更改的东西,没有人能百分百确认没问题,也就是因为这个,现在这给项目还没完全结束,只是在尾声了,也因为是定制,我这边是工作量最多的,按理说,也是事实,问题也是最多的,而且当时我还是个新手,可想而知!闷头闷脑的我,就瞎忙,埋头写代码,真就是没脑子的程序员-----码农!遇到问题就解决,没问题就是万幸,前期花了很长的时间,因为疫情这个项目也延长了,mcu那边就着急了,后面最后的调试,因为增加了功能,导致数据接收不完全,没找到问题在哪,于是wifi侧换了一种接收方式,问题还是一样,我这边反复检查真就是找不到问题,我自己都快绝望了,因为领导都在群里,我的压力真的超级大,当时看,我也觉得问题在我这里,里面关乎着自己的能力问题,领导的信任,客户对我司的认可,华为对我司的肯定,如果不解决,就需要出差深圳,到最后我自己都不相信问题不是我的!还是mcu的工程师找到问题,是mcu的数据处理问题,因为数据太多,太繁杂,我这边真的不好定位,这就是定制化的坏处,不仅是我,我的其他同事每个项目都是这样的进度,难易程度。
后来采用了我司的通信协议,将主动权放在自己手里,之后我们的工作量和事情少了太多,以至于我现在还有时间来写我的感受,也有更多的时间来学习,这个通用协议是我新师傅指定的,代码也是他敲的,但是他要求我们每个人也必须写一个基本功能类似的一套代码出来。随后跟他的对比,差异在哪,哪一种方式更好。
Working for one year感悟(嵌入式软件)_第1张图片
Working for one year感悟(嵌入式软件)_第2张图片

这样对比下来,采用我们已经做好的通信协议,问题少了,事情就少了,而不是一味的拿着问题去解决,问题是解决不完的,讲师无休止的,举个例子让大家以后要有大局观,要做领头羊,自己有了思路,别人就拿自己没办法,还是这个项目的问题,之前因为这个数据错误专门开了电话会议,会议中我新师傅也在里面,我一直在纠结问题本身,同样的,却像往常一样,脑子没转过弯,mcu发来数据,我这边接收错误,按照通信标准与逻辑,未回复或者ack错误,会再次重发,但是mcu没有重发,我却在纠结为什么一次接收会错误,这是我师傅说的,我是没想到的,这样,问题就成了55开,功能的不全,mcu侧也分担了责任,当时的气氛太严肃了,我根本不敢说话,也是因为责任55开,这个会议还算好的结束了。
最后,mcu侧自己找到了错误。

总结

没有讲的很仔细,但是举了例子,希望能有所帮助,希望大家也能在自己的工作中能积极培养大局思维。应证了一句话:做的越多,错的越多

你可能感兴趣的:(C语言)