主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
将当前的后端开发模式与90年代末的后端开发模式进行比较,可以发现一个重大变化。虽然软件开发职业的进入门槛已经降低,但现在这一角色更加复杂,开发人员面临着更广泛的挑战和期望。
如今,工程师努力构建更大、更复杂的系统,并且在软件开发的各个方面面临大量选择。从哪种语言、工具、平台、框架等。哪种解决方案、架构风格、设计模式等。意识到。
设计强大、可扩展和安全的分布式系统的需求增加了复杂性。该系统可以支持数千名并发用户,通常具有近乎完美的可用性,并符合严格的数据处理和安全法规。
本文深入研究了后端开发在过去20年中的演变,并揭示了导致其困难的因素。
更高的用户期望
今天的计算机具有指数级更大的内存和处理能力,以及其他以前无法想象的功能。这些技术飞跃使得开发更复杂和更强大的软件成为可能。
随着软件功能的增强,用户的期望值也随之提高。
现代用户需要的软件不仅可以在全球范围内访问,还可以提供无缝的跨平台体验、响应式设计以及实时更新和协作功能。他们期望卓越的性能、高可用性和持续更新,以通过新功能和增强功能来满足不断变化的需求。
这种变化要求开发人员使用一系列技术来满足这些期望,从而使后端开发更具挑战性。
规模和系统复杂性的增加
我们今天解决的软件问题的复杂性远远超过20年前。我们现在正在安排计算机网络,每秒处理数千笔交易,并扩展系统以容纳数百万用户。
开发人员现在需要知道如何处理大量多语言代码库,实现分布式系统以及处理多线程和多处理的复杂性。此外,有效抽象和依赖管理的必要性进一步使开发过程复杂化。
对于复杂的分布式系统,抽象对于开发人员降低复杂性、隐藏不必要的细节和专注于更高级别的功能非常重要。
广泛使用抽象的缺点是调试更加困难,对系统的全面理解更具挑战性,尤其是由于传统系统可视化工具的局限性。
此外,API的激增需要细致的依赖性管理,以防止创建复杂、脆弱或不透明的系统,使其难以理解、维护或扩展。
尽管许多开发人员仍然使用白板或非交互式图表工具来绘制他们的系统,但最近出现了更动态和自动化的工具,这些工具可以提供对系统架构的实时洞察。
这些变化和许多其他变化(例如,增加的安全性要求、缓存的引入、测试覆盖率的增加、异常处理、编译器优化等)。)强调现代后端开发日益增加的复杂性。
单个程序员可以监管整个系统的时代早已过去,取而代之的是对大型分布式团队以及广泛协作、文档和组织技能的需求。
压倒性的选择
随着技术的快速发展,开发人员现在必须掌握庞大且不断增长的编程语言、框架、库、工具和平台生态系统。
这可能会导致决策瘫痪,反映出选择的悖论:认为如果我们为开发人员提供更多选择,他们就会更快乐、更有效率的想法是错误的。无限的选择在理论上比在实践中更有吸引力。
最新的CNCF报告记录了技术领域的许多选择——显示了数百种选择!
尽管在为解决方案选择最佳技术或工具方面一定程度的自主权很重要,但过多的选择可能会导致超负荷并最终使人们不堪重负或导致延迟或不作为。
解决方案是在给予开发人员做出有意义选择的自由和规划选项以防止选择过载之间取得平衡。通过提供经过严格审查的、以目的为导向的建议并培养知识共享和最佳实践的文化,我们使开发人员能够自信而高效地在广阔的技术领域中导航。
不同的技能组合
云计算的出现给后端开发人员带来了额外的复杂性,这要求他们精通在云环境中部署和管理应用程序,了解容器化并选择适当的编排工具。
除了技术知识之外,现代后端开发人员特别关注的技能有:
管理遗留软件并减少架构技术债务。如今,开发商从事的大多数项目都是“棕色地带”。知道如何调整和开发架构以适应不可预见的用例,同时管理(并可能减少)架构的技术债务是一项宝贵的技能。
通过选择正确的技术来组装软件。随着软件即服务(SaaS)和开源软件的爆炸性增长,软件开发已经转向类似的组装方法。后端工程师需要仔细选择和组合组件、库和框架,以创建一个完整的系统,其中软件的每个部分都可以无缝工作。
设计可扩展、高性能和安全的系统架构。后端软件工程师也是设计师。在创建可扩展和可维护的应用程序之前,他们必须对软件设计原则有深刻的理解。
跨团队沟通。分布式系统是由许多不同的利益相关者组成的大型团队构建的。优秀工程师的标志是能够有效沟通,促进所有利益相关者的共同理解和高效决策。
结论
回顾过去二十年终端开发的发展,很明显这个角色已经从一个相对简单的服务器端编程任务变成了一个需要广泛技能的多学科课题。
满足更高的用户期望、管理系统的规模和复杂性、应对大量选择和获得多样化技能等挑战凸显了现代后端开发的复杂性。
尽管进入软件开发领域从未如此简单,但作为一名优秀的后端开发人员,现在需要适应更复杂和快速发展的技术环境。在系统架构、云服务、容器化和编排工具方面的专业知识,以及跨团队有效沟通所需的软技能,仍然是在这个充满活力的领域取得成功的关键。
这几篇文章你可能也喜欢:
- 暂无相关推荐文章
本文由主机参考刊发,转载请注明:作为后端开发人员,现在感觉比20年前更难了。 https://zhujicankao.com/107537.html
评论前必须登录!
注册