近年来,基于网络的软件和内部部署软件之间的界限已经相当模糊。几乎每个应用程序似乎都需要网络连接。这是否消除了网络开发员和软件开发员之间的大部分差异?
其实这些角色之间仍然有着非常重要的区别。让我们探讨网络开发员如何与软件开发员相匹配,以及这两个角色如何与软件工程师相比。认识这些差异可以帮助你专注于技术教育和职业抱负。
什么是网络开发员?
网络开发员构建和维护网站,网页和网络应用程序。随着互联网在过去几十年的发展,网络开发员的必要技能集迅速扩展,包括各种编程语言和框架(HTML/CSS,JavaScript 等)。
十多年前,网络从主要围绕桌面的范式扩展到基于移动的范式,要求网络开发员快速熟悉移动平台,如 iOS 和 Android(以及他们的内置浏览器等)。如果硅谷关于“Web3“最乐观的预测成为现实,网络开发员将需要掌握区块链、增强现实(AR)和虚拟现实(VR)等新一代概念。
作为学习所有这些技能(以及更多)的交换,网络开发仍然是一个有利可图的职业。根据 Lightcast(前身为 EmsiBurningGlass)收集并分析了来自全国各地的数百万份招聘信息,网络开发员的中位工资目前为 91,991 美元。该职业预计在未来 10 年内将增长 8.4%,目前填补空缺职位所需的时间为 40 天(对于技术职业来说相对较高)。
什么是软件开发员?
软件开发员最终关注的是软件产品的战术实现,无论是应用程序还是云服务,或者完全不同的东西。在日常工作中,他们编写和测试代码,消除错误,并迭代当前版本,以便为用户提供精良的产品。
软件开发可能涉及基于网络的技术,这取决于项目,但它不一定需要以任何方式触及网络。Lightcast估计软件开发人员的年薪中位数为 98,728 美元,随着经验和技能的正确组合,涨幅会更大。根据美国劳工统计局(BLS)的数据,软件开发人员的中位工资为 110,140 美元,使其成为技术领域收入较高的职位之一。
软件开发员与网络开发员有何相似之处?
这两种类型的角色都严重依赖于编码,这意味着要掌握编程语言、API和框架。除了技术技能外,网络开发员和软件开发员都必须具备“软技能”(同理心和沟通),以便更新团队成员和经理,并确保组织内其他利益相关者的认可和资源。
软件开发员与网络开发员有何不同?
根据他们所选择的专业,软件开发员可能会关注与网络开发员完全不同的一组技术。例如,许多软件开发员选择专注于构建和改进机器学习模型,这可能根本不涉及网络。其他软件开发员可能会致力于开发从未涉及网络浏览器的应用程序。
软件开发员和网络开发员与软件工程师有何不同?
值得注意的是,软件开发员和网络开发员与软件工程师有很大的不同,软件工程师的工作范围通常更广,他们的工作通常包括设计和实现整个系统,例如服务或网络。尽管所有这些角色都需要软技能和沟通,但软件工程通常需要相当强大的项目管理能力。
根据项目的不同,软件工程师实际上可能必须构建团队随后用于构建必要软件产品的工具和框架。这与网络开发员和软件开发员不同,他们通常依赖于其他人创建的工具、框架和语言。尽管网络开发员和软件开发员可能会升到更高的职位,但具有适当经验和技能组合的软件工程师也有能力迁移到完全不同的角色,包括项目经理、系统架构师、工程副总裁甚至CTO。
作者:Nick Kolakowski