大学毕业 华为 软件开发 和 底层软件开发 该如何选择!?

凌绿的微风 2014-11-08 11:09:37
小弟今年本科毕业,专业不对口(学管理的)。
自学三年软件开发,所以在招聘的时候顺利被华为录用。
不久前HR打电话来告诉我说可以让我调岗位,从软件开发 和 底层软件开发 来选择。

由于底层软件开发照理来说基本要求是硕士,但是他们还是给了我这个机会,我就毫不犹豫地选了底层开发。

但是我发现我不太了解底层开发,在网上搜索了之后发现底层开发要设计硬件知识,比如数电,模电。但是由于我是自学软件开发的,我并没有了解过任何硬件知识,数电模电这种概念我就是完全没有听说过。 我的开发经验大多数都是面向对象的C++语言。

所以想请教一下各位,底软 和软开 两者的区别是不是很大?哪个相对更有前途?
最关键的是...如果的确是一点点硬件知识都不具备,是不是最好不要选择底层软件?免得坑了自己又坑了公司。

最后问一下华为的软件开发一般是用什么语言做什么类型的应用呢。
...全文
3053 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
shinerise 2016-11-02
  • 打赏
  • 举报
回复
偏低层的通常需要一些硬件知识,不过也不绝对。实践中慢慢积累吧。华为会有好导师,进去了想学点话,成长会很快。并不是人会什么才去做什么的。
mortimer7866 2016-11-01
  • 打赏
  • 举报
回复
引用 4 楼 Heaven_Redsky 的回复:
底层开发接触的硬件比较多,给人的感觉更能了解“真实的世界”,呵呵。 但是,相对来说,学习曲线很长,2,3年可以真正入门吧。能做多深完全取决于个人的愿景和毅力。可以说越老越值钱(如果能一直做下去的话)。 要学习的东西前面几位已经说的很全了。还一点就是底层开发要接触更多的硬件,也就意味着要读很多的器件手册,全是英文,这个很是需要适应一阵子。
真实的世界。。
mortimer7866 2016-11-01
  • 打赏
  • 举报
回复
个人喜欢c/c++软件开发,楼主既然没有硬件知识选嵌入式可能比较难
zhujinqiang 2014-11-23
  • 打赏
  • 举报
回复
引用 1 楼 lr2131 的回复:
结合你自己的专业和你的技术能力,建议你还是尽量不要选做底层,一定要做的话,选上层软件开发。 华为做底层最近非常缺人,我前几个月也被联系过好几次,但我现在也不想再去做太底层的了,虽然很喜欢做。 华为想让你去做底层,是考虑到两点: 1.华为确实缺人。 2.有些大公司不在乎你是不是真的专业不对口,他们有的HR更看中的是你的人品,你人品好,做事踏实,他们愿意花钱花精力培养你去做那些目前不擅长的工作。
++
SolaceYu 2014-11-22
  • 打赏
  • 举报
回复
我想问问楼主哪个学校毕业的。。
WangLanguager 2014-11-22
  • 打赏
  • 举报
回复
还是作软件开发吧,做底层需要你对ARM体系结构相当了解,为了写bootloder,对linux内核相当了解,为了写驱动和移植驱动程序,还要对数模电相当了解,为了能看懂芯片手册,不需要你自己设计电路,电路已经由硬件工程师设计好了,但你需要知道硬件是怎么工作的,就得懂数模电。这些东西非常耗费人精力,而且和你原来所学的c++知识相去甚远,c++的OO在底层方面基本用不到,感觉你可以选择做QT,嵌入式中的应用程序开发,会用到c++,是你的长项,最好不要舍本逐末。
杨六 2014-11-18
  • 打赏
  • 举报
回复
放心,在华为开发不会太难,多跟项目组的同事交流请教,在工作中再积累相关的知识。华为的人要善于求助
fly 100% 2014-11-17
  • 打赏
  • 举报
回复
如果大学期间做过fpga 做底层应该没有问题
lbaihao 2014-11-16
  • 打赏
  • 举报
