软件与硬件是相辅相成的,硬件是软件的环境支撑,而软件能够充分发挥硬件的效用,在互联网快速发展的当今时代,软硬件相结合的趋势也非常明显。
从行业的市场规模来看,硬件工程师的市场需求远没有软件工程师的市场需求量大,因为硬件研发具备一定的规模性和集约性,模式相对于软件来说是比较统一的,而且硬件体系结构相对规范,标准也大多是统一的。而软件则往往根据不同的应用场景和模式有非常多的变化,即使是同一个行业也有众多的软件需求,这就导致整个软件市场的规模非常大,从业人员也非常多,尤其是在Web2.0以来,软件市场规模得到了爆发式的增长。
硬件工程师虽然市场规模小,但是硬件工程师的从业门槛相对要高一些,而且硬件工程师的工作岗位以研发级岗位为主,相比较而言,软件工程师大部分都是应用级岗位为主。在职业生命周期方面,硬件工程师的职业生命周期要明显长于软件工程师,而且硬件工程师对于年龄并不像软件工程师那样敏感。
我觉得,硬件工程师和软件工程两者关系越来越密切,两者可谓殊途同归,配合实现功能目标,满足用户需求。至于那个更有前途,我想还是两者兼顾最有前途(如果可能,不妨先做软件工程师,后转做硬件工程师)。至于个人如何选择,这要看自己的性格特点、兴趣爱好,以及根据行业发展趋势与进程去定位,大原则应该是兼顾当前谋生和长远发展,除非你未来打算跳出这个行业发展。
随着年龄增大,软件工程师需要适时转型(基本也算吃青春饭),比如去做系统集成、人工智能等,以延续自己的职业生命。
硬件工程师需要不断了解不同厂商相关产品功能、性能和产品接口情况等。要做好硬件工程师,还需要对软件的功能实现有一定的认识水平。硬件工程师对年龄要求更宽泛一些。
总之,无论如何选,两者终将殊途同归,软件和硬件会越来越高度协同、转化、集成,去完成用户项目功能。因此,从长远发展看,个人在两者的选择上,可以一个为主,一个为辅;一个在先,一个在后,如此相辅相成,延长自己的职业生涯,体现自己更大的行业价值。我觉得,如此,最有前途。