软件工程师的问题有哪些?
发表时间:2020-02-26 16:53文章来源:维意应用软件开发网
软件开发是无用职业吗?
一位外国软件工程师在与许多同事的谈话中总结了一句话:对大多数人来说,软件工程开发是一项除了工作以外的无用的工作,这项技能在生活中很难使用。不少网友跟帖调侃称,平时还可以修修电脑、重装系统、清理电脑垃圾等。在调查中,许多软件开发工程师都不会向家人详细介绍自己的工作。除非有人刨根问底,否则有人因为介绍过于详细而被家人修理了电脑。
虽然调侃成分居多,但也不免传递出一些心酸。事实上,软件开发工程师在产品生命周期中的作用非常重要,涵盖了需求、设计、开发、修改、发布等多个阶段,对生活也没有传说那么无聊和浪费。许多软件开发工程师擅长编写解决生活问题的程序,例如编写软件或小程序来自动运行部分重复和复杂的工作;为零售商店编写网站或应用程序以方便用户购买商品;为家庭编写控制程序以达到智能目的;编写简单的日程表以提醒软件以避免忘记重要的日期.有业内人士说,有效性取决于用户是否真正需要,只要需要是软件开发工程师的价值。
另外,在海外一线科技公司工作的软件开发工程师如谷歌、苹果,已经年收入达到100万元左右。相反,从国内来看,2010年软件出口规模达到215亿元,软件员工达到72万人,但人才短缺仍然巨大,尤其是缺乏高素质的软件工程人才。
所以,这个单位不是没用的,顶尖的人才还没到。
软件质量越来越差是开发的锅吗?
一个优秀的软件开发工程师,必须对自己的产品负责。现在,一部手机就可以解决饮食、休闲、外出、娱乐等各方面的需求,一些应用程序可以处理一切,软件产品越来越多,但真正具有霸权性的创新可谓不多。基础软件的质量似乎越来越差。这个锅应该开发背包吗?
在V2EX上,一位开发者深夜发表了题为“基础开发的性价比越来越低,基础软件的质量越来越差”的投稿。前半部分是现在的事实,后半部分是基于事实的未来的推测,也就是说,将来基础软件的质量会越来越差,从什么来说呢
他认为,当今年轻人中只有很小一部分愿意维护和学习他们花费数十年时间编写的数千万行代码,基础软件的补丁质量逐年下降。很多年轻人不想成为“平行世界的守护者”,但是赞同“不制造车轮”的说法。
随着市场对产品研发和重复周期的要求越来越短,各种敏捷开发工具产生了,与以往相比,相同的功能可以通过更少的特定代码实现,软件开发工程师花费的时间确实减少了,但对性能和用户体验的兴趣也增加了这大量的软件流入市场,但总体质量下降。
确实,很多奋斗在一线的底层开发者对此也表示不满,国内还有很多开发者重视基础软件的质量,想更新反复前人编写的基础代码,但是这个小组的发言权太少,外界听到的声音太弱了。
当然,有些网民认为,这也不是软件工程师的问题,许多公司认为在软件开发过程中需求发生了变化,最终开发的产品成为无用代码的工期被压缩了很多次,为了追溯时间,大多数的软件开发引擎结果往往是非常痛苦的修正和更新,不同开发者之间的合作也可能影响系统的其他功能,导致整个软件开发过程的脆弱性。
因此,软件质量好坏不是单纯依靠软件开发工程师就可以解决的,这其中还涉及到多人协作,部门合作等问题,这个锅全部砸在工程师身上,也是有点痛。
如何避免无用代码堆积?
曾经向往的职业成为一天又一天的浪费代码时,开发者有些沮丧,无法保证产品整体的质量,但至少可以在代码水平上下功夫。无用代码堆积这种现象在日常软件开发中非常普遍,对于需求频繁被修改的问题,根源在于弄清楚软件开发的目的是什么,代码有没有用的最终决定者应该是用户,如果一段代码具备的功能符合用户需求,具备业务价值,那么就是有用的。
在软件开发过程中,需求变更和代码修改是很正常的事情,但这个不确定性需要在一定范围内。为此,最好的解决方案可能是迭代开发,也称为迭代增量开发,它将整个开发周期分为几个阶段,每个固定时间都有一个小的软件迭代,一个全面的测试,每个迭代的大版本,对开发结果的质量审查,这个过程最重要的是听取最终用户的意见,以便于调整,以及时间的优化以避免需求,以避免需要的要的要。
在开发之前,技术负责人必须准备相应的文件,确定每个工程师的分工,特别是需要合作完成的部分。另外,团队以尽量花费时间和精力进行代码审核、降低代码复杂性为目标,如果不同工程师之间代码间的影响频繁,则可以让这样的程序员担任独立开发模块,降低对项目整体的影响。
长期以来,测试在我国的重要性不够,测试团队至少应该有白盒测试、效率测试、单元测试等专业人员,不建议所有功能在测试开始前完成,最好是立即完成一个功能到测试阶段,测试阶段应该完全控制主动性,开发必须尊重测试人员的工作。
毕竟,软件开发是一项非常复杂的工作,为了避免过程错误,许多公司已经在寻找和确立完整的成熟编码规范。包括变量命名规则、分层设计、类和接口设计在内,直到最后的代码审查都很清楚。最重要的不是写代码,而是学会解决问题,做真正有价值的事情。
毫无疑问,软件工程开发是一项宝贵而富有挑战性的工作,不仅体现在工作中,许多优秀的软件产品对用户的生活产生了影响,这也是许多一线技术公司不可或缺的地位,而且还取决于那些做什么的人,如果开发者自己的技能不完美,那么就容易自我。
- 上一篇:读书APP是怎么做出来的??
- 下一篇:如何快速开发运营自己的生鲜超市app?
- 开发一个跑腿app需要多少钱 12-18
- 手机怎么开发游戏软件挣钱 12-19
- 安卓开发工具包怎么用 12-20
- 个人开发一个app需要多少钱 12-21
- 如何开发软件app需要多少钱 12-21