0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一名高效程序员可以扮演的5种基本角色

工程师人生 来源:网络整理 作者:工程师吴畏 2018-11-09 16:17 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

我认为一名高效程序员可以扮演5种基本角色来高效地完成他/她的工作,这些角色以某种方式组合后更符合开发团队中的某些“人物”。你是其中的哪个(或哪些)角色?

编码者

当我们在低层次积极参与编写代码并解决问题时,我们所担任的就是这样一种角色。编码者在编程同时致力于其他小问题,但通常专注于某一项特定任务而非整体架构。如果一个非IT人员询问你工作,你告诉他们你是一名程序员,这就是他们想象中你整天所做的事。

调查者

我们想要理解一个系统需要如何工作时,我们就会担负起这种角色。调查者不会让事情有任何不明之处;她/他对事物的工作原理以及事物固定的行为方式的理解有着与生俱来的渴望。这种对代码工作原理理解的内在意愿使得调研者成为优秀的捉虫者。

理论家

在思考并解决抽象问题时,我们扮演这种角色。理论家善于将抽象问题分解成具体方案,并且善于构建系统架构,即使她/他不是非常善于实际用代码来实现这些方案和架构。

逻辑者

该角色允许我们有批判性和逻辑性地思考问题。逻辑者是这些角色中最善于分析的,他们会思考这段代码为何以某种方式运行,而不仅仅是代码如何运行。她/他能够以同等权重来考虑所有可能的情况,并做出无偏见的决定,而不允许他/她的未经证实的观点来影响他们的判断。

沟通者

该角色允许我们与其他人交流并解释复杂问题。沟通者能够理解深奥的技术思想和策略,并向技术和非技术人员解释清楚。她/他善于以多种方式沟通,无论是书写(例如评论或文档),还是口头表达(例如他/她的经理提出“这个按钮是干什么的?”)。

在任何特定时间,所有的程序员都担任过这五种角色,并且能够按照意愿在这些角色之间转换。然而,在我看来能够最大程度利用这五种角色的人非常少,实际上我们中大多数人会发现只有一种或两种固有角色最适合我们。

例 如,你可能是一位优秀的逻辑者但却不善沟通,正因为如此你也许能够确定一段代码如何进行优化却可能无法向你的老板解释为何这样做很重要。同样地,你也许是一位一流的编码者但是一位糟糕的理论家,因此你在开始编写代码解决问题前需要获取该问题的详细解释。这里有许多可能的组合,其中一些更为高效。

角色组合

何时可将这些基本角色组和成更加复杂的角色。也许你在职业生涯中已经遇到一个或多个扮演这些角色的人。在你的团队中,有没有一些这样的人?你是这些人中的一员吗?

编码者 + 逻辑者 + 理论家 = 优化者

优化者是能够快速有效提高代码质量的人,无论她/他是否编写了最初的代码。他们是查找哪里存在或可能引起性能问题的专家,因为他们是一流编码者,可能已经在一个框架或者另一个框架中实现过类似解决方案。当出现性能问题时,我们可以让优化者来帮我们修复问题。

编码者 + 调查者 + 沟通者 = 问题解决者

问题解决者是你在特定问题上需要帮助时可以求助的人。她擅长获取一个给定问题并将其细分成许多组成部分使它们更易于独立研究。问题解决者是专门帮助你修复bug和重构代码的人。

理论家 + 逻辑者 + 沟通者 = 架构师

架构师负责系统设计以满足规定的要求。为完成系统设计,她能够抽象思考并对比许多彼此不同的方案以寻得最优方案。她还要能够向实际实现设计的程序员解释她的架构。

上述角色源于一些角色的组合。我们可能还会发现一些效率低下的组合,通常是由于一个人忘记担任一种或多种角色而导致。

理论家 + 编码者 + 沟通者 – 逻辑者 = 空想架构师

空想架构师为解决方案设计了架构,但却忽视了他的团队要用代码来实际实现描述方案。他不能从长远角度考虑或公正分析他的设计,他所谓的“完美”设计,一旦编写后,往往最终陷入不可维护的混乱。

编码者 + 逻辑者 – 沟通者 = 象牙塔开发者

象牙塔开发者善于依据自己的理解编写代码。他得到一个问题后将自己锁在象牙塔内,直到他“完善”了自己的方案时才出现,并且从为他的代码编写文档。他也许很聪明,但他不能(或不愿)将自己的才华与任何人分享,所以他的代码艰涩难懂,难以维护。

编码者 + 理论家 – 调查者 – 逻辑者 = “我永远没错”的开发者

“我永远没错”的开发者不能或不愿批判性地分析她自己的代码,因为他坚信代码是完美的,不需进行测试或研究。他的代码永远不会出现bug,因此总是其他人的错误。

