怎样才能在技术领域走的更远?

关注汽车工程师谈技术,一起学习技术

今天和大家一起聊聊怎样才能在技术领域走的更远。我个人觉得有以下几点是很重要的:

  • 扎实的专业技能和求知欲望

  • 学好英语

  • 好的职业规划以及适当的跳槽

1、扎实的专业技能和求知欲望

对于一个嵌入式软件工程师而言,最重要的专业技能有如下几点:

C语言要过关,C语言作为嵌入式编程最主要的语言,C语言相对于其他语言最大的特征的是它的灵活性,把C语言学好你能理解很多程序运行的本质。怎样能判断C语言理解过关了呢?

  • C语言语法要熟悉,编程语言和日常说话语言一样,都是有自己的语法的,这个多背多练多写就能学会。语法没有为什么,因为它是语法,发明这个语言的人就是这么规定的。

  • C语言的灵魂指针是一定要理解,包括常规变量指针、函数指针、数组指针等,指针的概念和内存分不开,需要自己领会理解的。

  • 程序运行内存结构是一定要理解的,包括栈、堆、数据段、代码段等。

  • 常用的算法和数据结构也是需要理解的,比如链表、栈、队列、数组等。

对芯片结构有一定的理解

  • 理解一块主芯片SOC(片上系统)内部集成了哪些东西。主要是由CPU、运行存储(RAM Cache)、静态存储(FLASH)、各种外设IP(外设控制器)组成的。随着现代电子科技发展,越来越多的功能会集成到主芯片内部,这样可以减少外围电路,提高稳定性。

  • 要对CPU架构(比如ARM)有一定的理解。包括CPU的指令集、CPU模式、寄存器、系统调用等,这就要求懂一些汇编语言,至少能看得懂汇编。

对数字电路有一定的理解

  • 能看懂产品硬件原理图

  • 对常用的通讯总线协议有一定了解(SPI I2C CAN ETH等)

  • 会使用示波器

软件架构思维

当有了好几年的工作经历之后,你就会发现你已经不满足只是写写函数实现、调试接口了。你会有大的软件工程架构的思维,怎样规划一个项目的软件架构是非常重要的。如何把软件分层,解耦,模块化开发,这是软件架构师干的活了,能不能上升到这个境界需要看天赋了。

讲完专业技能,还有一个最重要的就是求知欲望了。

做技术做重要的是自己能够喜欢,并不断学习。在项目开发过程中,不断探索技术本质,享受解决bug的过程,并不断提升自己。如果你在技术开发中享受不到任何成就感带来的喜悦,那你确实不太适合做技术。

2、学好英语

没办法,英语在技术开发中确实有很大的作用。首先,我们买的芯片基本上全部都是国外的芯片,所以他们的所有资料都是英文,包括数据手册、用户手册、官网资料等等。

我们学的C语言技术,本身就是国外人发明的,所以变量字符都是英文字母,C语言语法很多关键字也是英文,很多代码的注释也都是英文的。

目前我接触的汽车电子行业的技术,基本都是来自于国外,我们常见的CAN总线、ETH总线协议也都是国外发明的。所以想要真正理解这些技术,还是得学英文。

还有一点,有可能你进了公司之后,你会发现你有老外同事,或者你直接进了外企,英文还是跑不掉。

3、好的职业规划以及跳槽

做技术,其实有一个困扰我们的问题:到底是行业重要还是技术重要

  • 一直在一个行业工作,跳槽也在这个行业,当然做的技术领域也都一样。

  • 一直做一种技术,但是跳槽从事的行业不一样了。

上面两种选择,其实我个人觉得对于技术人而言,行业并不是那么重要。只要自己的技术得到延续性,有技术的积累,是不用愁找工作的。

对于很多普通学历的人而言,很难有机会能直接进大厂,这时候又有一个问题了,是去大厂做外包好还是去小公司做正式员工好

我个人觉得,如果你的年纪不大,并且有机会去大厂历练,即使是外包也比去小公司好。这个点其实是有争议的,我个人是觉得如果大厂提供的是一个实际开发的岗位,是可以去大厂做的,并且大厂外包的工资也不会低于小厂。

上面两点都是大部分普通技术人可能会被困扰的,所以做好职业规划很重要。知道自己想要什么,想好未来的发展方向,你选择起来就不会那么难了。

做技术的还有一个会一直伴随职业生涯的事,就是跳槽。好的跳槽会让自己的发展的很好,迈上一个新的台阶。不好的跳槽可能会适得其反,严重的会毁掉个人职业生涯。跳槽一定不要太频繁,2-3年一次是比较好的,但是也不排除有一个特别的好的机会,不管是薪资还是平台都很好的机会,这个也要及时把握住,因为机会真的会稍纵即逝。

END

公众号 | 知乎 | CSDN:汽车工程师谈技术

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2023年12月23日
下一篇 2023年12月23日

相关推荐