上层应用开发是否真的没有底层开发有前途?

首先明确什么是底层开发,这个界限很难划分,有人说搞音视频底层编解码就是底层了,但是我们看来不是这样,下面还有rom中音视频模块,再下面还有driver,最后到物理硬件。那么我们姑且这么划分,以是否有大量的的业务逻辑为界限。业务逻辑,一般就是和产品形态紧密连接。以音视频为例,上层播放应用,会接入数据、UI等产品需求。下层播放内核,主要以播放器为中心,对音视频数据注入,解码,渲染。

我们从几个方面看下应用层和底层

1、市场需求

应用层工作机会往往较多,如10个工作,9个是应用层相关。毕竟企业或是公司都是商业化,都是围绕产品开发。而底层是支撑应用层。很多公司也不需要底层开发。因为完全可以用第三方的解决方案。可以在一定程度上节省公司人力物力。所以很多底层开发都是在稍微具有一定规模的公司才有。从这点上看,底层的确有点坑。

2、开发难度

一般底层开发都是用c/c++实现,应用层开发很多都是java/php等这些高级语言实现,不排除一些工业级软件使用c++开发,从上手来说,熟练c/c++相比于熟练java开发,周期会更长。但并不是说java就不好,java能写那么多很棒的应用,这点上c/c++比不上的。但是一般有些特色一点的东西,如在Android平台上,都会放到Native中开发。一方面是效率提升,另外就是安全。

3、发展方向

底层走的是窄、精路线,工作年限越长,对于个人专家能力越有提高。应用层走的是广、多路线。工作年限越长,对软件

架构设计越强,当然也是可以锻炼专家能力。应用层变化多,参与变革的机会会多很多,底层改动少,不是特容易有这样机会。完全看个人兴趣。

4、薪资待遇

这里只讨论专家工程师,不讨论走管理路线的。底层待遇比应用层多,随年限增加,呈趋势。

最后,不要认为底层有前途,做应用层一样有前途。有人说,做底层,看起来很厉害的样子,这些都不是重点。重要是投入进去,精益求精。上层的东西更有意思,更有发展空间。不仅是要面对灵活多变的需求,各种功能,把这些东西组织成一个产品就是非常考验能力的。光谈技术,怎么搭建架构?要做一件事情有多种选择的时候,如何选择?如何保证稳定性?如何保持扩展性?如何不在不必要的地方浪费精力?如何提高开发效率?而底层,眼前的一些细节就已经让人很伤脑筋了,好不容易解决,也没有办法去考虑能不能做得更好更可靠。老做底层,很容易只见树木不见森林。至于收入方面,很可能底层开发因为技术更新慢,所以更容易积累,单纯做技术的时候薪水就容易上升。而做上层,技术更新快,新涌入的人也多,得持续努力学习,开拓视野。做完底层的人,更喜欢做上层,这样既然能领略森林之美,当然是森林更适合你。

iOS赞赏通道:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值