回复
结合你自己的专业和你的技术能力,了解一下是什么部门的职位,具体任务是什么再做决定
韩半仙 2014-11-10
  • 打赏
  • 举报
回复
我做android 驱动的,可以探讨一下。
曹大夯 2014-11-09
  • 打赏
  • 举报
回复
具体问题具体分析。 “底层软件开发”也有很多方向,有不同的技术。需要的知识也不一样。 如果可能,你可以了解一下是什么部门的职位,具体任务是什么再做决定比较好。
Heaven_Redsky 2014-11-09
  • 打赏
  • 举报
回复
底层开发接触的硬件比较多,给人的感觉更能了解“真实的世界”,呵呵。 但是,相对来说,学习曲线很长,2,3年可以真正入门吧。能做多深完全取决于个人的愿景和毅力。可以说越老越值钱(如果能一直做下去的话)。 要学习的东西前面几位已经说的很全了。还一点就是底层开发要接触更多的硬件,也就意味着要读很多的器件手册,全是英文,这个很是需要适应一阵子。
lr2131 2014-11-08
  • 打赏
  • 举报
回复
结合你自己的专业和你的技术能力,建议你还是尽量不要选做底层,一定要做的话,选上层软件开发。 华为做底层最近非常缺人,我前几个月也被联系过好几次,但我现在也不想再去做太底层的了,虽然很喜欢做。 华为想让你去做底层,是考虑到两点: 1.华为确实缺人。 2.有些大公司不在乎你是不是真的专业不对口,他们有的HR更看中的是你的人品,你人品好,做事踏实,他们愿意花钱花精力培养你去做那些目前不擅长的工作。
shinerise 2014-11-08
  • 打赏
  • 举报
回复
前途都挺好。底层的确需要一些硬件知识。
gududesiling 2014-11-08
  • 打赏
  • 举报
