首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

拥有一个32岁入行的嵌入式爹是什么体验:这就是电子工程师!

导语:身为电子工程师的我,有着一位32岁入行的70后嵌入式电子工程师的父亲,他真正诠释了“匠心、专注、守信”——这就是电子工程师!

岁月的锤炼

如上图,这是2003年老旧款的圆口接口的键盘。

有人问我这个键盘难道没有擦过吗?

不,这是擦不掉的岁月痕迹。

如果有注意到细节不难发现,工程师什么键位用得最多。

当然除了(ASDW,YUHJ,那是我小时候玩拳王留下的)。

这个键盘虽然老旧,但是我爸一直不舍得扔。

03年的时候,他从二手市场买会来了这台486Cpu主频的二手电脑,开始自学汇编。我爸是只有初中文化。但是有超强的动手能力。

零编程基础入门嵌入式开发

因为当时03年的时候,他刚从一家电子厂辞职,当时的他只是一名流水线上的焊锡工,虽然是个组长,但是也感觉到了职业的局限性。为了职业的发展,他选择了辞职。

这也带给我们一个启示,作为男人,如果觉得职业看不到头,趁早换工作吧,如果不趁早,你会在以后的家庭压力中选择妥协,再也看不到头了。

他在电子厂里看到了单片机这种玩意,看到了他们工程师的工资和待遇,辞职的第二天,他就买回了这台486奔腾系列的二手电脑,和一台仿真的烧写机器(把程序写到芯片的机器),一本汇编语言入门的书,开始了他12年的嵌入式开发之路。

这里给我的启示是说学就学,不要想着看看怎么入门,最好的入门技巧就是动手。

图书馆抄书的怪蜀黍

学C语言的时候在新华书店偷偷抄的笔记

初中的时候每周六我爸都会带我去新华书店去看书,在那里每次都是他叫我看着图书馆里员有没有来,然后他就在那里专心地去抄写这些代码片段

这种学习方法在我看来,现在就是个笑话,随便打开一个网站,代码都是一堆堆的,但是话又说回来,你们在这些源代码中学到了什么,记住了吗?会灵活运用吗?从前辈的学习方法来看,记录一些常用的代码片段还是很用必要的,你的github有一套自己的代码片段吗?如果没有那就赶紧收集!

但是我爸的笔记,我每次问他,这是什么项目的,他都能记得很清楚,当然他当时入门的时候是非常痛苦的,一个英文单词都不懂,可想而知。可是大家的基础应该比我爸高很多吧,所以不要怀疑自己是否能够学会编程,是一定能够学会的。

语言都是通的,变的只是表达方式,思维和流程是不会变的

我们的老师从一开始就教我们画一些简单的流程图,但是我们很多人都觉得他太简单了,没什么意思,于是就开始去追求那些表面华丽的界面,去满足自己好奇而又虚荣的心,但是他们错过的是真正的编程技术,这就是当时的我。有很多人都觉得大学的课程很基础,实际用到项目的很少,是根本不能拿来做项目,书本上学的都过时了。

而实际上,书本教会的是我们写字(编程)的姿势(方法),教会我们如何拿笔(写程序),如何写好字(好程序),一旦你学会了就能够写出一手好字(好程序)。所以有很多人写不好字(程序),那就是在小时候练字(初学编程)急于求成,想着去玩(炫耀)。这是我最深刻的反省,也是对各大初学者最好的忠告,编程必须耐得住寂寞!

编程需要的是流程再造

软件工程跟建筑学很像,它们都是基于现实的技术,搭建最好的解决方案。“钢筋,混凝土”这些都是做好的,都可以直接拿来用,编程也是如此,嵌入式开发也是如此。

一块移植了UCOSII系统的STM32实验板

这块板嵌入了UCOSII系统,可同时执行多个任务,并可指定任务优先级。通俗地说,你可以边听音乐边打字。虽然看起来很低级,但是嵌入式就是这样。很高端吧,但是我一问我爸,你是怎么做出来这块板的,你真的这么厉害用C语言写了一个操作系统?

板子是自己画的,其他的芯片都是买的,CPU程序是自己写进去的。原来嵌入式开发所做的事就是负责把各个功能模块合理设计,用程序去调度。现在成熟的芯片都是厂商写好了程序,提供外部调用接口,开发人员并不需要了解他里面的内容就可以开发了。

这对我以后学编程启发很大。我的老师曾经说过:“软件工程师之所以能够写出解决实际问题的程序,是因为他们懂得流程再造,用现实的轮子(技术)去实现这个流程”。想成为一名软件工程师首要的不是编程语言能力的把握有多么厉害,而是懂得把现实生活中繁琐的流程通过计算机科学来简化,我觉得这才是真正的软件工程师。我爸的编程基础虽然没我强,但是流程再造的能力比我强太多了。也许这就是经验吧。

我把我爸逼成了伪全栈

大二时候的我,学了C#,会做一下简单的winform程序,然后就开始飘飘然了,跟我爸吹牛了,当时我爸高兴坏了,直接就给我接了一个真实的项目,真金白银啊,我当时还傻傻地答应了。由于是真实的项目,程序的容错必须很高,你不能够点几下就throwexception吧,但是我做的项目都是校园里面的实验,过家家玩的而已,虽然老师给了好评,这都是大学里面的花拳绣腿。真正派上用场的时候,确显得苍白无力。

理所当然,我的程序终将不能按时完成。我爸意识到了,他笑着跟我说:“你教我学C#吧,我们一起探讨这个程序。”,没办法啊,只能让我爸去学吧,一个星期后,他开始于我并行开发,这是我跟我爸同台工作最好的回忆;为什么我爸能够在一个星期学会C#(只有C语音基础)?

工程师的特技—专注

