除了工作,软件开发是无用职业吗?
发表时间:2023-10-03 16:02:35
文章来源:炫佑科技
浏览次数:179
菏泽炫佑科技
除了工作,软件开发是无用职业吗?
作者 | 丽莎
无论是医生、教师还是会计师,工作内容都很容易让人理解,而且这项工作能够在现实生活中持续发挥作用,但软件开发工程师这个职位确实很难描述。 纵观国内外程序员聚集的很多论坛,我们总能看到与“软件开发”相关的讨论。 甚至有不少网友质疑:除了工作,软件开发难道是一个无用的职业吗?
近年来,具有专业和培训背景的IT从业人员数量急剧增加,市场几近饱和,甚至不断出现裁员。 软件开发工程师似乎被置于裁员的*前线,声音很少,关注度也不高。 有时,他们可能会发出一些噪音。 坏消息。 如果你了解这个行业,你一定知道每一位软件开发工程师的成长都不容易。
Java 工程师、C++ 工程师和 PHP 工程师都属于一个类别。 真正的软件开发工程师需要的不仅仅是全栈工程师。 除了基本的编程语言(C、C++或Java)外,还需要了解数据库、AJAX等前沿技术,还应该涉猎网络工程和软件测试。
一般来说,软件开发工程师不仅是软件设计师、软件架构师,而且还是优秀的程序员。 他可以使用各种武器。 为什么标准高薪技术人才总是被诟病悲观无用?
软件开发是一个无用的职业吗?
国外一位软件工程师在和很多同事聊天时总结了一句话:对于大多数人来说,软件工程开发是除了工作之外无用的职业之一。 这个技能在生活中几乎用不到。 不少网友在帖子中调侃称,自己还可以修理电脑、重装系统、清理电脑垃圾等。 据调查,大多数软件开发工程师不会向家人详细介绍自己的工作,除非有人打听。 有的人因为介绍太详细,被家人拉着去修电脑。
虽然多是嘲讽,但也传递出一些悲伤。 事实上,软件开发工程师在产品生命周期中扮演着非常重要的角色,涵盖需求、设计、开发、修改、发布等各个方面。 生活并不像传说中那样无趣无用。 很多软件开发工程师擅长通过编码来解决生活问题,比如编写一些软件或者小程序来自动运行一些重复且复杂的任务; 为零售店编写网站或APP,方便用户购买商品; 编写家庭控制程序,达到智能化的目的; 写一个简单的日程提醒软件,避免忘记重要的约会……有业内人士表示,是否有用取决于用户是否真正需要。 只要需要,软件开发工程师的价值就在。
此外,在谷歌、苹果等国外一线科技公司工作的软件开发工程师的薪资水平已经达到年薪100万元左右。 相比之下,我国2010年软件出口规模达到215亿元,软件从业人员达到72万人。 尽管如此,人才缺口仍然巨大,尤其是高素质软件工程人才,极其短缺。
所以,这个位置并不是没有用软件开发,而是顶尖人才还没有到位。
软件质量是否因开发而变得越来越差?
一个优秀的软件开发工程师必须要对自己的产品负责。 如今,一部手机就可以解决吃饭、休闲、旅游、娱乐等多种需求。 只需几个APP即可搞定一切。 软件产品越来越多,但真正能算得上颠覆性创新的却很少。 软件的质量似乎越来越差。 开发团队是否应该为此承担责任?
在V2EX上,一位开发者深夜发表了一篇题为《底层开发的性价比越来越低,基础软件质量会越来越差》的帖子。 他说,这句话的前半句是当前的事实,后半句是根据事实对未来的推断。 也就是说,未来基础软件的质量会越来越差。 从哪儿开始?
他认为,今天的年轻人中只有一小部分愿意维护和学习前人花费几十年时间整理的数千万行代码。 基础软件补丁质量逐年下降。 大多数年轻人不愿意当“平行世界的守护者”,更认同“不重新发明轮子”的说法。
随着市场要求产品开发和迭代周期越来越短,各种敏捷开发工具应运而生。 与过去相比,同样的功能只需少量的具体代码即可实现,软件开发工程师花费的时间更少。 确实是少了,但是对性能和用户体验的重视程度也在下降,这也导致了大量的软件涌入市场,但整体质量却在下降。
当然,很多奋战在一线的底层开发者也对此表示不满。 他们认为,中国仍然有很多开发者看重基础软件的质量,愿意对前人编写的底层代码进行更新和迭代。 然而,这个群体的发言权太少了。 外界听到的声音太微弱了。
当然,也有网友认为,这并不完全是软件工程师的问题。 很多公司在软件开发过程中经常会改变需求,*终开发出来的产品变成了一堆无用的代码; 工期一再压缩,为了赶时间,大多数软件开发工程师别无选择,只能节省设计时间。 当然,他们没有时间评估项目的效益和成本。 其后果往往是非常痛苦的修改和更新。 不同开发人员之间的协作还可能影响系统的其他功能,导致整个软件遭到破坏。 开发过程充满漏洞。
因此,软件的质量不能仅仅依靠软件开发工程师来解决。 还涉及到多人协作、部门配合等问题,把所有责任都推到工程师身上,有点蛋疼。
如何避免无用代码的堆积?
当曾经向往的职业日复一日变成一堆无用的代码时,开发者多少有些泄气。 虽然他们不能保证整个产品的质量,但至少可以在代码层面下一些功夫。 无用代码堆积的现象在日常软件开发中非常常见。 对于需求频繁修改的问题,根本原因是要弄清楚软件开发的目的是什么。 代码是否有用的*终决定者应该是用户。 如果一段代码有功能,满足用户需求,有商业价值,那么它就是有用的。
在软件开发过程中除了工作,软件开发是无用职业吗?,需求变更、代码修改是很正常的,但这种不确定性需要在一定范围内。 对此,*好的解决方案可能是迭代开发,也称为迭代增量开发,它将整个开发周期分解为几个时间段,每隔固定的时间段对软件进行一次小迭代,每隔几次就进行一次迭代。 全面测试和大版本更新,并对开发结果进行质量审查。 这个过程中*重要的是倾听*终用户的意见,以便及时调整和优化,避免无效的需求,特别是决策者的决策。
开发前,技术负责人必须准备相应的文档,确定工程师之间的分工,特别是需要协同完成的部分。 另外,团队尽量抽出时间和精力来编写代码,旨在降低代码的复杂度。 如果不同工程师之间的代码经常互相影响,可以考虑让这样的程序员负责独立开发模块,以减少对整个项目的影响。 。
长期以来,检测在国内并没有得到足够的重视。 一个测试团队至少要有白盒测试、效率测试、单元测试等专职人员,不建议所有功能完成后才开始测试。 *好完成一项功能。 立即交给测试。 测试人员在测试阶段要充分发挥主动性,开发也要尊重测试人员的工作。
归根结底,软件开发是一项非常复杂的工作。 为了避免流程错误,很多公司探索建立了成熟完整的代码编写规范,包括变量命名规则、层次设计、类和接口设计,到*终的代码我们都知道,*重要的是不能写代码,而是学会解决问题,做真正有价值的事情。
毫无疑问,软件工程开发是一项有价值且富有挑战性的工作。 这种价值不仅仅体现在工作上。 很多优秀的软件产品已经影响了用户的生活,这对于很多一线科技公司来说也是不可或缺的。 职位,但它的价值有多大,取决于做这个职位的人。 如果开发者自身技术不熟练,很容易弄巧成拙。
参考链接:
炫佑科技专注互联网开发小程序开发-app开发-软件开发-网站制作等