文号
919282
阅读
8160
回复
11
收藏
5
关于“总是软件拖延研发进度”现象的一些有趣逻辑
2023/04/11
IP:四川

1、不论是软硬结合的项目,还是纯软件项目,软件都会战斗到最后,所以到最后一刻总是看起来由软件决定进度。

2、硬件改起来麻烦,能软件帮忙糊上,就不改硬件。

3、硬件调好以后,似乎就没什么动静了,于是产品经理会构思/拉来新的项目让团队忙起来,然后软件的工作就越堆越多。

4、除了微波无源这类需要大量仿真,而软件只是控制几个开关的产品,大多数产品软件工作量都远多于硬件。

5、将所有产品平均来看,软件大约相当于硬件5~20倍的工作量,但大学毕业生软硬件就业比例大约为1:1。实际电子/电气/自动化等专业的人本质上是按硬件工程师培养的,软件的地位只能算课余爱好。遗憾的是,他们硬件开发也基本搞不定。而计算机/软件专业的人更搞不了软硬结合的开发,除非有特殊兴趣。

6、由于人力不足,大多数硬件工程师都要兼写软件。

7、硬件具有更长的产业链,在矿冶、晶圆制造、芯片设计、电子学等方面都分布着大量的从业人口,但软件的就业人口高度集中在高级应用领域,面向硬件的很少。

8、嵌入式软件的人才缺口巨大(猜测高达90%),却居然没有什么“正经”工科学校开设对口专业。开设专业(嵌入式技术应用)的三本和高职院校,其课程设计也不尽合理。于是,大多数嵌入式软件工程师是生活所迫或培训班结业,而且数量还严重不足。

9、冰箱、热水器、电饭锅这样的不算太复杂的嵌入式软件,如果留意,基本都能发现BUG或不良设计满天飞。我曾经有三年每次洗澡都要咒骂美的的软件工程师,后来忍无可忍,提前扔了换万和,发现只是稍微要好点。

10、为了突破软件的瓶颈,大多数专业产品的控制部分都会超额设计,例如尽量在底层抽象硬件,然后在大型操作系统中运行不算复杂的应用软件,以便利用计算机/软件专业的人才。实际上,许多产品用嵌入式软件能做得更完美——如果不计研发成本的话。

11、与直观想象不同,嵌入式软件工程师的文档数量和质量都不如硬件,主要还是因为人力不足,没时间写。

大概就想到这么多,各位可以再想想还有啥

[ 修改于3年7个月前 - 2023/04/11 04:43:43 ]
3年7个月前IP:广东
919285
1楼

关于第11点

从我平时找资料(软硬件入门)的情况看,软件方面的资料更容易找,相同的问题多(对应问题解决起来也快)。硬件的资料感觉很散,有些不清楚为什么的地方想找找资料不太轻松(一般找不到完全一样的问题,最多只能提供个思路的样子)。


引用
评论(2)
1
3年7个月前IP:广东
919300
2楼

很简单,三流的领导层+三流的软件“工程师”。

如果领导对研发理解不足,喜欢招听话的(哪个有点水平的还会唯唯诺诺),还指手画脚,还灌鸡汤……啧啧

引用
评论
1
3年6个月前IP:广东
919808
3楼

很多在大陆常见的产品(点子),放在外面看往往是伪需求。例如各种智能家电产品。

教育模式与现代社会极度脱节,造成应用的困难。家电行业极度内卷,导致难以招聘到高质量工程师。

引用
评论
6
3年6个月前IP:重庆
919811
4楼

确实说得很在理