亲人总是对我说:“你啊,坐久了要多起来走走,看看远处,这样子才好”。可是我觉得大部分程序员都做不到,因为编程是根本停不下来的,一旦你入门之后,你就会有种时刻想创造的感觉。

这是写程序写出来的专注。说到这,我就想问问大家:“你能够专注多少个小时?”,我把这个问题抛给了我爸,我爸笑着跟我说:“用煤气,把一个装满水的平底锅烧穿需要多少时间?”。这是他的一次真实的经历,那是他在用汇编语言编写一个MP3播放器,在调试的过程中,忘记了自己在烧开水,幸亏煤气烧完了!说这个故事只想告诉大家一个道理:“写程序你必要保持高度的专注,但是不能够疲劳过度地专注。”

技术和沟通对电子工程来说都很重要

不少工程师一味的专注技术,忽视了与人沟通的重要性,长时间得不到公司的重用;更多的工程师以为掌握了热门了技术,如智能手机,无线通信等,就一定能够改变他们的生活,让他们活的更有成就感。其实,结合自身的实际去专注在自身的行业核心技术的掌握,不断更新自我观念,提高自身修养水平,反省与人打交道的方式方法,这样一个电子工程师才有更好的前景。很多时候,与人沟通比技术精通对一个电子工程师更重要。

电子新手“没事做,没人教,工作没有技术含量”的矛盾心态

电子工程师新手往往心浮气躁,拒绝进步,拒绝沉淀,害怕丢脸。电子工程师需要不怕丢脸:记住每一个让你丢脸的人,他们是你的贵人。

电子工程师要时刻认识自己

当时,我是膨胀了,有点自以为是了,就觉得自己行,然后就答应项目了,结果幸亏我爸厉害,不然可是要赔钱的。作为电子工程师,必须了解自己的水平上限。知己知彼(我能做,你不能做),百战不殆(我就是要这么多钱)。对的,时刻了解自己水平上限是有助于自身价值的评估的,例如你跳槽了,你对比同行,你的水平在哪里。决定市场价格的并不是企业本身,而是社会必要劳动时间(别的电子工程师要多久才能够做出来)。而最好的认识就是看最新的技术,了解行业的趋势。这次才能够让自己立足于高薪阶层。

做一名守信用的电子工程师

我爸当时给我说:”既然你答应了人家,无论你有千百个理由都要给人家完成,完成不了就是你的错,因为你对人家承诺过“。这不是在讲道理规范,而是一个程序员的职业操守,因为这样,我爸能够接手到很多外包的项目,因为他在别人眼里只有两个字:”可靠“。也许这就是程序员的个人品牌吧,如果你在企业中能够有这样的品牌,能不升职吗?

总有人质问:“我现在学编程晚吗?”,“我30岁之后还能继续写程序吗?”,“学编程难吗?”看完这篇文章后,我相信你不会再问了,因为如果你真的是热爱编程,你就应该像我父亲那样,无论现实如何逼迫,初心永远不忘。虽然,我跟我的父亲没有太多的语言交流,但是这么多年的耳濡目染,足以让我发出:“谨遵父训,不忘初心”。

作为匠心的老父亲是值得钦佩的,32岁入行的老将的成功是鼓舞人心的,这就是我们电子工程师的写照。不过在企业中也需要注意辩证地提升自己的全方位素质:

(一)可以做技术,切不可沉湎于技术,给自己很大压力,如果心思全部放在这上面,那么注定你将成为孔乙己一类的人物。除了技术,社交、人脉等东西依然不可以忽视。

(二)不要只做技术高手,还要做综合素质高手。在企业中,我们时常瞧不起某人,说他"什么都不懂,凭啥拿那么多钱,凭啥升官!"这是普遍的典型的工程师的迂腐之言。8051很牛吗?人家能上去必然有他的本事,而且是你没有的本事。你想想,老板搞经营那么多年,难道见识不如你这个新兵?也许他既善于管理,又善于领会老板意图,还善于部门协调等等。因此务必培养自己多方面的能力,包括管理、亲和力、察言观色能力、公关能力等,要成为综合素质的高手,才会前途无量。

(三)多交社会三教九流的朋友,不要只和工程师交往,认为有共同语言的才能做朋友。其实更重要的是和所有不同职位的人物交际,如果有朝一日当老板或高层管理,面对的人必然也是各个职位的。了解不同职位的经历、思维习惯和爱好,才能成为一个多面手。

(四)知识涉猎不仅要专注电子,也要广。多看看其他方面的书:金融、财会、进出口、税务、法律等等,为以后做一些积累,以后的用处会更大,会少交许多学费。

(五)抓住时机向技术管理或市场销售方面的转变,开发必然是光荣无上的职位,但根据自己情况偶尔也需要“向钱看”。技术是一切其他岗位的基础,而且走上更高的位置看技术也会有更深的认识,并且有了上面的积累,管理会得心应手。

(六)逐渐克服自己的心里弱点和性格缺陷:多疑、敏感、天真、犹豫不决、胆怯、多虑、脸皮太薄、心不够黑、教条式思维。工程师普遍存在的性格弱点必须改变。

(七)工作的同时要为以后做准备:建立自己的工作环境及早为自己配置一个工作环境、装备电脑、示波器(可以买个二手的)、仿真器、编程器等。做技术的人代表技术的不是学历和证书,而是产品,拿出象样的产品,就可技术转让或与人合作搞企业。先把东西准备好,等待机会,否则,有了机会就可以一展身手。

(八)要学会善于推销自己,不仅要能干,还要能说能写,善于利用一切机会推销自己,树立自己的品牌形象。要创造条件让别人了解自己,机会自然会来找你。培养自己在行业的名气可以尝试自己建立个主页,在名气下机会自不在话下,更重要的是有合作的机会。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190122B04PD900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券