回复
底层开发设计的内容太多,门槛比较高,模电你可以不精通,但是一些基本的知识得需要知道的,什么寄存器,什么电平等,数电需要没事的话研究研究,从事底层开发主要涉及数电,但是都是比较浅的一些知识(那些模电,数电比较牛逼的人一般都是硬件工程师)。 软件方面基础,涉及的内容也比较多:操作原理,汇编,现在linux相对来说比较有优势,那么你还得需要嵌入式的相关知识:bootload,kernel移植,驱动开发。 上述三者boot部分只需要理解怎么个流程即可,kernel就是一个配置的过程,最终做底层开发,基本上就是驱动-》driver的开发了,这就涉及和硬件打交道了,但是和具体寄存器打交道的只是很初始的一部分,大部分是内核和驱动的框架的知识,找本书研究研究吧。 最近移动端相对火爆,而android的底层仍然是linux,底层开发也就是驱动的移植了。。。
打开链接下载源码: https://pan.quark.cn/s/589796089f72 C++课程设计任务列表,涵盖以下内容:1、识别并显示10至99范围内,各位数乘积超过各位数和的数值,例如数字12不满足条件,因为1乘以2小于1加2,故不输出;而数字27满足条件,因为2乘以7大于2加7,因此需要输出该数。2、开发一个功能,用于从用户输入的任意数量实数中找出最大值与最小值:首先要求用户输入一个正整数n,代表数值的个数,随后用户可输入任意n个实数,程序需找出这n个数中的最大值和最小值并将它们展示出来。3、实现两个已排序数组的合并操作:设有数组A和B,且假设这两个数组的元素均已按照降序排列。编写程序将A和B合并成一个新的数组C,并确保C中的元素同样保持降序排列。int A[10]={123, 86,80, 49,33,15,7,0,-1,-3};int B[10]={100,64,51,50,27,19,15,12,5,2};4、设计一个函数,用于计算特定分数序列前n项的总和,该序列为1/2,1/3,1/4,1/5,1/6,1/7,...。要求在主程序中提示用户输入一个整数n,并验证输入的合法性(n需大于1方为有效),若输入合法,则调用求和函数并显示计算结果。5、编写一个程序,计算两个用户输入日期之间的天数差:用户需以year1,month1,day1和year2,month2,day2的格式输入两个日期,程序随后计算这两个日期之间的天数间隔,并将结果输出到屏幕上。要求编制具有如下原型的函数difs2Date:long GetDayDifference(int y1,int m1,int d1,int y2,int m2,int d2);并在主函数中调用此函数,将计...
代码下载地址: https://pan.quark.cn/s/ee8627e4e6d7 ABAP调试器是一种功能强大的工具,可用于在执行期间对ABAP代码进行检验。除了常规的核心功能(例如逐行运行代码以及检验变量、字段符号和引用的值)之外,它还提供了一些辅助性的特性,能够简化并压缩调试会话的时长。并非所有使用者都熟悉这些辅助特性。SAP ABAP调试器是处理和优化ABAP代码开发与维护工作的核心资源,它配备了多样的功能来协助开发人员在运行状态下进行检验和排除故障。此资源着重阐述了ABAP调试器的一些高级特性,涵盖了深入分析调用堆栈、系统级调试、更新会话调试以及提升调试效率的方法。 1. **深入分析调用堆栈**:除了常规的应用程序调试,开发人员有时需要对调用堆栈的内部层级进行深入调试,特别是在错误出现在异步执行的更新处理或系统级程序时。通过启用**系统级调试**,可以访问通常不公开的系统代码,但这也会导致调用堆栈的显著增加,因此需要审慎操作。 2. **系统级调试**:对于不含业务逻辑的系统级程序,开发人员通常无需进行调试。然而,在特定情形下,例如进行错误追踪时,可能需要进入系统代码。借助调试器的“系统调试启用/禁用”选项,可以赋予对系统程序的调试权限。 3. **更新会话调试**:在处理异步更新任务,例如持久化业务数据时,错误可能发生在更新任务内部。激活**更新会话调试**,在更新任务完成后,调试器将自动启动,展示执行路径。比如,在变更成本中心后,通过输入调试指令 "/h" 启动调试,保存后能够看到更新过程中的错误。 4. **分析调用堆栈**:在进行深入调试时,调用堆栈是至关重要的。通过分析调用堆栈,能够定位到引发问题的具体位置,如在VB_V2_NORMAL...
源码链接: https://pan.quark.cn/s/a4b39357ea24 小程序雷达 AI 驱动的小程序生态选型与风险评估工具,把微信小程序开发资源转化为可筛选、可评估、可对比的技术雷达。 线上地址 主站: Vercel: 适合谁 正在做微信小程序技术选型的产品、研发和架构团队。 需要判断 Taro、uni-app、原生小程序、组件库、云开发和 SDK 风险的团队。 需要把历史 awesome 列表转成可筛选、可对比、可验证技术雷达的维护者。 可以做什么 Radar:按推荐状态、风险等级、资源类型、分类和适用场景浏览小程序生态资源。 Quick Search:快速搜索资源并跳转常用页面。 Compare:对比 Taro、uni-app、原生小程序等核心方案。 Advisor:输入选型问题,获得推荐结论、适用/不适用条件、迁移成本、下一步和证据来源。 Doctor:粘贴小程序项目配置,识别框架依赖、过时方案和迁移风险。 Weekly:查看小程序生态周报和近期风险信号。 数据概览 当前数据集中包含 236 个小程序生态资源。 完整资源可在 Radar 页面和导出能力中查看。 核心样例 Taro ★30.6k+ - 使用 React 的方式开发小程序的框架,同时支持生成多端应用 uni-app ★36.1k+ - 使用 Vue 语法开发小程序、H5、App的统一框架 MPX ★2.1k+ - 增强型小程序框架,深度性能优化,支持跨小程序平台开发,完全兼容原生小程序组件 WePY ★21.7k+ - 支持组件化的小程序开发框架 vant-weapp ★12.3k+ - 高颜值、好用、易扩展的微信小程序 UI 库 tdesign-miniprogram ★1.3...

21,620

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