引用
评论
1年11个月前IP:广东
939806
5楼
引用全桥整流发表于1楼的内容
关于第11点从我平时找资料(软硬件入门)的情况看,软件方面的资料更容易找,相同的问题多(对应问题解决起来也快)。硬件的资料感觉很散,有些不清楚为什么的地方想找找资料不太轻松(一般找不到完全一样的问题,...

现在我不认同这个观点了,硬件的资料确实更全

引用
评论
1年11个月前IP:辽宁
939815
6楼

Screenshot_2024-11-26-23-06-43-549_com.nacosiren.blog.mogiciansmanual-edit.jpg

这是08年的文章。

引用
评论(3)
2
1年11个月前IP:广东
940150
7楼

软件的跨度太大了


还是以AD936x为例,假如要用这个芯片做无人机的图传,硬件的事情很简单,画一PCB,把AD936x和FPGA芯片网口芯片以及PA芯片连起来,差分线等长布线,仿真计算一下滤波器,测一下发射接收频谱,测一下功耗和散热,打一下ES D、EMI,搞这个的人不会跨太大的专业,工具的变化不会太大


但是到了软件这边,就开始复杂了,首先这台系统到底是裸机裸写寄存器?还是运行在ADI的Peterlinux上?选了后者就得懂点Linux的调试吧,接着采集摄像头的数据,得懂Linux的v4l2驱动吧,如果摄像头芯片Linux不支持,得自己写驱动,得懂i2c,采集到的摄像头数据效果很差,得要ISP优化,得懂图像处理吧,然后传输视频的数据,直接传输RGB数据是不可能的,得编码压缩成H264的TS流,好吧,又得懂一点视频的编解码技术了,接着就是重头戏软件无线电调制解调,发射得调制成QAM然后再OFDM吧,这点得通信原理的基础,然后搞这些得在电脑上仿真吧,又得会点Python或者matlab基础...


这些项目涉及到的链路太大太广,很多时候无法由一个人负责,如果参与的人多了,掉链子了就会导致项目失败

引用
评论
2
9个月4天前IP:广东
948756
8楼

有了claude code一人能顶10人,

产品经理可以直接干代码,软件再也不是瓶颈了,销量才是

引用
评论
虎哥作者
9个月4天前IP:四川
948757
9楼

Codex的确大幅提高效率,不算太复杂的东西直接告诉他要干嘛他就写好了。

唯一问题是AI不能动手调硬件,嵌软还需要人。

GPT规划系统方案问题一大堆,并且说不清楚是幻觉还是什么,你说没道理他又有点道理。

估计到今年底,开发模式就会变成全员上班调教AI。

引用
评论
2
9个月4天前IP:中国
948758
10楼

我的体验是,ai写码现在最大的难点在“准确描述出自己的需求”。需求描述得不对,那显然不可能得到满足需求的东西,不管ai水平多高都没用。也就是说这个问题完全是人的,不是ai的。

第二大的难点在“给ai提供必要信息”。比如代码要调用冷门的库,那就得把文档提供给ai。我最近在让ai写hfss的脚本,主要吃亏就吃在ai没用过hfss上,很多默会知识它不知道。必要的信息不知道的话,那不管ai多聪明都不可能做对。这个问题算是一半是人的,一半是ai的:成熟的ai应该能自己去找信息。


按照现在付费ai的水平,如果能“准确描述需求”和“提供必要信息”,简直是立刻就能解决问题。但这两件事的难度其实非常大,可能和后续写代码在一个水平上。

之前做项目经常觉得甲方是傻逼,需求说的不清不楚,还不一次说完,经常改需求。给ai当甲方后,发现自己也在这么干......

引用
评论
5
9个月3天前IP:广西
948765
11楼
引用三水合番发表于10楼的内容
我的体验是,ai写码现在最大的难点在“准确描述出自己的需求”。需求描述得不对,那显然不可能得到满足需求的东西,不管ai水平多高都没用。也就是说这个问题完全是人的,不是ai的。第二大的难点在“给ai提供...

表达是需要去反复锻炼的。建议在做计划的时候,先让AI反问,搞清楚模糊和存在歧义的地方,辅助计划。最好能搞清楚自己的需求的“样子”和AI能力的边界。




这里是一个简陋的提示词可供读者(本评论)参考:

你是一个顶级的需求理解器,善于将用户的寻求转化为具体的工程目标和实施计划,你将遵守以下核心规则:

1.[完全理解规则]:你必须尽可能的去推敲用户的意思,确保自己完全理解。
2.[消除歧义与模糊规则]:你必须将用户话语当中可能存在的歧义、模糊、不清楚、不具体的表达和问题标注出来,*并反向追问用户*,反问时,应该提供相关知识的说明帮助用户进行理解。
3.[计划书规则]:你必须将你理解的用户需求、你对用户进行的反问获得的反馈,结合起来,整理成一个可以逐步实施、范围目标注意事项明确的计划书。

引用
评论
2
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的