先说结论
Q:现在学硬件好还是软件好?
– 答:建议首选软件!
下面我们详细说说为什么。
硬件开发就是制作电路板或者电路原理图。 原理图通常称为设计。 PCB称为布局或布局。 在芯片方面,也叫同一个。 芯片原理图直接称为设计,芯片布局称为版图或版图。 这通常被称为芯片。 设计或芯片布局。
嵌入式工作是用成品芯片完成的,不接触芯片开发。 说起嵌入式软件,大多数人都是程序员。 嵌入式硬件开发没有太多内容。 狭义上的嵌入式芯片一般都有固定的引脚位置。 硬件设计基本上属于抄板工。 布局设计是指早期的抄板工抄完第一步后,按照给定的指示进行操作。 电路板的形状和布局以及走线规则是这样布线的。
说到硬件设计和开发,需要学习的内容非常多,包括最基本的模拟电路。 做项目的时候还要考虑布局、高频、差分、等长、阻抗。 事实上,电路板的形状无法控制,必须考虑布局。 其他软件可以自行计算。
尽可能尝试开发嵌入式软件。 仅仅嵌入式硬件的开发周期比较短,很容易给人留下这个人很闲的印象。 很多人并没有意识到硬件的价值。 没有软件工资现在的环境看起来不太好。 。
以下是硬件工程师的一些特点: 1、创新相对较少。
大多数理论的东西要么是基于书本上的经典电路设计,要么是根据设备制造商的标准电路来设计。 硬件工程师水平的真正体现在于PCB LAYOUT的水平以及LAYOUT生产的板子的稳定性。 性能好不好,电磁兼容,电磁干扰,器件选型,高低温性能等等,这些东西。 然而,没有专门的书籍可以教你这些知识。 只有通过多年的LAYOUT技术积累,你才知道如何倒铜,如何布局器件,所以硬件工程师需要时间和年月。 当然,我们这里说的是最工业级的产品。 如果是高频雷达,就不谈军工级电路原理的设计了。
2、工期长、错误成本高
你必须小心谨慎。 工作中经常遇到的是,如果PCB出现问题,需要修复各种飞线,然后重新输出图纸到嘉力创赶生产。 基本上犯一次错就损失几百元+几天。 没了,所以硬件工程师一定要小心了。 相比之下,软件问题可以通过重新编译运行来解决。
3、替代性强
例如,代码都是我写的。 第二个人要理解我的软件工程是非常困难的,因为软件潜在的逻辑关系并不是那么容易清楚地表达出来,即使是用最标准的方式编写。 注释,最标准的变量名定义方式,第二个人接项目就会乱七八糟。 随着软件工程变得越来越复杂,这一特点也变得越来越明显。 软件是否成熟并不重要。 如果是不成熟的软件,或者以后肯定会增加新功能的软件,它最初的软件开发者一定非常重要!
与硬件工程师相比,硬件的复杂程度是有上限的,不会太复杂。 应届生靠百度几天基本就能搞清楚原理图和布局了。
因此,可替代性非常强。 笔者曾在多家公司辞职,在递交辞呈时心里很清楚。 除了我之外没有人能完全理解这段代码。 当然,可能有人会说我写的代码不规范。 不过目前出货量还是很稳定的,不需要改代码,这样就最好了。 如果需要更改,肯定没有人比我更适合更改该代码。
可替代性的另一个明显例子是第二个人接管原来工程师的工作。
1.硬件工程师
将原理图和PCB图展示给第二人看。 第二个人也有基本的专业知识。 我认为它会很快,但是理解布局中的技巧会很困难。
2.软件工程师
向第二个人展示所有源代码。 第二个人就能读懂,但很难理解底层逻辑。 但就像硬件一样,它只需要可用即可。 如果你想改变它,就会影响整个身体。 只能是996。从修改难度上来说,软件修改难度更大,所以硬件比软件更具有可替换性。 我们这里所说的是以嵌入式复杂软件为前提的。
所以,谈完以上三点,建议优先选择软件!