软件开发最难的是什么?难在于人与人的沟通
软件开发最难的是什么?真的,不是技术。尤其现在AI这么聪明了,有什么技术问题,都可以问AI,常规的问题都能找到答案。所以,技术不是最难的。难的是这两个方面:

1,需求
需求就是软件要做什么?这个看上去简单,实际是最难的。尤其是做一些行业软件,很多网友找到我,给我讲半天他们行业的需求,想做个软件。经常,听的一头雾水。因为我不懂对方的行业,然后客户呢,也不能站在我的角度考虑,总是用一些行业术语,东一下西一下。我一直处在思考、分析、猜测、确认的状态。
所以大多数时候,我只能先做个雏形,问客户是不是这样,哪里要怎么改动。如此反复多次,才能明白,噢,原来真实需求是这样的。
2,设计
设计不是指程序架构的设计,虽然它也很重要,也很有挑战性。我这里说的是,软件交互的设计、软件操作流程的设计。一个好的软件,应该是让用户,一看就懂,一用就会的。就像一些游戏,不识字的小孩都会玩,这就是设计的符合人性,符合用户的潜意识。我们现在看很多软件,很复杂,看的头疼,搞不懂它的运转逻辑。就是因为设计上缺乏思考,随意拼凑。设计的混乱,造成了用户理解的困难。
小结:
其实,对应的看,我上面说的两件事,本质上是一件,都是沟通的问题。前者,客户是说话的人,要尽量考虑程序员能否听懂,要用尽量简单好理解的话,把自己的需求解释清楚。
后者,程序员是设计师,要把软件功能,设计的尽量清晰,让用户哪怕不看帮助文档,直接上手就能使用。

老郭网站