这些仅仅是一些我在职业生涯中遇到的组合。我见过各种不同水平的五种角色,这些角色组合深深吸引了我。你遇到哪些角色的组合?除这些外,是不是还有其他角色我遗漏了,可以加入到列表中?请在评论中告知!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码
    +关注

    关注

    6

    文章

    1015

    浏览量

    56645
  • 程序员
    +关注

    关注

    4

    文章

    955

    浏览量

    30784
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    奔赴热AI,码力全开!Talkweb House@1024程序员日系列活动圆满收官

    1024程序员日”系列活动至此划上了个圆满句号。本届1024程序员节以“AI构建世界,智能引领未来”为主题,广邀技术大咖、产业领袖、企业代表与全球开发者齐聚星城
    的头像 发表于 10-27 18:59 410次阅读
    奔赴热AI,码力全开!Talkweb House@1024<b class='flag-5'>程序员</b>日系列活动圆满收官

    东风本田CR-V荣获2025合资SUV质量体验第一名

    近日,2025年中国汽车产品质量表现研究(AQR)结果发布暨颁奖典礼圆满落幕。东风本田CR-V凭借卓越的质量表现,荣获“合资SUV质量体验第一名”的桂冠,这权威奖项不仅是对东风本田CR-V的肯定,更是对品牌在质量、品质等方面多年坚守“长期主义”的最佳褒奖。
    的头像 发表于 10-09 09:56 391次阅读

    润和软件稳居数字业务类解决方案市场第一名

    ”)凭借自身卓越的技术实力和创新能力,连续五年稳居数字业务类解决方案市场第一名;在细分领域:数字信贷系统解决方案子市场持续保持第一名,数字银行解决方案子市场跃升至第一名。同时,其在开放银行、交易银行、智能营销、智能风控、数据智能
    的头像 发表于 07-14 17:36 1122次阅读

    开关柜键顺控在智能配电运管系统扮演什么角色

    蜀瑞创新为大家科普在智能配电运管系统中,开关柜键顺控扮演着自动化操作优化、安全效率提升的核心角色
    的头像 发表于 05-08 09:54 585次阅读
    开关柜<b class='flag-5'>一</b>键顺控在智能配电运管系统<b class='flag-5'>扮演</b>什么<b class='flag-5'>角色</b>?

    如何成为一名合格的KaihongOS北向应用开发工程师

    :参加相关的培训、研讨会或会议,不断提升自己的技能。 10. 获得认证 专业认证:如果可能,获取相关的专业认证,这可以增加你的可信度和市场竞争力。 成为一名合格的北向应用开发工程师需要时间和努力,通过不断学习和实践,你将能够掌握所需的技能,并在这
    发表于 04-23 06:46

    如何成为一名嵌入式软件工程师?

    如何成为一名嵌入式软件工程师? 01明确岗位的角色与定位 嵌入式软件工程师主要负责开发运行在特定硬件平台上的软件,这些软件通常与硬件紧密集成,以实现特定的功能。 不仅需要精通编程语言(如C/C++
    发表于 04-15 14:37

    零基础入门:如何在树莓派上编写和运行Python程序

    一种非常有用的编程语言,其语法易于阅读,允许程序员使用比汇编、C或Java等语言更少的代码行。Python编程语言最初实际上是作为Linux的脚本语言而开发的。Py
    的头像 发表于 03-25 09:27 1510次阅读
    零基础入门:如何在树莓派上编写和运行Python<b class='flag-5'>程序</b>?

    如何成为一名合格的北向应用开发工程师

    在快速发展的软件开发领域,北向应用开发工程师是个专注于系统级应用开发的高需求职位。 以下是成为一名合格的KaihongOS北向应用开发工程师的建议。 1. 基础知识 编程语言 :学习至少一种编程
    发表于 01-10 10:00

    阿里云升级通义灵码AI程序员,全面上线

    和JetBrains IDEs两大主流开发环境,这意味着开发者可以在自己熟悉的开发平台上,无缝接入并使用这款AI工具。 除了支持主流开发环境外,通义灵码AI程序员还引入了多项新特性,如多文件代码修改和上下文感知等。这些特性使得AI能够更好地理解开发者的意图和需
    的头像 发表于 01-09 11:16 953次阅读

    TMS320C6000程序员指南

    电子发烧友网站提供《TMS320C6000程序员指南.pdf》资料免费下载
    发表于 12-24 17:19 2次下载
    TMS320C6000<b class='flag-5'>程序员</b>指南

    芯片在智能手机中扮演什么角色

    在智能手机中,芯片扮演着核心角色,它们是手机性能和功能的基础。以下是智能手机中些关键芯片的作用: 中央处理器(CPU):负责执行操作系统和应用程序的指令,处理手机的大部分计算任务。
    的头像 发表于 12-23 13:28 2415次阅读

    TMS320C55x DSP CPU程序员参考补充

    电子发烧友网站提供《TMS320C55x DSP CPU程序员参考补充.pdf》资料免费下载
    发表于 12-21 11:36 3次下载
    TMS320C55x DSP CPU<b class='flag-5'>程序员</b>参考补充

    加密算法在网络安全中扮演什么角色

    加密算法在网络安全中扮演着至关重要的角色,以下是它们的主要功能和作用: 保护数据机密性 : 加密算法确保只有授权用户才能访问敏感数据,防止数据在传输或存储过程中被未授权访问。 确保数据完整性
    的头像 发表于 12-17 16:00 864次阅读

    UCD3138A64/UCD3138128程序员手册

    电子发烧友网站提供《UCD3138A64/UCD3138128程序员手册.pdf》资料免费下载
    发表于 12-09 14:42 1次下载
    UCD3138A64/UCD3138128<b class='flag-5'>程序员</b>手册

    蔚来获得CACSI车型满意度和售后服务满意度第一名

    近日,由中国质量协会发布的2024年中国新能源汽车用户满意度测评结果(CACSI)出炉。蔚来ET5T荣获纯电动中型轿车满意度第一名,蔚来品牌荣获售后服务满意度第一名。蔚来已连续两年获得CACSI车型满意度和售后服务满意度第
    的头像 发表于 12-06 17:19 2418次阅读