程序员和架构师的区别(职场职业开发人员和架构师间的区别是什么NCube的观点)

大多数人认为程序员(软件开发人员)和软件工程师或软件架构师是一样的。尽管这些差异在大公司中是显著的,但大多数人认为这就是语义,而在小公司中他们是正确的。 还有一个问题是高级(senio...

「职场职业」开发人员和架构师间的区别是什么-NCube的观点

大多数人认为程序员(软件开发人员)和软件工程师或软件架构师是一样的。尽管这些差异在大公司中是显著的,但大多数人认为这就是语义,而在小公司中他们是正确的。

还有一个问题是高级(senior )软件工程师和首席(principal)软件工程师,或者员工(staff )软件工程师和首席(principal)软件工程师之间有什么区别。

主要区别在于首席(principal )工程师的水平略高于高级工程师,高级首席工程师有能力从事工程开发的前沿工作,被视为所在领域的领导者。

区别之一是首席(principal )工程师向高级管理层报告,而高级(senior )工程师则向所在部门的领导报告。首席工程师是专家,他们的成功直接关系到他们实验室的形象,因此他们可以影响公司的形象和声誉。虽然高级工程师以其技术专长和工程理论的应用而闻名,但首席工程师与他们领域内的开拓性开发有关,可以证明理论或开发新理论。

「职场职业」开发人员和架构师间的区别是什么-NCube的观点

大公司和来这些角色的正式的方法软件架构师

软件架构师是一个软件开发专家,他做出高级设计选择,并指定技术标准,包括软件编码标准、工具和平台。

--------维基百科

他拥有所有来自较低职位的经验,对做某事的最佳方式有着清晰的见解。

通常,软件架构师,例如,Go开发人员是经验丰富的人,他们了解如何构建好的软件。他得到了软件需求,并给出了如何得到最终解决方案的图表。也许他甚至会编写一些代码作为软件工程师和开发人员使用的基础。

软件架构师有时甚至参与硬件环境架构的设计。但是,大多数情况下,他们只关注代码的方法论。

想象一下建造一座房子;简单地说,软件架构师就是选择房子的形状和材料并绘制房子蓝图的人。

软件架构师的一些职责是:

向涉众报告软件需求设计文档和高级产品规范为软件工程师和软件开发人员提供架构蓝图,他们应该遵循遵守时间表和截止日期测试最终产品,以确保其符合要求,并确保其功能完整。

成为软件架构师所需的教育和经验:

计算机科学硕士学位在软件开发和项目管理方面有丰富的经验领导能力和组织能力有分析的心态,能随时看到细节和大局较强的沟通和表达能力5-8年软件工程师专业经验。软件工程师

软件工程师是将软件工程原理应用于计算机软件的设计、开发、维护、测试和评估的人。

维基百科

软件工程师利用算法原理解决现实世界中的问题,并与上面的人进行协调。

一个软件工程师将拥有高效开发软件的专业知识。他们知道解决每个问题的正式方法是什么,并一步一步地遵循。这样,他们就可以关注可重用性、可维护性和正确性。

当遇到问题时,软件工程师不仅会“让它工作”,相反,他会寻找最佳实践,使解决方案高效并可维护以扩展。

在美国,软件工程师的平均年薪是106044美元。

简单地说,是指一个人阅读了房子的设计图,却决定了建造房子的最佳实践。

软件工程师的一些职责是:

通过评估分析、问题定义、需求、解决方案开发和建议的解决方案来确定操作可行性。调查问题区域遵循软件开发生命周期保密信息通过设计、开发和安装软件解决方案来开发信息系统。

成为软件工程师所需的教育和经验:

计算机科学学士或理学硕士五年专业软件开发经验应用程序体系结构和设计模式在整个软件开发生命周期中担任技术领导的经验具有开发分布式/可扩展系统和大容量事务应用程序的经验。什么是首席(Principal )软件工程师?

一个首席(Principal )软件工程师通常是一个非常高级的个人贡献者。他们可以通过自己的经验和资历来行使技术领导权。他们的项目对于一个10人的团队来说通常太大了。他们的目标更一般,如“提高现金流”或“规模100-1000倍”。通常,在高级工程师之后,您会花更少的时间编写代码,而更多的时间做不同的事情,如改进流程、架构监督、指导新的工程师以及与其他业务部门的接口。

你可能会问,在美国,首席软件工程师的平均年薪是152929美元。

软件架构师vs软件工程师?

软件架构师为不同的业务和技术需求创建了一个计划。软件工程师阅读由软件架构师创建的计划或设计,并开始用最适合计划的语言来实现。

-------------------------------------------------Quora.com网站

软件开发人员(尤其是在更非正式的上下文中)有时被称为程序员,是创建计算机软件的人。计算机程序员一词可以指计算机某一领域的专家,也可以指为多种软件编写代码的多面手。

-------------------------------------------------维基百科

软件开发人员做什么?

软件开发人员或程序员(如乌克兰开发人员)只是简单地编写代码。他理解逻辑、循环、函数和其他基本事物的概念。他协助开发、实施和管理基于技术的业务解决方案。他编码、测试并实现配置更改,以满足功能和技术要求。

简单地说,他在装修房子的时候钉钉子,在装修的时候拆掉墙壁。

软件开发人员的一些职责是:

研究、设计、实施和管理软件程序测试和评估新程序确定现有程序中的修改区域,并随后制定这些修改编写和实现高效的代码确定操作实用性制定质量保证程序部署软件工具、过程和度量维护和升级现有系统培训用户与其他开发人员、用户体验设计师、业务和系统分析师密切合作。

成为软件开发人员所需的教育和经验:

计算机科学学士学位(不一定需要学位)学位学习的编程经验善于分析的头脑商业和商业意识业务流程分析书面和口头沟通能力注意细节快速学习新技术的能力。什么是首席软件开发人员(Principal Software Developer)?

一个首席(principal )开发者是一种专家,一个工匠而不是一个熟练工。最终我认为这个角色是关于你如何编写代码,你使用的工具,以及你用来编写软件的工作实践。紧跟行业潮流,寻找灵感的大玩家:亚马逊、微软、谷歌、Github、开源项目。尽早使用和更新尖端技术,不要害怕尝试尖端技术。

在美国,主要软件开发人员的平均年薪为127761美元。此时,您可能需要考虑离岸外包的优点和缺点。

「职场职业」开发人员和架构师间的区别是什么-NCube的观点

小公司及其员工的适应性

在规模较小的公司,由于预算紧张,员工往往被要求“戴多顶帽子”,有时一个人就拥有这三种头衔。

如果你是一个企业主,也许你就是这样做的人,或者你应该这样做。在你做的事情上没有什么不同,但是在你被感知的方式上有很大的不同。

在第一次与客户供应商接触时,作为企业主,您可以介绍自己是软件架构师。他们会觉得自己很有价值,因为这样一个“级别”很高的人在和他们交谈,而且任何决定都不能被更高级别的人拒绝。所有的工作做得更快,或有时商定的取消工作做得更快。他们会知道你是老板,那里的决定是最终的。

与您的团队成员一起,您可以自我介绍为团队犯下的所有愚蠢错误负责的人(软件工程师)。你将减轻他们的压力,并建议其他人做出正确的决定。办公室里需要有一种幽默感,这样才能使身心放松。通过与你合作,他们将了解你的实际技能。

如果有人叫你编码员,你会生气吗?我当然希望你不会。这意味着他们认为你知道如何编码,并将把你视为朋友、盟友,而不是处于公司高层、与程序员必须面对的“现实世界”脱节的外星人。

一个人可以在一个给定的时间内完成所有这些操作模式。根据任务的重要性和完成任务的人的熟练程度,他们可能更喜欢一个头衔。

此外,没有任何限制,一个高级人员不能履行所有这三个角色。一旦架构工作完成,软件架构师就可以作为软件工程师参与工作。为什么不呢?这是个优势!他知道人们对他的期望是什么,他尽一切努力来实现这一点。

总结

这三种角色之间最显著的区别是决策的影响。

按照重要性的顺序,在架构级别做出的决策是至关重要的,如果发生错误,通常很难做出改变,而且代价高昂。在复杂系统中,架构错误可能会花费数年的时间。一个设计错误可能需要几次冲刺。一旦发现编程错误,就可以立即修复。

本文由【超级工程师】编译,全网同号

本文:http://jiagoushi.pro/node/1461

(此处已添加圈子卡片,请到今日头条客户端查看)

  • 发表于 2022-10-29 23:26:19
  • 阅读 ( 369 )
  • 分类:科技

0 条评论

请先 登录 后评论
浏览:76
浏览:76

619 篇文章

你可能感兴趣的文章

相关问题